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