Переход с Java 1.4 на Java 6 - PullRequest
       41

Переход с Java 1.4 на Java 6

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

У меня есть некоторые корпоративные приложения, работающие на Java 1.4. В основном они вызывают хранимые процедуры в БД, анализируют XML-файлы (не более нескольких мегабайт), читают и записывают с диска и на диск. У нас есть требование, при котором теперь мы должны перенести эти приложения на Java 6 (никаких изменений кода делать не нужно).

Мои вопросы:

  • Если я не перекомпилирую свои приложения под Java 6 и просто запускаю их вместе с ним, будет ли он работать нормально (я знаю, что они «должны»)? Но если кто-то думает иначе, не могли бы вы поделиться своими мыслями, пожалуйста?
  • Более важный вопрос - повлияет ли это на производительность? Например, приложение скомпилировано на 1.4 и работает на 1.6, а приложение скомпилировано и работает на 1.6. Собирается ли 1.6 выполнить какую-либо оптимизацию байт-кода для того же старого куска кода по сравнению с 1.4?

Большое спасибо JS

Ответы [ 3 ]

2 голосов
/ 14 апреля 2010

Для совместимости сборки от 1,4 до 1,6 Проверьте перечислимые переменные - это новое зарезервированное слово

2 голосов
/ 14 апреля 2010

Это на самом деле не проблема компиляции, но вы можете столкнуться с некоторыми проблемами при интеграции некоторых сторонних компонентов в JDK между 1.4 и 6. У меня были проблемы с некоторыми компонентами, связанными с XML и WS в прошлом, например, xerces / xalan.

Даже там, где пакеты / пространства имен изменились (и, следовательно, ваши существующие компоненты, вероятно, будут продолжать использоваться вашим кодом), некоторые фоновые события автообнаружения происходят в фоновом режиме, что может привести к конфликту несовместимых версий этих компонентов.

Использование одобренного classloader / folder может решить любые проблемы без особых усилий.

Мой совет - если вы еще этого не сделали, попробуйте как можно скорее и посмотрите.

1 голос
/ 14 апреля 2010

Оптимизируется не байт-код, формат байт-кода не изменился с Java 1 (!). JVM оптимизирует те части кода, в которых анализ времени выполнения говорит, что это целесообразно, но в собственном коде, скомпилированном JIT. И да, шаг от 4 до 6 должен привести к повышению производительности - за эти 4,5 года виртуальные машины прошли длинный путь.

...