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) |