Tuesday, 17 November 2015

Summary of differences between Java versions



JSR Language Changes Library Changes Platform Changes
Java 8(a.k.a 1.8) JSR 337, what's new
  • lambda expressions (JSR 335, includes method handles)
  • continuation of Project Coin (small language improvements)
  • annotations on Java types
  • Improved Date and Time API

Java 7
(a.k.a 1.7)
JSR 336, features and enhancements
  • Project Coin (small changes)
  • switch on Strings
  • try-with-resources
  • diamond operator
  • new abstracted file-system API (NIO.2) (with support for virtual filesystems)
  • improved concurrency libraries
  • elliptic curve encryption
  • more incremental upgrades
  • Support for dynamic languages
Java 6
 (a.k.a 1.6)
JSR 270. features and enhancements Mostly incremental improvements to existing libraries, no new language features (except for the @Override snafu).

Java 5 (a.k.a 1.5) JSR 176, features and enhancements
  • generics (that's the big one)
  • annotations
  • enum types
  • varargs
  • enhanced for loops (for-each)
  • concurrency utilities in java.util.concurrent

Java 1.4 JSR 59
  • the assert keyword
  • regular expressions support
  • NIO
  • integrated XML handling

Java 1.3
Mostly minor improvements, really.
  • HotSpot JVM: improvement over the original JIT
Java 1.2
  • the strictfp keyword
  • a unified collections system
  • Swing as a new UI-System on top of AWT
  • a real JIT, greatly improving speed
Java 1.1
  • inner classes
  • AWT event changes
  • JDBC
  • RMI
  • reflection

Java 1.0
Initial release, everything is new



No comments:

Post a Comment