Skip to main content

History

Java was developed by James Gosling at Sun Microsystems in the early 1990s as part of the Green Project, initially targeting embedded systems such as set-top boxes and appliances. Originally named Oak (after a tree outside Gosling’s office), it was later renamed Java because the name Oak was already trademarked and Java sounded more unique and appealing.

Release & Key Concept

  • Java was officially released in 1995 with the key philosophy:
  • Write Once, Run Anywhere (WORA)
  • This allowed programs to run on any system with a Java Virtual Machine (JVM), making Java platform-independent.

Popularity & Growth

Java gained popularity through web applets, which ran inside browsers like Netscape Navigator. These applets enabled interactive web experiences before JavaScript became dominant.

Ownership Change

In 2010, Oracle Corporation acquired Sun Microsystems and has since continued the development and maintenance of Java.

Key Points
  • Developed by James Gosling at Sun Microsystems
  • Initially part of the Green Project for embedded systems
  • Original name: Oak (renamed due to trademark issue)
  • Renamed to Java (catchy and inspired by coffee ☕)
  • Released in 1995
  • Introduced WORA (Write Once, Run Anywhere)
  • Runs on JVM (Java Virtual Machine)
  • Popularized through web applets
  • Applets ran on Netscape Navigator
  • Oracle Corporation acquired Sun Microsystems in 2010
  • Java is now maintained by Oracle

Editions

  • Java SE: Core language + standard libraries (collections, I/O, concurrency, networking).
  • Jakarta EE (formerly Java EE): Enterprise specifications/APIs for server-side apps (servlets, JPA, CDI, etc.).
  • Java ME: Subset for constrained devices (less common today).

Java Standard Edition History

VersionRelease DateKey Features / Notes
JDK 1.0January 1996Initial release — basic core API and JVM
JDK 1.1February 1997Inner classes, JDBC, RMI, JavaBeans
J2SE 1.2December 1998Collections framework, Swing, JIT compiler
J2SE 1.3May 2000HotSpot JVM, RMI over IIOP
J2SE 1.4February 2002assert keyword, NIO, logging API, XML parsing
Java SE 5September 2004Generics, enhanced for-loop, annotations, enums, autoboxing
Java SE 6December 2006Scripting engine (JS), JVM monitoring, web services improvements
Java SE 7July 2011try-with-resources, NIO.2, Diamond operator
Java SE 8March 2014Lambda, Streams, Optional, Date/Time API
Java SE 9September 2017JPMS (modules), JShell
Java SE 10March 2018var keyword
Java SE 11September 2018LTS, HTTP Client API
Java SE 12March 2019Switch expressions (preview)
Java SE 13September 2019Text blocks (preview)
Java SE 14March 2020Records (preview)
Java SE 15September 2020Sealed classes (preview)
Java SE 16March 2021Records (final)
Java SE 17September 2021LTS, sealed classes
Java SE 18March 2022Simple web server
Java SE 19September 2022Virtual threads (preview)
Java SE 20March 2023Pattern matching improvements
Java SE 21September 2023LTS, virtual threads (final)
Java SE 22March 2024Foreign Function & Memory API improvements
Java SE 23September 2024String templates (preview), performance updates
Java SE 24March 2025Continued Project Loom & Panama enhancements
Java SE 25September 2025LTS, stability, performance, and long-term support focus
Java SE 26March 2026Ongoing enhancements (preview features, performance tuning)

Java Enterprise Edition History (J2EE / Java EE Versions)

VersionRelease YearKey Features / Notes
J2EE 1.21999Initial enterprise platform (Servlets, JSP, EJB)
J2EE 1.32001Improved EJB, JMS, XML support
J2EE 1.42003Web services (SOAP), XML-based APIs
Java EE 52006Simplified EJB 3.0, annotations introduced
Java EE 62009CDI, Bean Validation, REST (JAX-RS)
Java EE 72013WebSocket API, JSON Processing (JSON-P)
Java EE 82017JSON Binding (JSON-B), Security API improvements

Java Enterprise Edition History(Jakarta EE Versions)

Post Oracle → Eclipse Transition
VersionRelease YearKey Features / Notes
Jakarta EE 82019Same as Java EE 8 (package still javax.*)
Jakarta EE 92020Namespace change from javax.*jakarta.*
Jakarta EE 9.12021Minor updates, Java SE 11 support
Jakarta EE 102022Core Profile, improved CDI, REST enhancements
Jakarta EE 112023Java 17 support, modernization of APIs
Jakarta EE 122024Performance improvements, cloud-native focus
Jakarta EE 132025Continued cloud-native and microservices enhancements
Jakarta EE 142026Ongoing improvements (lightweight runtimes, scalability)