В JRE к внутренним пакетам Sun добавляются 2 домена верхнего уровня (sun и com). Например,
com.sun.security.jgss sun.security.jgss
Мне кажется довольно случайным, какой префикс они выбирают. Мне любопытно, какие правила использует Sun для этого.
Не ответ на вопрос, но учтите, что вы не должны использовать пакеты sun или com.sun непосредственно в своих программах.
См. Почему разработчики не должны писать программы, которые называют пакетами 'sun'
Эти пакеты не являются частью общедоступного API стандартной библиотеки Java, и их использование может сделать вашу программу несовместимой с будущими версиями Java или реализациями Java, отличными от реализации Sun (и есть несколько реализаций других поставщиков, включая Apple, IBM и HP).
Соглашение "com.sun" является более предпочтительным форматом, поскольку оно следует "соглашениям об именах", которые были установлены для именования пакетов Java.
http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html
Вы должны использовать URL-адрес своей уникальной компании или личного веб-сайта в качестве первых нескольких слов в пакете, чтобы гарантировать уникальность в пространстве имен. Те, которые начинаются с "солнца", вероятно, не предназначались для того, чтобы подвергаться воздействию внешнего мира.
Если вы посмотрите на документ совместимости для Java 5 , то заметите, что есть и другие причины:
Apache - классы org.apache, которые никогда не поддерживаются API-интерфейсами J2SE, но используются пакетом javax.xml, переместились в 5.0 в ** com.sun. ** org.apache.package.internal, чтобы они не будут конфликтовать с более свежими версиями классов, загруженными разработчиками. Любые приложения, которые зависят от классов org.apache, являющихся частью выпуска J2SE, должны выполнить одно из следующих действий для работы в 5.0: * Кодируйте приложение так, чтобы оно использовало только те поддерживаемые интерфейсы, которые являются частью JAXP. * Загрузите классы org.apache.xalan из Apache.