| 1995 |  | 
    
      |  | Alpha and Beta releases (unstable) | 
    
      |  |  | 
    
      | 1996-01-23 |  | 
    
      |  | Java 1.0 [JDK 1.0] | 
    
      |  |  | 
    
      | 1997-02-19 |  | 
    
      |  | Java 1.1 [JDK 1.1] | 
    
      |  | inner classes | 
    
      | libs: | AWT event; JDBC, RMI; reflection | 
    
      |  |  | 
    
      | 1998-12-08 |  | 
    
      |  | Java 1.2 [J2SE 1.2] Playground | 
    
      |  | strictfp | 
    
      | libs: | unified collections; Swing; Event Listeners; Thread synchronizations changed | 
    
      |  |  | 
    
      | 2000-05-08 |  | 
    
      |  | Java 1.3 [J2SE 1.3] Kestrel | 
    
      |  | platform: HotSpot JVM | 
    
      |  |  | 
    
      | 2002-02-06 |  | 
    
      |  | Java 1.4 [J2SE 1.3] Merlin | 
    
      |  | assert | 
    
      |  | chained exception | 
    
      | libs: | regular expressions; NIO; integrated XML | 
    
      |  |  | 
    
      | 2004-09-30 |  | 
    
      |  | Java 5 (1.5) [J2SE 5.0] Tiger | 
    
      |  | generics | 
    
      |  | annotations | 
    
      |  | enum types | 
    
      |  | varags echanced for loops | 
    
      |  | static import | 
    
      |  | autoboxing/unboxing (primitive/wrapper types) | 
    
      |  | enhanced for (collections) | 
    
      |  | covariant return types | 
    
      | libs: | concurrency utilities | 
    
      |  |  | 
    
      | 2006-12-11 |  | 
    
      |  | Java 6 (1.6) [Java SE 6] Mustang | 
    
      |  | @override | 
    
      |  | pluggable annotations | 
    
      | libs: | JDBC 4.0 | 
    
      |  | VM scripting language support | 
    
      |  | Updates 1-81 | 
    
      |  |  | 
    
      | 2011-07-28 |  | 
    
      |  | Java 7 (1.7) [Java SE 7] Dolphin | 
    
      |  | switch on Strings | 
    
      |  | try with resources | 
    
      |  | diamond operator <> | 
    
      |  | type inference for generic instance creation | 
    
      |  | multiple exception handling | 
    
      |  | automatic null handling | 
    
      | libs: | NIO.2 | 
    
      |  | VM: dynamic languages support | 
    
      |  | Updates 1-72 | 
    
      |  |  | 
    
      | 2014-03-18 |  | 
    
      |  | Java 8 (1.8) [Java SE 8] | 
    
      |  | lambda expressions | 
    
      |  | annotations on Java types | 
    
      |  | default methods | 
    
      |  | type annotations | 
    
      |  | static methods in interfaces | 
    
      |  | functional interfaces | 
    
      |  | generic type inference improvements | 
    
      | libs: | improved Date Time API java.time; java.util.function; java.util.stream | 
    
      |  | Updates 5-25 | 
    
      |  |  | 
    
      | 2016-xx-xx |  | 
    
      |  | Java 9 (1.9) [Java SE 10] | 
  
The Java Programming Language book editions:
  
    
      | 1996 | 1st edition | TJPL | Java 1 | 
    
      | 1997 | 2nd edition | TJPL2 | Java 1.1 | 
    
      | 2000 | 3rd edition | TJPL3 | J2SE 1.3 | 
    
      | 2005 | 4th edition | TJPL4 | J2SE 5.0 | 
  
The Java Language Specification editions:
  
    
      | 2014-03 | Java SE 8 Edition |  | 
    
      | 2011-07 | Java SE 7 Edition |  | 
    
      | 2005-05 | Third Edition | (Java SE 5.0 release) | 
    
      | 2000-06 | Second Edition | (Java 2 release) | 
    
      | 1996-08 | First Edition |  | 
  
Java Ecosystem
Java SE - Java Platform, Standard Edition
  
    
      | 1998 | J2SE 1.2 | 
    
      | 2000 | J2SE 1.3 | 
    
      | 2002 | J2SE 1.4 | 
    
      | 2005 | J2SE 1.5 | 
    
      | 2006 | Java SE 6 | 
    
      | 2011 | Java SE 7 | 
    
      | 2014 | Java SE 8 | 
  
Java EE - Java Platform, Enterprise Edition
  
    
      | 1999 | J2EE 1.2 | 
    
      | 2001 | J2EE 1.3 | 
    
      | 2003 | J2EE 1.4 | 
    
      | 2005 | Java EE 5 | 
    
      | 2009 | Java EE 6 | 
    
      | 2013 | Java EE 7 | 
  
JVM: Java Virtual Machine
Standards / APIs:
  
    
      | CDI | Contexts and Dependency Injection (for Java EE) | 
    
      | EJB | Enterprise Java Beans - server side component architecture (Java EE) | 
    
      | Java Servlet |  | 
    
      | JSP | JavaServer Pages | 
    
      | JPA | Java Persistence API | 
    
      | JSF | JavaServer Faces (component-based user interfaces) [v1: JSP views; v2: Facelets] | 
    
      | JMS | Java Message Service | 
    
      | JDBC | Java Database Connectivity | 
    
      | JTA | Java Transaction API | 
    
      | JNI | Java Native Interface | 
  
Graphics / UI
  
    
      | 1995 |  | 
    
      |  | AWT Abstract Window Toolkit | 
    
      |  | original UI widget toolkit; part of JFC | 
    
      | 1996 |  | 
    
      |  | IFC Netscape Internet Foundation Classes | 
    
      | 1997 |  | 
    
      |  | Swing  GUI widget toolkit - MVC (from IFC) | 
    
      | 1997 |  | 
    
      |  | JFC Java Foundation Classes | 
    
      |  | Graphical framework for GUIs (AWT, Swing, Java 2D) | 
    
      | 2001 |  | 
    
      |  | SWT Standard Widget Toolkit | 
    
      |  | used in Eclipse IDE (native system use through JNI) | 
    
      | 2004 |  | 
    
      |  | JFace UI Toolkit (Eclipse) |