Java Version-wise Features History

Java SE 8 Features

Release Date : March 18, 2014

Code name culture dropped. Included features were:

  • Lambda expressionsupport in APIs
  • Functional interfaceand default methods
  • Optionals
  • Nashorn – JavaScript runtime which allows developers to embed JavaScript code within applications
  • Annotation on Java Types
  • Unsigned Integer Arithmetic
  • Repeating annotations
  • New Date and Time API
  • Statically-linked JNI libraries
  • Launch JavaFX applications from jar files
  • Remove the permanent generation from GC

Java SE 7 Features

Release Date : December 11, 2006

This release was called “Dolphin”. Included features were:

  • JVM support for dynamic languages
  • Compressed 64-bit pointers
  • Strings in switch
  • Automatic resource management in try-statement
  • The diamond operator
  • Simplified varargs method declaration
  • Binary integer literals
  • Underscores in numeric literals
  • Improved exception handling
  • ForkJoin Framework
  • NIO 2.0having support for multiple file systems, file metadata and symbolic links
  • WatchService
  • Timsort is used to sort collections and arrays of objects instead of merge sort
  • APIs for the graphics features
  • Support for new network protocols, including SCTP and Sockets Direct Protocol

Java SE 6 Features

Release Date : December 11, 2006

This release was called “Mustang”. Sun dropped the “.0” from the version number and version became Java SE 6. Included features were:

  • Scripting Language Support
  • Performance improvements
  • JAX-WS
  • JDBC 4.0
  • Java Compiler API
  • JAXB 2.0 and StAX parser
  • Pluggable annotations
  • New GC algorithms

J2SE 5.0 Features

Release Date: September 30, 2004

This release was called “Tiger”. Most of the features, which are asked in java interviews, were added in this release.

Version was also called 5.0 rather than 1.5. Included features are listed down below:

  • Generics
  • Annotations
  • Autoboxing/unboxing
  • Enumerations
  • Varargs
  • Enhancedfor each loop
  • Static imports
  • New concurrency utilities in util.concurrent
  • Scannerclass for parsing data from various input streams and buffers.

J2SE 1.4 Features

Release Date : February 6, 2002

This release was called “Merlin”. Included features were:

  • assert keyword
  • Regular expressions
  • Exception chaining
  • Internet Protocol version 6 (IPv6) support
  • New I/O; NIO
  • Logging API
  • Image I/O API
  • Integrated XML parser and XSLT processor (JAXP)
  • Integrated security and cryptography extensions (JCE, JSSE, JAAS)
  • Java Web Start
  • Preferences API (java.util.prefs)

J2SE 1.3 Features

Release Date : May 8, 2000

This release was called “Kestrel”. Included features were:

  • HotSpot JVM
  • Java Naming and Directory Interface (JNDI)
  • Java Platform Debugger Architecture (JPDA)
  • JavaSound
  • Synthetic proxy classes

J2SE 1.2 Features

Release Date : December 8, 1998

This release was called “Playground”. This was a major release in terms of number of classes added (almost trippled the size). “J2SE” term was introduced to distinguish the code platform from J2EE and J2ME. Included features were:

  • strictfpkeyword
  • Swing graphical API
  • Sun’s JVM was equipped with a JIT compiler for the first time
  • Java plug-in
  • Collections framework

JDK 1 Features

Release Date : January 23, 1996

This was the initial release and was originally called Oak. This had very unstable APIs and one java web browser named WebRunner.

The first stable version, JDK 1.0.2, was called Java 1.

On February 19, 1997, JDK 1.1 was released havind a list of big features such as:

  • AWT event model
  • Inner classes
  • JavaBeans
  • JDBC
  • RMI
  • Reflection which supported Introspection only, no modification at runtime was possible.
  • JIT (Just In Time) compiler for Windows