Производительность Java 1.4 Class на 1.5 JVM - PullRequest
1 голос
/ 08 апреля 2010

Переключение с JVM 1.4 на 1.5 имеет преимущества в производительности согласно примечаниям к выпуску. http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#performance

У нас есть скомпилированные классы Java 1.4, которые выполняются на 1.5 JVM, не повредит ли эти классы производительности, потому что они были скомпилированы с использованием 1.4?

Ответы [ 2 ]

3 голосов
/ 08 апреля 2010

Многие из этих функций "синтаксический сахар". Это означает, что у языка есть новые функции, но он компилируется в тот же байт-код. Так что нет, вы не должны страдать в производительности. Тот же байт-код на обновленной виртуальной машине.

"J2SE 5.0 полностью совместим с предыдущие версии Java 2 Платформа. Почти все существующие программы должен работать на J2SE 5.0 без модификация. Тем не менее, есть некоторые второстепенный потенциальный источник и бинарный несовместимости в JRE и JDK которые связаны с редкими обстоятельствами и «угловые случаи», которые мы документируем здесь для полноты. "-Sun / Oracle

http://java.sun.com/j2se/1.5.0/compatibility.html#incompatibilities

Кроме того, в зависимости от того, кто закодировал ваши классы 1.4, они могли иметь глубокие знания о конкретной реализации VM / gc и оптимизированы для этого. Маловероятно, но кто знает.
Лучший способ узнать, что хост выполняет, - это запустить и профилировать. «Мера, не угадай.»

0 голосов
/ 20 апреля 2010

На самом деле строковые операции будут быстрее в классах, скомпилированных для 1.5, потому что класс StringBuilder может использоваться вместо StringBuffer. StringBuilder - это несинхронизированная версия StringBuffer, представленная в версии 1.5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...