Evolution of Java

In 1996, the first version of Java was released. It was nothing short of revolutionary and Java has continued to evolve at tremendous speed. While writing this, the latest version of Java is 9.

Soon after release of Java 1.0, Java 1.1 was released. It added new library elements as well as deprecated several features from 1.0.

The next major release was Java 2. It had internal version number 1.2 due to the version of libraries being packed as 1.2.  With Java 2, Sun repackage Java Product as J2SE (Java 2 Platform Standard Edition), and the version numbers started to get applied to the entire product.

J2SE 1.3 added more functionality to the existing package. Source-code compatibility with previous versions was major highlight.

J2SE 1.4 contained several important upgrades, enhancements and additions. For example, it added chained exceptions, channel based IO system, changes to networking classes and Collection framework. With this version also, source-code compatibility with prior versions was made sure.

J2SE 5 further expanded the language scope and power with the following features :
1. Generics
2. Annotations
3. Enumerations
4. Enhanced, for-each style loop
5. Variable length arguments
6. Static import
7. Formatted I/O
8. Concurrency utilities

The changes were so important that Sun decide to change the version number to 5 from 1.4. Instead they kept internal version number as 1.5 and product version number as 5.

Java 6 further enhanced the language capabilities provided by Java 5.

Java SE 7 was first major release after Sun was acquired by Oracle. It added many language and library additions :

1. A String  can now control a switch statement.
2. An expanded try statement, called try-with-resources, that supports automatic resource management.
3. Enhanced exception handling. Multiple exceptions can be caught in a single catch block.
4. NIO (New I/O) libraries

Java 8 represents a further upgrade to Java capabilities with the following features :
1. Lambda expressions
2. Stream API
3. Default implementation for interfaces.
4. JAVAFX 8 replacing Swing for GUI apps

Java 9 is the latest addition to the releases pack. Following are the features :
1. Java Platform Module System (major change/attraction of the release)
2. JShell (Java joins other programming shells like Python for executing code in its own shell)
3. Collection factory methods
4.  HTTP/2 - out of box support for websockets and HTTP/2
5. Multirelease Jars

Comments

Popular posts from this blog

Collection Framework - HashSet And LinkedHashSet class

Collection Framework - Cursors in Java

Hashed data structures