Java History and Features 1995 To 2025
Java History and Features 1995 To 2025
Java was developed by James Gosling at Sun Microsystems and released in 1995. It was initially named Oak
but was later renamed to Java after Java coffee. The goal was to create a platform-independent,
object-oriented programming language. In 2010, Oracle Corporation acquired Sun Microsystems and took
Initial version with core libraries like java.lang, java.io, java.util, AWT for GUI.
Introduced JDBC, Inner Classes, JavaBeans, RMI, and the event delegation model.
Major update (Java 2). Added Swing, Collections Framework, JIT Compiler, Java Plug-in.
HotSpot JVM integration, Java Sound, RMI over IIOP, minor enhancements.
Introduced assert keyword, NIO, Logging API, XML parsing via JAXP, and chained exceptions.
Java 5 (2004)
Big upgrade: Generics, Metadata (Annotations), Enumerated types, Autoboxing, Enhanced for-loop, Varargs.
Java 6 (2006)
Improved Web Services (JAX-WS), Compiler API, improvements in scripting via JavaScript engine (Rhino).
Java Version History and Features (1995 - 2025)
Java 7 (2011)
Java 8 (2014)
Major update: Lambda Expressions, Streams API, Functional interfaces, java.time API, default methods.
Java 9 (2017)
JPMS (Java Platform Module System), JShell (REPL), improved Javadoc, Stream API improvements.
Java 10 (2018)
Java 11 (2018)
LTS version. New HTTP Client API, removal of Java EE & FX, Local-variable syntax for lambda.
Java 12 (2019)
Java 13 (2019)
Java 14 (2020)
Java 15 (2020)
Text Blocks (standard), Sealed Classes (preview), Hidden Classes, Foreign memory access API (incubator).
Java Version History and Features (1995 - 2025)
Java 16 (2021)
Records and Pattern Matching become standard, JEP 376: ZGC improvements.
Java 17 (2021)
LTS release. Sealed classes (final), new macOS rendering pipeline, enhanced pseudorandom number
generators.
Java 18 (2022)
Java 19 (2022)
Virtual Threads (preview), Structured Concurrency, Foreign Function & Memory API (preview).
Java 20 (2023)
Record Patterns and Pattern Matching for switch (preview), Virtual Threads (2nd preview).
Java 21 (2023)
LTS release. Virtual Threads, Record Patterns (final), String Templates (preview), Sequenced Collections.
Java 22 (2024)
String Templates (2nd preview), Scoped Values, more FFM and Pattern Matching enhancements.
Expected: Finalization of String Templates, continued improvements in memory model, JVM performance,
FFM API.