x64 - java скачать




Плохая практика использования собственных Java-классов Sun? (5)

Предупреждение о компиляторе отображает предупреждения, если вы используете собственные классы Java Sun. Я считаю, что использовать эти классы в целом неплохо. Я читал это где-то. Однако, помимо предупреждений, есть ли какие-либо фундаментальные причины, почему вы не должны их использовать?



Да, потому что никто не гарантирует, что эти классы или API будут одинаковыми со следующей версией Java, и я уверен, что не гарантировано, что эти классы доступны в версиях Java от других поставщиков.

Таким образом, вы связываете свой код с специальной версией Java и теряете хотя бы переносимость.


Недавно у меня был случай, который показал реальную проблему, с которой вы можете столкнуться, когда используете эти классы: у нас был код, который бы не компилировался, потому что метод, который он использовал на солнце. * Класс просто не существовал в OpenJDK на Ubuntu. Поэтому я предполагаю, что при использовании этих классов вы больше не можете говорить такие вещи, как «это работает с Java 5», потому что он будет работать только на определенной реализации Java.


Попробуйте запустить код с помощью JVM, отличного от Sun, и посмотрите, что произойдет ...

(Ваш код не будет работать с исключением ClassNotFound)


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

Кроме того, реализация Java Sun не является единственной! Ваш код не сможет переноситься в JVM от других поставщиков, таких как Oracle / BEA и IBM.





sun