A popular interview question for any Java Developer is “what was new in Java version X?” and if you mention that you have worked with 2 different versions of Java then it’s very likely to have a followup question “what was added in the later one?”. So here are the important new features added in each major Java release with their code names(At least I was asked for code name once).

Java Version SE 8


  • forEach() method in Iterable interface
  • default and static methods in Interfaces
  • Functional Interfaces and Lambda Expressions
  • Java Stream API for Bulk Data Operations on Collections
  • Java Time API
  • Collection API improvements
  • Concurrency API improvements
  • Java IO improvements
  • Miscellaneous Core API improvements

Java Version SE 7

Code Name: Dolphin

Release Date: July 28, 2011.


  • Strings in switch Statement
  • Type Inference for Generic Instance Creation
  • Multiple Exception Handling
  • Support for Dynamic Languages
  • Try with Resources
  • Java NIO Package
  • Binary Literals and underscore in literals
  • Diamond Syntax
  • Automatic null Handling

Java Version SE 6

Code Name: Mustang

Release Date: December 11, 2006.


  • Scripting Language Support
  • JDBC 4.0 API
  • Java Compiler API
  • Pluggable Annotations
  • Native PKI, Java GSS, Kerberos and LDAP support.
  • Integrated Web Services.
  • Lot more enhancements.

J2SE Version 5.0

Code Name: Tiger

Release Date: September 30, 2004.


  • Generics
  • Enhanced for Loop
  • Autoboxing/Unboxing
  • Typesafe Enums
  • Varargs
  • Static Import
  • Metadata (Annotations)
  • Instrumentation

J2SE Version 1.4

Code Name: Merlin

Release Date: February 6, 2002 (first release under JCP).


  • XML Processing
  • Java Print Service
  • Logging API
  • Java Web Start
  • JDBC 3.0 API
  • Assertions
  • Preferences API
  • Chained Exception
  • IPv6 Support
  • Regular Expressions
  • Image I/O API

J2SE Version 1.3

Code Name: Kestrel

Release Date: May 8, 2000.


  • Java Sound
  • Jar Indexing

J2SE Version 1.2

Code Name: Playground

Release Date: December 8, 1998.


  • Collections framework.
  • Java String memory map for constants.
  • Just In Time (JIT) compiler.
  • Jar Signer for signing Java ARchive (JAR) files.
  • Policy Tool for granting access to system resources.
  • Java Foundation Classes (JFC) which consists of Swing 1.0, Drag and Drop, and Java 2D class libraries.
  • Java Plug-in
  • Scrollable result sets, BLOB, CLOB, batch update, user-defined types in JDBC.
  • Audio support for Applets.

JDK Version 1.1

Release Date: February 19, 1997


  • JDBC (Java Database Connectivity)
  • Inner Classes
  • Java Beans
  • RMI (Remote Method Invocation)
  • Reflection (introspection only)

JDK Version 1.0

This is where it all started. The first official release of Java as a Programming language.

Code Name: Oak

Release Date: January 23, 1996.