Java Runtime Environment
The Java Runtime Environment or JRE is the software required to run any application deployed on the Java Platform. End-users commonly use a JRE in software packages and Web browser plugins. Sun also distributes a superset of the JRE called the Java 2 SDK (more commonly known as the JDK), which includes development tools such as the Java compiler, Javadoc, and debugger.
Components
- Java libraries are the compiled byte codes of source code developed by the JRE implementor to support application development in Java. Examples of these libraries are:
- The core libraries, which include:
- Collection libraries which implement data structures such as lists, dictionaries, trees and sets
- XML Processing (Parsing, Transforming, Validating) libraries
- Security
- Internationalization and localization libraries
- The integration libraries, which allow the application writer to communicate with external systems. These libraries include:
- The Java Database Connectivity (JDBC) API for database access
- Java Naming and Directory Interface (JNDI) for lookup and discovery
- RMI and CORBA for distributed application development
- User Interface libraries, which include:
- The (heavyweight, or native) Abstract Windowing Toolkit (AWT), which provides GUI components, the means for laying out those components and the means for handling events from those components
- The (lightweight) Swing libraries, which are built on AWT but provide (non-native) implementations of the AWT widgetry
- APIs for audio capture, processing, and playback
- The core libraries, which include:
- A platform dependent implementation of Java virtual machine (JVM) which is the means by which the byte codes of the Java libraries and third party applications are executed
- Plugins, which enable applets to be run in Web browsers
- Java Web Start, which allows Java applications to be efficiently distributed to end users across the Internet
- Licensing and documentation
APIs
Sun has defined three platforms targeting different application environments and segmented many of its APIs so that they belong to one of the platforms. The platforms are:
- Java Platform, Micro Edition (Java ME) — targeting environments with limited resources,
- Java Platform, Standard Edition (Java SE) — targeting workstation environments, and
- Java Platform, Enterprise Edition (Java EE) — targeting large distributed enterprise or Internet environments.
The classes in the Java APIs are organized into separate groups called packages. Each package contains a set of related interfaces, classes and exceptions. Refer to the separate platforms for a description of the packages available.
The set of APIs is controlled by Sun Microsystems in cooperation with others through the Java Community Process program. Companies or individuals participating in this process can influence the design and development of the APIs. This process has been a subject of controversy.
Licensing
In 2004, IBM and BEA publicly supported the notion of creating an official open source implementation of Java. On November 13, 2006, Sun announced that all of the Java source code will be released entirely under a free software license, the GNU General Public License, by March 2007.[10] The javac compiler and the hotspot java VM (but not the class library) were released under the GPL on 11 November 2006.[11]
Extensions and related architectures
The extensions to standard Java are typically in javax.*
packages. They are not included in the JDK or JRE. Extensions and architectures closely tied to the Java programming language include:
- Java EE (previously J2EE) (Java Platform, Enterprise Edition—for distributed enterprise applications)
- Java ME (previously J2ME) (Java Platform, Micro Edition—for PDAs and cellular phones)
- JMF (Java Media Framework)
- JNDI (Java Naming and Directory Interface)
- JSML (Java Speech API Markup Language)
- JDBC (Java DataBase Connectivity)
- JDO (Java Data Objects)
- JAI (Java Advanced Imaging)
- JAIN (Java API for Integrated Networks)
- JDMK (Java Dynamic Management Kit)
- Jini (a network architecture for the construction of federated distributed systems)
- Jiro
- Java Card (Java for smart cards)
- JavaSpaces
- JML (Java Modeling Language)
- JMI (Java Metadata Interface)
- JMX (Java Management Extensions)
- JSP (JavaServer Pages)
- JSF (JavaServer Faces)
- JNI (Java Native Interface)
- JXTA (Open Protocols for Peer-to-Peer (P2P) Virtual Network)
- Java 3D (A high level API for 3D graphics programming)
- JOGL (Java OpenGL—A low level API for 3D graphics programming, using OpenGL)
- LWJGL (Light Weight Java Game Library—A low level API providing access to OpenGL, OpenAL and various input devices)
- OSGi (Dynamic Service Management and Remote Maintenance)
No comments:
Post a Comment