Class library componentization
The class library API can be split-up into groups of packages that form 'functional units'. Each of these functional units (components) has predominently public API dependencies between them. Of course, there will be a number of implementation packages required too to support the pulic APIs. There is a 'special' set of KERNEL classes that are VM-specific. The others are common across VM implementation by using Java, JNI, and native OS calls directly.
APPLET
java.applet
AUTH
javax.security.auth
javax.security.auth.callback
javax.security.auth.kerberos
javax.security.auth.login
javax.security.auth.spi
javax.security.auth.x500
javax.security.sasl
org.ietf.jgss
AWT
java.awt
java.awt.color
java.awt.datatransfer
java.awt.dnd
java.awt.event
java.awt.font
java.awt.geom
java.awt.im
java.awt.im.spi
java.awt.image
java.awt.image.renderable
java.awt.print
BEANS
java.beans
java.beans.beancontext
LUNI
java.io
java.lang (some classes in KERNEL)
java.lang.ref (some classes in KERNEL)
java.lang.reflect (some classes in KERNEL)
java.net
java.util
ANNOTATION
java.lang.annotation
INSTRUMENT
java.lang.instrument
LANG-MANAGEMENT
java.lang.management
MATH
java.math
NIO-CHANNELS
java.nio
java.nio.channels
java.nio.channels.spi
NIO-CHARSET
java.nio.charset
java.nio.charset.spi
RMI
java.rmi
java.rmi.activation
java.rmi.dgc
java.rmi.registry
java.rmi.server
SECURITY
java.security (some classes in KERNEL)
java.security.acl
java.security.cert
java.security.interfaces
java.security.spec
javax.security.cert
SQL
java.sql
javax.sql
javax.sql.rowset
javax.sql.rowset.serial
javax.sql.rowset.spi
TEXT
java.text
CONCURRENT
java.util.concurrent (some classes in KERNEL)
java.util.concurrent.atomic (some classes in KERNEL)
java.util.concurrent.locks (some classes in KERNEL)
ARCHIVE
java.util.jar
java.util.zip
LOGGING
java.util.logging
PREFS
java.util.prefs
REGEX
java.util.regex
ACCESSIBILITY
javax.accessibility
CRYPTO
javax.crypto
javax.crypto.interfaces
javax.crypto.spec
IMAGEIO
javax.imageio
javax.imageio.event
javax.imageio.metadata
javax.imageio.plugins.bmp
javax.imageio.plugins.jpeg
javax.imageio.spi
javax.imageio.stream
JMX
javax.management
javax.management.loading
javax.management.modelmbean
javax.management.monitor
javax.management.openmbean
javax.management.relation
javax.management.remote
javax.management.remote.rmi
javax.management.timer
JNDI
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.spi
X-NET
javax.net
javax.net.ssl
javax.print
javax.print.attribute
javax.print.attribute.standard
javax.print.event
SOUND
javax.sound.midi
javax.sound.midi.spi
javax.sound.sampled
javax.sound.sampled.spi
SWING
javax.swing
javax.swing.border
javax.swing.colorchooser
javax.swing.event
javax.swing.filechooser
javax.swing.plaf
javax.swing.plaf.basic
javax.swing.plaf.metal
javax.swing.plaf.multi
javax.swing.plaf.synth
javax.swing.table
javax.swing.text
javax.swing.text.html
javax.swing.text.html.parser
javax.swing.text.rtf
javax.swing.tree
javax.swing.undo
XML
javax.xml
javax.xml.datatype
javax.xml.namespace
javax.xml.parsers
javax.xml.transform
javax.xml.transform.dom
javax.xml.transform.sax
javax.xml.transform.stream
javax.xml.validation
javax.xml.xpath
org.w3c.dom
org.w3c.dom.bootstrap
org.w3c.dom.events
org.w3c.dom.ls
org.xml.sax
org.xml.sax.ext
org.xml.sax.helpers
ORB
javax.activity
javax.rmi
javax.rmi.CORBA
javax.rmi.ssl
javax.transaction
javax.transaction.xa
org.omg.CORBA
org.omg.CORBA_2_3
org.omg.CORBA_2_3.portable
org.omg.CORBA.DynAnyPackage
org.omg.CORBA.ORBPackage
org.omg.CORBA.portable
org.omg.CORBA.TypeCodePackage
org.omg.CosNaming
org.omg.CosNaming.NamingContextExtPackage
org.omg.CosNaming.NamingContextPackage
org.omg.Dynamic
org.omg.DynamicAny
org.omg.DynamicAny.DynAnyFactoryPackage
org.omg.DynamicAny.DynAnyPackage
org.omg.IOP
org.omg.IOP.CodecFactoryPackage
org.omg.IOP.CodecPackage
org.omg.Messaging
org.omg.PortableInterceptor
org.omg.PortableInterceptor.ORBInitInfoPackage
org.omg.PortableServer
org.omg.PortableServer.CurrentPackage
org.omg.PortableServer.POAManagerPackage
org.omg.PortableServer.POAPackage
org.omg.PortableServer.portable
org.omg.PortableServer.ServantLocatorPackage
org.omg.SendingContext
org.omg.stub.java.rmi