Java is a computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java is both a programming language and a software platform. As a platform it is available in a Standard Edition (for development of desktop and server applications) and the Enterprise Edition, for development of enterprise-level applications.
From the Wikipedia JSE page:
Java Platform, Standard Edition
or Java SE
is a widely used platform for development and deployment of portable applications for desktop and server environments. Java SE uses the object-oriented Java programming language. Strictly speaking, Java SE is a platform specification. It defines a wide range of general purpose APIs — such as Java APIs
for the Java Class Library
— and also includes the Java Language Specification
and the Java Virtual Machine Specification
. One of the most well-known implementations of Java SE is Oracle Corporation's Java Development Kit (JDK).
From the Wikipedia JEE page:
Java Platform, Enterprise Edition
or Java EE
is Oracle's enterprise Java
computing platform. The platform provides an API and runtime environment for developing and running enterprise software, including network and web services, and other large-scale, multi-tiered, scalable, reliable, and secure network applications. Java EE extends the Java Platform, Standard Edition
(Java SE), providing an API for object-relational mapping, distributed and multi-tier architectures, and web services. The platform incorporates a design based largely on modular components running on an application server. Software for Java EE is primarily developed in the Java
programming language. The platform emphasizes Convention over configuration and annotations for configuration. Optionally XML
can be used to override annotations or to deviate from the platform defaults.
Java 7 provides a few new features and improvements (found at Java Performance on Wikipedia):
- Provide JVM support for dynamic languages, following the prototyping work currently done on the Multi Language Virtual Machine,
- Enhance the existing concurrency library by managing parallel computing on multi-core processors (see References below),
- Allow the virtual machine to use both the Client and Server compilers in the same session with a technique called Tiered compilation:
- The Client would be used at startup (because it is good at startup and for small applications),
- The Server would be used for long-term running of the application (because it outperforms the Client compiler for this).
- Replace the existing concurrent low-pause garbage collector (also called CMS or Concurrent Mark-Sweep collector) by a new collector called G1 (or Garbage First) to ensure consistent pauses over time.
See also: Servlet