JDK Version 1.
0 – Code:Oak and released:January 23, 1996
JDK Version 1.1 - February 19, 1997
JDBC (Java Database Connectivity)
Inner Classes
Java Beans
RMI (Remote Method Invocation)
Reflection (introspection only)
J2SE Version 1.2 - 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 in Applets.
J2SE Version 1.3 - Code : Kestrel and released : May 8, 2000.
Java Sound
Jar Indexing
A huge list of enhancements in almost all the java area.
J2SE Version 1.4 - Code : Merlin and released : February 6, 2002
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 5.0 - Code : Tiger and released : September 30, 2004.
Generics
Enhanced for Loop
Autoboxing/Unboxing
Typesafe Enums
Varargs
Static Import
Metadata (Annotations)
Instrumentation
Java Version SE 6 - Code : Mustang and released : 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.
Java Version SE 7 - Code : Dolphin and released :n 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, underscore in literals
Diamond Syntax
Automatic null Handling
Enhanced For loop
for(Integer number : numbers){
System.out.println(number);
}
Variable Arguments
static void addTest(String message, int... numbers) {
int result = 0;
for(int num : numbers) {
result = result + num;
}
return result;
}
Static Imports
import static java.lang.Math.*;
import static java.lang.System.*;
public class StaticTest {
public static void main(String[] args) {
gc();
out.println("Testing static object");
out.println("max of 10 and 20 is " + max(10, 20));
}
}
Autoboxing in Java 5.0
Annotations in Java 5.0
Generics in Java 5.0
Typesafe Enums
Formatted output - printf(), String.format()