Key Features of Major Java Versions (Java 1.1 to Java 13)
An overview of the release dates and notable new features for each major Java version from 1.1 through 13, highlighting language enhancements, library updates, garbage collection improvements, and platform changes to help developers choose the appropriate JDK for their projects.
Java 13
Release date: March 2019
Switch syntax optimizations
Text block upgrades
Dynamic CDS archives
Removal of unused memory
Reimplemented legacy socket API
New FileSystems.newFileSystem method
New NIO methods
Core library / java.time enhancements
Core library / java.util I18N support
GC improvements
Security library / java.security updates
Feature removals
Java 12
Release date: March 2019
Shenandoah low‑pause GC (experimental)
JMH benchmarking
Switch expressions (preview)
JVM constant API
Single ARM64 (aarch64) implementation
Default class data sharing archive
Interruptible mixed G1 GC
Improved G1 GC returning heap memory to the OS when idle
Java 11
Release date: September 2018 (first LTS version, supported until 2026)
Nested access control
Dynamic class‑file constants
Improved AArch64 intrinsics
Epsilon no‑op garbage collector
Removal of Java EE, CORBA, and JavaFX modules
Standard HTTP Client
Local‑variable syntax for lambda parameters
Curve25519 and Curve448 key agreement algorithms
Unicode 10 support
ChaCha20 and Poly1305 encryption algorithms
Single‑file source‑code program launch
Low‑overhead heap allocation sampling
TLS 1.3 support
ZGC scalable low‑latency GC (experimental)
Deprecation of Nashorn JavaScript engine
Deprecation of Pack200 tool and API
Java 10
Release date: March 2018
var type inference
Consolidated JDK repositories into a single repo
Unified GC interface
Parallel full GC for G1
Application class‑data sharing (AppCDS)
ThreadLocal handshakes without global safepoints
Removal of javah tool (use javac -h instead)
Additional Unicode language‑tag extensions
Heap memory allocation to user‑specified standby devices
Graal‑based ahead‑of‑time compilation for Java
Default root CA certificates in OpenJDK
Java 9
Release date: September 2017
JShell interactive tool
HTTP/2.0 support with new HTTP client (replaces HttpURLConnection)
Modular JVM for memory‑constrained devices
Lightweight JSON API
Smart Java compilation
Private methods in interfaces (including static)
Reactive streams
Multi‑resolution image API
GC improvements
HTML5 Javadocs
Enhanced Stream API
Improved @Deprecated annotation
Enhanced Optional class
Improved CompletableFuture API
Java 8
Release date: March 2014
Functional interfaces
Lambda expressions
Method references
Default and static methods in interfaces
Optional class
Streams API
Date and Time API
Type annotations
Nashorn JavaScript engine
Concurrent counters
Parallel operations
Removal of PermGen errors
TLS SNI support
Java 7
Release date: July 2011
String support in switch statements
Type inference for generic instance creation
Multi‑catch exception handling
Support for dynamic languages
Try‑with‑resources
Introduction of NIO.2
Binary literals with underscores
Diamond operator syntax
Boolean type enhancements (null‑safe, bitwise ops)
Objects class utilities to avoid NPEs
Enhanced Collections framework support
Java 6
Release date: April 2006
Support for scripting languages
JDBC 4.0 API
Java Compiler API
Pluggable annotations
Native PKI, GSS, Kerberos, LDAP support
Web Services integration
Java 5
Release date: October 2004
Generics
Enhanced for‑loop (iteration)
Autoboxing/unboxing
Type‑safe enums
Varargs
Static imports
Annotations (metadata)
New concurrency utilities
Introspection API
Java 1.4
Release date: February 2004
XML processing
Java Printing Service
Logging API
Java Web Start
JDBC 3.0 API
Assertions
Preferences API
Chained exception handling
IPv6 support
Regular expression support
Image I/O API
Java 1.3
Release date: May 2000
Java Sound API
JAR file indexing
General performance and feature enhancements
Java 1.2
Release date: December 1998
Collections framework
Memory‑mapped string constants
Just‑In‑Time (JIT) compiler
Signed JAR files
Security policy tools
Java Foundation Classes (Swing, drag‑and‑drop, Java 2D)
Java Plug‑in
Scrollable ResultSets, BLOB, CLOB, batch updates, user‑defined types in JDBC
Applet sound support
Java 1.1
Release date: February 1997
JDBC (Java Database Connectivity)
Inner classes
JavaBeans
RMI (Remote Method Invocation)
Reflection (introspection only)
Full-Stack Internet Architecture
Introducing full-stack Internet architecture technologies centered on Java
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.