History of Java

The history of Java is very interesting. Java has been actually designed for electornic devices, those days it was a booming and very advanced technology in the market, mainly it was using for television, and it was more advance technology for digital cable television industry. However, it was best suited for internet programming.

Java was developed by James Gosling, who is known as the father of Java, in 1990 James Gosling and his team members started the project to implement a platform independent programming language. In 1995 JDK alpha and Beta version has been released.

James Gosling - founder of java
Currently, Java is used in internet programming, mobile devices, games, e-business solutions etc.

Below some of the significant points to be noted:
  1. 1. James Gosling, Mike Sheridan, and Patrick Naughton they created a small team in June 1991 to initiate a java project with the team name called Green Team.
  2. 2. Their initial target is to design the java project for small, embedded systems in electronic devices such as telivisions and set-top boxes.
  3. 3. Initially the file extension was .gt because the very first name of java was "Greentalk". Later they changes that to Oak and it was developed as part of Green project.
  4. 4. The name Oak has given because Oak is the symbol of strength and also it has been chosen as a national tree for many countries like USA, France, Germany etc.
  5. 5. In 1995, the name has been changed from Oak to "Java" because it was already a trademark by Oak Technologies.
  6. 6. Java is an island in Indonesia where the first coffee was produced (called Java coffee). It is a kind of espresso bean. James Gosling while having a cup of coffee nearby his office the Java name was chosen.
  7. 7. The very first version of java (JDK 1.0) was released on January 23, 1996. post that many additional features are added to new java versions.
  8. 8. Java has been enhanced for the use of Windows, Web, enterprise and mobile applications.
Java Version History

Many java versions have been released till now. The current stable release of Java is Java SE 21.

  1. JDK Alpha and Beta (1995)
  2. JDK 1.0 (23rd Jan 1996)
    1. Write Once, Run Anywhere (WORA)
    2. JVM, Garbage Collection
    3. Applets, AWT
  3. JDK 1.1 (19th Feb 1997)
    1. Inner classes
    2. JDBC
    3. RMI
    4. Reflection
  4. J2SE 1.2 (8th Dec 1998)
    1. Collections Framework (List, Set, Map)
    2. Swing GUI
    3. JIT Compiler
    1. J2SE 1.3 (8th May 2000)
    2. HotSpot JVM
    3. RMI performance improvements
  5. J2SE 1.4 (6th Feb 2002)
    1. assert keyword
    2. NIO (basic)
    3. Regular Expressions
    4. Logging API
  6. J2SE 5.0 (30th Sep 2004)
    1. Generics
    2. Enhanced for-loop
    3. Autoboxing/Unboxing
    4. Enums
    5. Annotations
  7. Java SE 6 (11th Dec 2006) - LTS
    1. Compiler API
    2. JDBC improvements
    3. Web services support
  8. Java SE 7 (28th July 2011)
    1. Try-with-resources
    2. Diamond operator
    3. Multi-catch exception
    4. NIO.2 (Path, Files)
  9. Java SE 8 (18th Mar 2014) - LTS
    1. Lambda Expressions
    2. Streams API
    3. Functional Interfaces
    4. Default methods
    5. New Date/Time API
  10. Java SE 9 (21st Sep 2017)
    1. JPMS (Module System)
    2. JShell
    3. Stream API enhancements
    4. Compact Strings
  11. Java SE 10 (20th Mar 2018)
    1. var (Local variable type inference)
  12. Java SE 11 (September 2018)
    1. HTTP Client (Standard)
    2. String methods (isBlank, lines)
    3. Run Java files directly
  13. Java SE 12 (March 2019)
  14. Java SE 13 (September 2019)
    1. Switch expressions (preview)
    2. GC improvements
  15. Java SE 14 (Mar 2020)
    1. Switch expressions (final)
    2. Helpful NullPointerExceptions
    3. Records (preview)
  16. Java SE 15 (September 2020)
    1. Text Blocks (preview)
    2. Sealed classes (preview)
  17. Java SE 16 (Mar 2021)
    1. Records (final)
    2. Pattern matching for instanceof
  18. Java SE 17 (September 2021) - LTS
    1. Sealed Classes (final)
    2. Strong encapsulation of JDK internals
    3. Pattern matching improvements
  19. Java SE 18 (March 2022)
    1. UTF-8 default
    2. Simple web server
  20. Java SE 19 (September 2022)
    1. Virtual Threads (preview)
    2. Structured Concurrency (preview)
  21. Java SE 20 (March 2023)
    1. Pattern matching enhancements
    2. Record patterns (preview)
  22. Java SE 21 (September 2023) - LTS
    1. Virtual Threads (final)
    2. Pattern Matching (final)
    3. Sequenced Collections
    4. Record Patterns (final)
    5. String Templates (preview)
  23. Java SE 22 (March 2024)
    1. Foreign Function & Memory API (FINAL)
    2. Unnamed Variables & Patterns (FINAL)
    3. String Templates (2nd Preview)
    4. Scoped Values (2nd Preview)
    5. Stream Gatherers (Preview)
  24. Java SE 23 (September 2024)
    1. String Templates (3rd Preview)
    2. Scoped Values (3rd Preview)
    3. Structured Concurrency (Preview Continues)
    4. Vector API (Further Incubation)
  25. Java SE 24 (March 2025)
    1. String Templates → nearing finalization
    2. Scoped Values → possibly final
    3. Stream Gatherers → maturing
    4. GC & performance improvements
    5. No major syntax overhaul
  26. Java SE 25 (September 2025) - LTS
    1. String Templates
    2. Structured Concurrency
    3. Scoped Values
    4. Stream Gatherers