Building structured applicationsJava is not just a programming language. It's a collection of technologies built around a programming language called Java. Programmers of Java build applications within this structure technology. They incorporate standard Java classes as necessary, and build new classes when needed. Java 2 added new features. More importantly, it provided a coherent framework starting from the base, working up through the various editions and technologies. The latest additions employ standard Web technologies, like XML and SOAP.
Java APIs Java application programming interfaces (API) are implemented as Java classes. The following are just a few of the available APIs:
Java Real Time
Java Foundation Classes (JFC)
Swinguser interface
JDBCdatabase
Remote Method Invocation (RMI)
Java for XML (JAXP)
Java for XML Messaging (JAXM)
Java Sound
Java Media Framework
Java 2D and 3D graphics
Java Naming and Directory Interface (JNDI)
J2 Micro Edition (J2ME)
Targets embedded devices
Modular architecture
Uses one configuration
Uses one or more profiles
Uses compact JVM
J2ME Configurations And Profiles
Connected Device Configuration (CDC)
Connection Limited Device Configuration (CLDC)
Foundation Profilebase for other profiles
Mobile Information Device Profile (MIDP)
Personal Profile Specification
The Language Java was designed to incorporate the best programming methodologies, while eliminating error-prone techniques found in other programming languages.
Features
Object oriented
Garbage Collection
Class can support multiple interfaces
Name spaces
Multithreading
Array of reference checks
Strong type system
Eliminates
Pointers
Multiple inheritance
J2 Standard Edition
Targets desktops
Web browser plug-in
Runs standalone Java apps
Apps can link to J2EE apps
Uses standard JVM
Java Technologies
Java Platform Debugger Architecture (JPDA)
Java Beans
Java Spaces
Message Queue
Java Server Pages
Java Servlet
Java Server Faces
Web Start
Java for the Advanced Intelligent Network (JAIN)
Ancillary Technologies
Java is utilized in a number of technologies, such as:
Jinispontaneous networking
OSGihome gateways
Jirostorage management
J2 Enterprise Edition (J2EE)
Targets servers
Runs server-based apps
Apps communicate with J2ME/SE
Supports Enterprise Java Beans
Works with Web servers like Apache
Java Virtual Machine
Base technology providing portability across platforms
Executes applications compiled to Java byte codes
Provides garbage collection
C Virtual Machineportable C JVM implementation
Hot Spotincremental optimizing compiler technology
Reading The Java Blueprints Don't expect to learn all about Java from this one page. There simply isn't enough room here. Books have been written about most of the topics listed above.
Java incorporates a plethora of specifications and architectures centered around the Java programming language. The presentation above shows the major components, starting with the Java Virtual Machine (JVM), the execution engine for Java applications. Many more Java-related APIs and technologies aren't listed due to limited space.
A Sun-sponsored standards group called the Java Community Process (JCP) handles the language, APIs, and architectures. JCP involves a wide range of groups and users that propose, refine, and develop Java Specification Requests (JSRs). A JSR provides a definition for the various APIs and technologies listed above. For a complete list, go to the JCP Web site, www.jcp.org.
Java has garnered an amazing following from both developer and company standpoints. Major players like IBM and Hewlett-Packard provide a range of services and products, including their own JVMs. Java runs on all major platforms, and a number of processors execute Java byte codes directly.