Со временем JVM от Sun и JIT стали довольно умными. Вещи, которые раньше были общеизвестными, как необходимая микро-оптимизация, больше не нужны, потому что вас заботят о вас.Smart JVM и JIT Micro-Optimizations
Например, это было так, что вы должны отметить все возможные классы как окончательные, поэтому JVM строит как можно больше кода. Однако теперь JIT знает, является ли ваш класс окончательным, на основе того, какие классы загружаются во время выполнения, и если вы загружаете класс, чтобы сделать исходный один нефинансовым, он не включает методы и отменяет его как окончательный.
Какие еще умные микрооптимизации делают JVM или JIT для вас?
EDIT: Я создал это сообщество wiki; Я бы хотел собрать их со временем.
хорошо java может быть умным, но он по-прежнему использует много ресурсов – Roch
@mnml это меньше, чем мнение популярного. чтобы создать объект, я думаю, что он имеет дело с чем-то вроде двух или трех инструкций. да что-то вроде C++, как правило, быстрее, но «ресурсы» - это не только процессор и память; это тоже человеческие часы. оборудование дешево, люди дороги. в долгосрочной перспективе java часто выигрывает в производительности, потому что его JIT поражает и оптимизирует приложение больше, чем может когда-либо мечтать о приложениях на C++. –
@ Alex, я хотел бы дать вам репутацию, чтобы указать, что люди - это ресурсы. Как страшно, как верить в это. Ваше время в качестве сотрудника часто будет стоить компании больше денег, чем скажем, чтобы получить дополнительный терабайт на жестком диске или улучшить процессор в веб-браузере. –