Рекомендуется обновить исходный код Java с 1.4.2 до 1.6.0_10?(пропускаем 1,5)

StackOverflow https://stackoverflow.com/questions/1466887

Вопрос

В нашем рабочем продукте, предназначенном только для настольных компьютеров, до сих пор использовался JDK 1.4.2 (также 1.4.2 JRE поставляется вместе с продуктом).Я пытаюсь убедить руководство позволить нам перейти на более новую версию, чтобы получить преимущества в производительности, API/функциях и комфорте для разработчиков.

Поскольку версия 1.5 достигла EOL-перехода, я подумываю об обновлении напрямую до 1.6.0_10 (выбрано обновление 10, поскольку оно является основным).С точки зрения кода, все ошибки компиляции — это просто имена переменных, называемые enum который я переименовал, и продукт работает нормально.

Вопрос в том

  • Является ли это обновление рекомендованным/подходящим, т.е.пропускаем 1,5?есть ли подвохи
  • Если да, то следует ли мне обновиться до 1.6u10 или последней доступной версии 1.6?

Спасибо

Это было полезно?

Решение

Я бы сказал, что если вы собираетесь выполнить обновление, выберите последнее обновление.На самом деле вы можете получить некоторый бесплатный прирост производительности с версией 1.6. Я знаю, что с версии 1.4 были сделаны некоторые улучшения JVM.

Другие советы

В целом Java довольно хороша в плане обратной совместимости.

На случай, если возникнет необходимость узнать, что изменилось в платформе Java с 1.4 по 6, ниже приводится список изменений, которые Sun перечислила для каждого выпуска:

Всегда существует вероятность того, что какой-либо конкретный выпуск может содержать затрагивающую вас ошибку или что ваш код зависит от какого-то неопределенного поведения стандартных классов API, которое с тех пор изменилось, но в целом обновление до последней версии Java рекомендуется и является относительно безболезненным.Разумеется, вам следует тщательно протестировать продукт на новой JRE.

Это Java, а не грязный язык сценариев, который меняет синтаксис, грамматику и API в каждом незначительном выпуске.

Обратная совместимость — одна из основных особенностей Java.

Только что сделал (приложение Swing) с 1.3 на 1.6 :)

Работает (согласно тестированию UAT) отлично (за исключением некоторых изменений, необходимых для пользовательского интерфейса awt).PTE показывает некоторое снижение потребления памяти (незначительное), а серверная часть работает несколько быстрее (я склонен думать, что это связано с улучшениями GC и string intern()).

В любом случае это придётся делать из-за EOL, а 1.6 мало чем отличается от 1.5.Так что я бы точно сказал 1,6.

Является ли это обновление рекомендованным/подходящим, т.е.пропускаем 1,5?Есть ли подвохи

Я думаю, что было бы неплохо пропустить 1.5 и сразу перейти к 1.6, и нет абсолютно никаких требований, которые заставляли бы вас проходить через 1.5.

Если да, то следует ли мне обновиться до 1.6u10 или последней доступной версии 1.6?

Я бы выбрал самое последнее.На самом деле, я думаю, что 1.6u16 - это текущий основной выпуск.

Я бы рекомендовал обновиться до Java 6 выше 1.5.Поскольку уже существует необходимость протестировать ваше приложение с новой JRE независимо от выбранной вами версии, вы также можете воспользоваться этой возможностью.Вместо того, чтобы дважды увеличивать обновление (один раз для версии 1,5, а затем для версии 1,6) и дважды требовать цикла тестирования, вы можете отказаться от него один раз.Пока вы это делаете, обновление до самой последней доступной версии будет вполне приемлемым.

Недавно мы обновили наше приложение Swing (много перетаскиваний) с версии 1.4 до 1.6, чтобы получить возможности одновременной работы, и не заметили ни одной проблемы, связанной с самой Java.Мы также хотим перейти к внешнему виду Nimbus, поскольку внешний вид Windows не похож на Windows.

Отличительная особенность, которую вы должны показать своему начальнику, — это то, как подключиться к приложению с помощью jvisualvm для анализа работающей программы в случае возникновения проблем.

Приложения Swing определенно могут иметь проблемы от версии к версии.У нас были проблемы при каждом обновлении (с 1.3 по 1,4 и с 1,4 по 1,5, а мы застряли в 1,6 — и больше проблем).Однако нет смысла тратить время на 1.5.Перейдите сразу к 1.6, последней версии, вы не сэкономите время, перейдя на 1.5, вы просто потратите кучу времени на тестирование 1.5, а затем повторите это в какой-то момент в будущем для 1.6.Гораздо экономичнее перейти на 1,6.

Множество мелких изменений исправляют проблемы, поэтому придерживаться версии 1.6_u10 — это всего лишь приглашение к проблемам.u10 был большим обновлением (в отличие от названия) в отношении Swing, и в нескольких последующих выпусках были устранены проблемы, которые стали известны после выпуска u10.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top