Java Evolution
- 12 déc. 2017
- 4 min de lecture
The latest version of Java is Java SE 9 released in September 2017. The initial version (JDK Alpha and Beta) was released in 1995. Java has made quite a journey from version 1 to 9. Let’s look in detail what were the improvements or features added in each version in this article Java Evolution.

You might think what’s with the character in the above picture and why is it here? Well the character that you can see above is Java’s mascot Duke.
How Java was created
In 1991, a research group at Sun Microsystems, as a part of their Green project, was working to develop software to control consumer electronic devices (embedded systems). The goal was to connect them in a network and establish communication between them. The first prototype developed by Sun Microsystems was a device called Star 7 which looked like a remote. The initial intent was to use C++ to control the Star 7. But, as a result of frustration with C++, one of the members of Green project, James Gosling invented a new language called Oak which was later renamed to Java.
Why the name Oak? Well, as per rumors, there happened to be a Oak tree outside the window at which James Gosling was working. Hence the name Oak. Later they found out that there was already a language by the name Oak. So, they renamed it to Java.
JDK 1.0
The initial version of Java was JDK 1.0 which was released in 1996. Unlike other languages which evolve in small increments, Java continued to evolve at a faster pace. By the time JDK 1.0 was released, the developers of Java had already created JDK 1.1.
JDK 1.1
Released in 1997. Java 1.1 (JDK 1.1) added many new library elements, redefined the way events are handled and reconfigured many of the features of the 1.0 library :
- AWT event model
- Inner classes
- JavaBeans
- JDBC
- RMI
- Reflection
- JIT
J2SE 1.2
The next major release was Java 2 (also known as J2SE 1.2) which was released in 1998. 1.2 is the internal version number for Java library. With Java 2, Sun repackaged the Java product as J2SE (Java 2 Platform Standard Edition). Major changes in J2SE 1.2 are:
Strictfp keyword
Swing API
Sun’s JVM equipped with JIT
Java Plug-in
Java IDL
Collections framework
J2SE 1.3
The first major upgrade made to the original version Java 2 was J2SE 1.3 which was released in 2000. This version introduced new APIs like JNDI, JPDA and JavaSound. Although this version introduced a small set of changes :
HotSpot
RMI Support of CORBA
Synthetic proxy classes
J2SE 1.4
Next major upgrade J2SE 1.4 which was released in 2002, further enhanced Java. Several important features were added in this release. They are:
Assert
Regular expression
Exception chaining
IPv6 support
Non blocking I/O
Logging API
Image I/O API
XML Parser and XSLT processor (JAXP)
Security and cryptography (JCE, JSSE, JAAS)
Java Web Start
Preferences API (java.util.prefs)
J2SE 5 (TIGER)
Next release of Java was J2SE 5 which was released in 2004. Compared to other releases this one was revolutionary. J2SE 5 fundamentally expanded the scope, power and range of the language. The major improvements and features in this release are:
Generics
Annotations
Autoboxing(Unboxing)
Enumerations
Varargs
Enhanced for each loop
Static import
Formatted I/O
New Java model memory
Concurrency utilities
Scanner
J2SE 6 (MUSTANG)
Next release was Java SE 6 which was released in 2006. Note that Sun changed the name of the Java platform. The official product name was Java Platform, Standard Edition 6. The Java Developer’s kit was called JDK 6. The internal developer version number is 1.6. This version did not add any major features. But, it enhanced the API libraries, added several new packages and made improvements to the runtime :
Scripting Language support
Performance improvements for core platform and Swing
Improve Web service through JAX-WS
JDBC 4.0 support
JAXB 2.0
J2SE 7 (DOLPHIN)
Next major release was Java SE 7 (codenamed Dolphin) which was released in 2011 after Sun Microsystems was acquired by Oracle. Java SE 7 contains many new features and enhancements which developed as a part of Project Coin. The new features added in version 7 are as follows:
String in switch
Binary integer literals.
Underscores in numeric literals
Automatic resource management in try-statement
Improved type inference for generic instance creation, aka the diamond operator <>
Simplified varargs method declaration
Allowing underscores in numeric literals
Catching multiple exception types and rethrowing exceptions with improved type checking
Addition of Fork/Join framework for NIO (New I/O) which supports parallel programming.
Upgrade to the Java runtime system that supports non-Java languages.
J2SE 8 (SPIDER)
Next major release is Java SE 8 (codenamed as Spider) which was released in 2014. Java 8 is a giant step forward for the Java programming language. A lot of features and enhancements were included. Among them the important ones are:
Lambda expressions
Method references
Default Methods
A new stream API
Optional class (java.util package)
A new Date/Time API
Nashorn, the new JavaScript engine
Removal of permanent generation (in memory)
J2SE 9
Final major release till date is Java SE 9 (or Java 9), following are the features or improvements in Java 9:
Modularity
Developer Convenience
Strings
Diagnostics
JVM options
Logging
Javadoc
JavaScript/HTTP
Native Platform
JavaFX
Images
Unicode
J2SE 10 (AKA Java 18.3)
Java 10 will use the new versioning convention set out by Oracle, this will see the version numbers following a YY.M format. So far the versions announced using this format are 18.3 non-LTS in March 2018 and 18.9 LTS in September 2018.
There is speculation of introducing objects without identity (value types),as well as moving towards 64-bit addressable arrays to support large data sets:
JSR 354: Money and Currency API

Commentaires