Fundamentals 10 min read

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.

Full-Stack Internet Architecture
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Key Features of Major Java Versions (Java 1.1 to Java 13)

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)

Javasoftware developmentJDKProgramming LanguageVersion Features
Full-Stack Internet Architecture
Written by

Full-Stack Internet Architecture

Introducing full-stack Internet architecture technologies centered on Java

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.