Подтвердить что ты не робот

Для каких сюрпризов мне нужно подготовиться, если я переключусь с Sun JDK на OpenJDK?

Если бы я переключился с Sun JDK на OpenJDK, с каким сюрпризом я должен подготовиться?

Что часто происходит неправильно и насколько это сложно?

Конечно, каждое приложение может иметь свои индивидуальные проблемы, но я ищу классы проблем, с которыми многие люди уже сталкивались при переключении JDK.

4b9b3361

Ответ 1

Маловероятно, что с OpenJDK что-то пойдет не так. К настоящему времени он считается 100% совместимым. Но я думаю, что хорошо знать, какие части пришлось переписать и поэтому не используют тот же код, что и SunJDK.

запись в Википедии имеет хороший обзор:

По состоянию на май 2008 года единственная часть библиотеки классов, которая остается частной и закрытой (4% по состоянию на май 2007 года для OpenJDK 7 и менее 1% по состоянию на май 2008 года и OpenJDK 6) - это реализация SNMP.

С момента выпуска в мае 2007 года Sun Microsystems, с помощью сообщества, выпустила как бесплатное программное обеспечение с открытым исходным кодом или заменила бесплатные альтернативы с открытым исходным кодом почти на весь обремененный код:

  • Все звуковые коды двигателя, включая программный синтезатор, были выпущены как Open-source. Синтезатор с закрытым исходным кодом был заменен новым синтезатором, разработанным специально для OpenJDK под названием Gervill,

  • Все классы криптографии, используемые в библиотеке Class, были выпущены как Open-source,

  • Код, который масштабирует и растеризует шрифты, был заменен на FreeType

  • Собственная система управления цветом была заменена на LittleCMS. В JDK есть подключаемый слой, так что коммерческая версия может использовать старую систему управления цветом, а OpenJDK может использовать LittleCMS.

  • Среда сглаживания графического растеризатора заменена визуализатором рендеринга с открытым исходным кодом, используемым в проекте phoneME. Этот код полностью функциональный, но все же нуждается в некоторых улучшениях производительности,

  • Плагин JavaScript был открыт (исходный JavaScript-движок Rhino был открыт с самого начала).

Ответ 2

Как я знаю, шрифты будут выглядеть искаженными, Sun пришлось удалить оригинальные из OpenJDK, так как они не являются "открытым исходным кодом", а JVM будет использовать некоторые значения по умолчанию, которые не так хороши...

Ответ 3

Поскольку OpenJDK - это проект Sun, основанный на исходном источнике Java, я не ожидал бы многих проблем. Единственной областью, где все может сломаться, является код, который нужно заменить (потому что он не может быть выпущен под GPL) или изменения из-за новых функций (но они должны быть почти такими же, как в официальном JDK).

Ответ 4

Используйте сборку OpenJDK, известную для передачи TCK, чтобы свести к минимуму неожиданности.

Ответ 5

Некоторые из пользовательских интерфейсов swing не совпадали полностью (у металла были прокладки, которые были отключены, как можно заметить). Обратите внимание, что это было 8 месяцев назад.

Ответ 6

OpenJDK (IcedTea) апплеты под Linux - это ОСНОВНАЯ БОЯ. Я уже несколько часов борюсь с удаленной отладкой куска довольно ржавого кода. Официальная документация о том, как подключиться к апплету в браузере, просто не работает для меня. По умолчанию нет java-консоли, BTW. Я серьезно рассматриваю возможность тиражирования конфигурации апплета и использования JDK встроенного средства просмотра апплетов вместо того, чтобы пытаться отладить размещенную в браузере JVM.

UPD. Я не совсем уверен, что OpenJDK не имеет самого браузера. Возможно, это изменилось недавно.

Ответ 7

OpenJDK более безопасен, чем двоичные файлы Oracle из-за IcedTea.