The SDK consists of the following items:
A JVM, or Java Virtual Machine
A Java compiler, which takes a plain text source code file and turns it into executable bytecodes
appletviewer, a program for viewing applets
A debugger
Example java programs
A tool for creating and managing security keys
A remote method stub and skeleton generator
A registry server for handling remote method invocations (method calls coming from objects on a different JVM)
C and C++ headers for extending the JVM with interfaces to native code
Native libraries for embedding a JVM into other native applications
Native libraries for the portions of the JVM that are platform dependent, such as those that help generate graphical user interface components .