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

Что находится внутри пакета com.sun?

Как javax содержит расширения, что должен содержать пакет com.sun?

4b9b3361

Ответ 1

Он содержит Sun Oracle эталонные реализации стандартных API Java (EE). Среди других Mojarra (эталонная реализация JSF Oracle) и Glassfish (эталонная реализация Java EE Oracle) используют этот пакет. Желательно не использовать эти классы непосредственно в вашем коде, так как это сделает ваш код тесно связанным с реализацией. Кодирование по API java(x) напрямую позволяет вам изменять реализацию без изменения кода (например, MyFaces вместо Mojarra и JBoss AS вместо Glassfish).

Обратите внимание, что пакет com.sun.* не следует путать с пакетом sun.*, который является внутренними классами Oracle JRE, которые вы должны абсолютно не импортировать/использовать в вашем коде, так как это сделает ваш код жестким в сочетании с JRE make/version. Не использовать пакет sun.* вообще позволяет запускать код во всех других реализациях JRE (OpenJDK, GCJ и т.д.).

Ответ 2

Есть много мест, в которых используются пакеты com.sun (некоторые из них упоминаются в других ответах). В этом ответе конкретно рассматривается использование com.sun в JavaFX. JavaFX - это библиотека пользовательского интерфейса, которая является частью OpenJDK.

Много реализация JavaFX находится в com.sun классах. Когда JavaFX был открыт, следующий комментарий был сделан разработчиками JavaFX относительно использования классов com.sun в JavaFX:

Как всегда, не публичный API (или, вернее, неподдерживаемый API, что означает что-либо, что отсутствует в пространстве имен javafx, например com.sun.*), не может зависеть от версии для выпуска. Но для тех из вас, кто интересуется, как все работает, есть некоторые очень важные вещи, зарытые в неподдерживаемые пакеты, и для тех из вас, кто хочет на самом деле взломать OpenJFX, это будет представлять еще больший интерес.

Ответ 3

Пакеты для внутреннего использования, к которым вам не требуется прямой доступ. Их можно изменить или удалить в любой версии Java. Вы можете найти источник для всех пакетов sun. * и com.sun. * В OpenJDK.