24.3.17

Summary of differences between Java versions?

Java 8 (a.k.a 1.8)

Language changes:
  • lambda expressions (JSR 335, includes method handles)
  • continuation of Project Coin (small language improvements)
  • annotations on Java types
Library changes:

Java 7 (a.k.a 1.7)

Language changes:
Library changes:
Platform changes:

Java 6 (a.k.a 1.6)

Mostly incremental improvements to existing libraries, no new language features (except for the @Override snafu).

Java 5 (a.k.a 1.5)

Language Changes:
  • generics (that's the big one)
  • annotations
  • enum types
  • varargs, enhanced for loops (for-each)
Library changes:
  • concurrency utilities in java.util.concurrent

Java 1.4

Language changes:
Library changes:

Java 1.3

Mostly minor improvements, really.
Platform changes:
  • HotSpot JVM: improvement over the original JIT

Java 1.2

Language changes:
Library changes:
Platform changes
  • a real JIT, greatly improving speed

Java 1.1

Language changes:
  • inner classes
Library changes:
  • AWT event changes
  • JDBC, RMI
  • reflection

Java 1.0

Initial release, everything is new ;-)