Java Versions, Features and History

This article gives you a highlight of important features added in every major Java release. Check this article to know about Java history, I am sure you will find it interesting.

Java SE 8

Java 8 was released on 18 March 2014. The code name culture is dropped with Java 8 and so no official code name going forward from Java 8.

New features in Java SE 8

  • Lambda Expressions
  • Pipelines and Streams
  • Date and Time API
  • Default Methods
  • Type Annotations
  • Nashhorn JavaScript Engine
  • Concurrent Accumulators
  • Parallel operations
  • PermGen Error Removed
Ads by Google

Java Version SE 7

Code named Dolphin and released on July 28, 2011.

New features in Java SE 7

  • Strings in switch Statement
  • Type Inference for Generic Instance Creation
  • Multiple Exception Handling
  • Support for Dynamic Languages
  • Try with Resources
  • Java nio Package
  • Binary Literals, underscore in literals
  • Diamond Syntax
  • Automatic null Handling

Java Version SE 6

Code named Mustang and released on December 11, 2006.

New features in Java SE 6

  • Scripting Language Support
  • JDBC 4.0 API
  • Java Compiler API
  • Pluggable Annotations
  • Native PKI, Java GSS, Kerberos and LDAP support.
  • Integrated Web Services.
  • Lot more enhancements.

J2SE Version 5.0

Code named Tiger and released on September 30, 2004.

New features in J2SE 5.0

  • Generics
  • Enhanced for Loop
  • Autoboxing/Unboxing
  • Typesafe Enums
  • Varargs
  • Static Import
  • Metadata (Annotations)
  • Instrumentation

J2SE Version 1.4

Code named Merlin and released on February 6, 2002 (first release under JCP).

New features in J2SE 1.4

  • XML Processing
  • Java Print Service
  • Logging API
  • Java Web Start
  • JDBC 3.0 API
  • Assertions
  • Preferences API
  • Chained Exception
  • IPv6 Support
  • Regular Expressions
  • Image I/O API

J2SE Version 1.3

Code named Kestrel and released on May 8, 2000.

New features in J2SE 1.3

  • Java Sound
  • Jar Indexing
  • A huge list of enhancements in almost all the java area.

J2SE Version 1.2

Code named Playground and released on December 8, 1998.

New features in J2SE 1.2

  • Collections framework.
  • Java String memory map for constants.
  • Just In Time (JIT) compiler.
  • Jar Signer for signing Java ARchive (JAR) files.
  • Policy Tool for granting access to system resources.
  • Java Foundation Classes (JFC) which consists of Swing 1.0, Drag and Drop, and Java 2D class libraries.
  • Java Plug-in
  • Scrollable result sets, BLOB, CLOB, batch update, user-defined types in JDBC.
  • Audio support in Applets.

JDK Version 1.1

Released on February 19, 1997

New features in JDK 1.1

  • JDBC (Java Database Connectivity)
  • Inner Classes
  • Java Beans
  • RMI (Remote Method Invocation)
  • Reflection (introspection only)

JDK Version 1.0

Codenamed Oak and released on January 23, 1996.

Wishing you a happy new year!

This Core Java tutorial was added on 01/01/2012.



Comments on “Java Versions, Features and History”

  1. Sam

    Good post! Its pretty neat for a quick recap of which feature showed up in which release :)

    I didn’t quite catch a few of the feature.

    Whats Automatic Null Handling in Java 7? Do you mean the Elvis operator? It was proposed as part of project coins, but wasn’t implemented in Java 7.

    Also whats the difference between Type Inference for Generic Instance Creation and Diamond Syntax?

  2. Rajeev

    very nice post!
    It’s a quick revise of java features.

    Thank you!

  3. John

    thank you Joe,I refered your blog for easy reference when I prepared for an interview.Now I am regular reader of your blog. But you should post more often,like once in a week or so.

  4. Bhushan

    will help us to get new Features with example.

  5. shubham

    i am always appriciated ur updates…….”think hatke”



  7. Bhushan

    Thanks for update.
    This would be more useful to fresher like me , if demonstrative example is given. Like Try with resources means what ? This is very good I liked it but examples could add one more feather in Blog

  8. Bhaskar

    java nio package is there from J2SE 1.4 on-wards. What’s new about nio in J2SE 1.7

  9. Amit

    Very Nice Post!!

  10. PSG

    It is really a nice look-up information page. Lot of features of java6 and Java7 was not known to me due to your share now I know. I am user of Java6. Thanks.

  11. surendra8

    nice share ..

  12. Anders

    Java SE 7 referens implementation is not Sun/Oracles any more, it’s OpenJDK. I guess that might be important em enough to be in this list. Oracle has changed the license so it can’t be redistributed in binary form by others any more. That is why Sun JDK will be removed from all distributions in the future.
    Use OpenJDK instead.

  13. vema

    thanks a lot nicely explained with images

  14. JavabynataraJ

    Hi Thanks for your valuable info.

  15. Tahir Akram


    Never knew the codenames. Now I will not forget.

  16. radhika

    you explain so nicely if possible please teach the java language in detail

  17. sarath

    very nice sir , and i want know about the details of the arrays so could me the explanation in that.

  18. Joe

    @Sarath refer the following link for array:

  19. josh

    Its very nice.
    if u can add more information then that will be more good

  20. Gaptor

    Ahoy there Java captains!! Good oh and wonderful news for the Javas out there to be approaching the 7. The best release is the Java 8 which comes from Chian Guk province. It has the support for juice and multi facet persistence with bean promolgation.

  21. prakash

    Hi joe,

    You told that In jdk1.7 the null will be handled automatically. But when I tried, Its showing exception..

    Could you please explain .? Thanks in advance!!!

    public class nullpointerex {

    public static void main(String args[]) {
    String a;



  22. shashikant

    thanks joe………

  23. Naresh

    Thanks Joe….

  24. wow! that’s cool


  25. Raj Kumar Gupta

    Grate…. Thanks Joe for sharing this info…

  26. Mangesh

    U r mention here every thing but what about J2me. I want to know about J2me concept, want to do project in J2me. so kindly help me for that matter. n yr information is very nice in JAVA hope i can learn so many things with yr information n plz give me more information as per yr connivance.plz reply me

  27. arivoli

    Very nice, Regarding this i have search long time, but now only i got a good post.

  28. Very interesting post. It compared with all java version with their feature.

  29. Raju

    Hai Very very interesting ….., this blog very very help ful to me……….

  30. Anoop

    thank u very much sir….for providing useful information…. it is very useful…. i will be a regular reader in future

  31. Vinya

    I was just curious about the naming for each release. Is this really random, or is there a method to this “random naming”

  32. Venu Gopal

    This is excellent stuff..You have provided information with good examples. Thanks :-)

  33. Sridhar Goranti

    Thank you very much sir….for providing useful information…. it is very useful for every one….This blog very very help ful to me.

  34. Vikram Bammidi

    thank you joe.

    each paper is very usefull.
    very useful content for all & also nice look.

  35. Hi Joe,information in your blog is very useful to all java developers perticularly for me.I want to know about JNDI indetail.could u please give the information and material if you have about JNDI.
    thanks in advance.

  36. sam_a

    Joe nice post.

  37. ashoka

    Thanx:-) Nice Post

  38. Anonymous

    good info toALL. thnx

  39. asha jyothi

    your site is very helpful to the students…its so nice and very user friendly..
    so much of thanks to u..

  40. asha jyothi

    i have a small doubt..
    wat r the access modifiers in java..?
    and plz tell me wat r the access specifiers in java?

  41. pal

    very good information joe !!!

  42. koti

    thanks to you this is helpfull to me

  43. vinit saxena

    This is the first time i am reading out ur blog . if I feel any problem regarding java I would like to ask u.Thanks ! vinit saxena Kanpur

  44. Rosemary

    very interesting to see the information along with pictures

  45. Najarhasan Momin

    Nice diffrence between all jdk version

  46. Vir

    nice post…

  47. Arjun Sanapati

    Very nice post of features on each version in JAVA.

  48. ewankosayo

    this is bullshit

  49. Amul

    Informative and clear.
    Thanks Joe

  50. Ali

    Thanks Joe..

  51. Anonymous

    Good info..
    Thanks joe

  52. venkat

    Good info..
    Thanks joe

  53. balu

    good joe
    thanks for ur information

  54. kiruthiga

    hi joe
    its very nice and good.this information is very useful

  55. Anonymous

    this is not enough with us!!!!!!!!!

  56. selva MCA

    very usefull this information….

  57. shyamalabalaguru

    very nice information joe…….keep proceeding…….

  58. Gohila priya

    What is java 8. My Hr asked me to study java8. I searched in net. but i didnt get proper details. Please explain me or send details to my mail id

  59. lingesh

    use full to learn in short time

  60. Deva M

    its very good and very usefull this information…. for all java people

  61. Anonymous

    i never seen explanation for java with diagrams

  62. sudha

    thank you joe…
    its really nice. Easy to learn in short time

  63. Vitthal Shirke

    nice post…

  64. Ravi

    Its a wonderful thought for quick ref. Kudos Joe.

  65. RajendraKumar

    very usefull content….thanks.

  66. Ananda

    Nice Blog Joe…. Thanks a lot…


  67. Anonymous

    Nice Blog Joe…. Thanks a lot…


  68. Really great blog.Keep it up the good work so that it can helpful for newbies like me to keep updated with the Java :)

  69. Anonymous

    Hi Joe,

    Great article. However, I have a suggestion. Can you create links to the features and explain them bit in detail with a code example. That should really help the readers than again ‘google’ out those features again somewhere else.

  70. Ramya

    Thanks Joe for the clearly segregated and well presented content.

  71. VG

    Quick Information on Java Versions.

    Really Nice

  72. Jagan

    Yeah it’s Really nice revision about History not only this topic other topics are also explained neatly.
    Thanks for this blog…

  73. tamilmcaudc

    very easy to understand

  74. Anonymous

    hi joe
    easily understandable your content

  75. mayur

    hi joe
    this is very important in my or all
    person who related to it field

  76. lalit

    hi joe
    really very good

  77. Anonymous

    very easy java language but not understanding collage student
    cerfuly you start good action

  78. Anonymous

    very easy java language but not understanding collage student
    cerfuly you start good action

    my name ganeshraje from gfcct

  79. Anonymous

    Thanks lot Sir, I just understand, the difference between java version

  80. thanks qqqqqqqq so much sir for updates.

  81. krishna chaitanya reddy

    thank you sir ………these are very usefull

  82. rana


  83. Anonymous

    its a very good site,would you have youtube vedio?????

    trupti 8th nov 2012

  84. nithya

    can we give links in java ??????

  85. Ramana Reddy

    I request you to explain the JavaSE7 features with examples. It would be better to understand.

  86. Raju

    Its really good and easy to remember the codes..
    simply superb.

  87. anand

    Hi Thanks for your valuable info.

  88. Bhavik

    Thanksss..for sharinggg..!!

  89. P K Subudhi, India

    You are super Joe.

    Extremely happy on your explanation…

  90. Sanjay

    Please confirm feature “Automatic null Handling”
    is added in Java 7 or not. I tried with some of the examples which are throwing exceptions. Thanks

  91. Prasad

    Its very gud explanation, it would be better for freshers like me if you can provide with some examples for each as links.

  92. praveen d

    nice post..

  93. praveen d

    yes examples are needed for better understanding

  94. Vaibhav

    how to increase heap size in java?


    Thanks sir. good explanation with pic .
    But sir u should also put some example

  96. Rahul Dhama

    Nice Man….ur blog always give a clearer picture…..wishes 2 u and ur conviction

  97. sandeep s

    thanks sir, giving this information but i do the project in this semister .tell me detail information of J2ME.

  98. srinvas


  99. Anonymous

    very helpful information…

    can u please send some example based on new feature in java7.

  100. Sreekanth

    Nice blog, thanks Joe.

  101. Sreekanth

    can u please send some example based on new feature in java 6 and java 7.

  102. Narendra

    really grt attempt …..nice collection and nice work

  103. Anonymous

    simply awsum…thanx

  104. chinju

    simply awsum….thanx

  105. Very nice composition Joe. I found your blog in Google for most of java topics. Keep it up.

    Thank you,

  106. Yadgiri

    Kiraaak Rasinav anna…Anna ne article anni mast untai..mast informative…thanks anna

  107. Akki

    Simple Explanation in one go … Thanks JOE ..

  108. Ashwini

    Thanks a lot !!!! :)

  109. Manivel PG

    Nice Post… Useful Post To ALL…

  110. Sourabh

    Short and informative post on Java versions.Would really impress the interviewer if your are lucky to have this question and you are gone through this blog just before it.:P

  111. Shailesh

    Thanks very much….
    This blog is so useful…

  112. Jaywant Patil

    Thanks ,I Got answer.
    This blogs is useful..

  113. unsekhable

    Automatic null Handling with ? is proposed in project coin but not implemented, due to some considerations like it may be overused.
    It is available in some other languages like groovy.

  114. Anonymous

    it is very nice as well as cool…

  115. Back to Java

    I am retuning to Java after a long back and was wondering if I can find difference between java 1.2 and 1.7 :-) I was skeptical if I can find the answer but your blog really helped with this. Kudos for anticipating the need for addressing this need! Many thanks!!

  116. harishmathan

    superbbbbbbbb…..nice man mr.joe……ur blog gives
    clear cut information for us…….really now only i known about the code names ……..great work.thanks…….


    Great Job

  118. Anonymous

    you give with example more useful

  119. shampi

    hi thanks
    this blogs is useful

  120. Veeresh

    I truely appriciate for your valuable information.
    Very clearly explaide with figure and date aslo .
    It’s very exiting with this site information .
    Thanks a lot Sir. Keep it update and develope the site .

  121. Santhosh K S

    Hi, Very use full resource,
    Thank you verymuch

  122. krish

    I think you forgot Stringbuffer feature to ad into java 1.5 version

  123. krish

    Sorry not stringbuffer….Stringbulder is correct..

  124. Gani

    thank for giving good information

  125. Sanjay

    that help me for study

  126. Yogendera Rautela

    Really good one…..

  127. Vino

    @joe What about java enterprise edition. You have not mentioned about it. Will it to be included here or not.

  128. Shiva

    This article is helpful for quick summarization. Request you to add Java 8.

  129. Umapathy Ravichandiran

    classy explanation !!!

  130. Gayithri

    good explanation !!!

  131. Anonymous

    Its really awesome, Its very easy way to remembering features, Thanks.. Thanks a lot

  132. suresh

    good one. ans also can u pls explain in detail about each and every feature

  133. Ankur

    Very nicely explained. Thanks a ton.

  134. Maulik

    great article,
    very short but excellence post

  135. Jitendra Kumar Singh

    Nice post, Nice Explanation

  136. Kapil Agarwal

    Hi joe

    Thanks for your post!

    I think Automatic Null handling is not supported and hence please remove from the list as it is misleading withjava 7 features.

  137. Kapil Agarwal

    Hi Joe

    Just want to know that “Type Inference for Generic Instance Creation” features is same as “Diamond Syntax”? if different can you please explain what is meant by “Type Inference for Generic Instance Creation”

  138. Baskar

    Hi Joe, I appreciate your efforts. I always refer your blog to refer anything in java. This is very useful for me to know the updates of java. In another one month the java 8 will be released. So i am expecting the update of java 8 too.

    Thanks for the information and keep going

  139. rohit uppal


    Thanks for your updates, please also share java 8 new features and also request you to add examples of each features or atleast for important features. Eagerly waiting for updates.


  140. Anonymous

    nice tutorial

  141. Anjana

    Hi Joe,

    Thanks for the articles. I refer to your blogs all the time. Just wanted to confirm with you if Java Web Start was a feature in J2SE 1.4 or Java 5.


  142. Amatul Raheem

    its really good ; its rightly beneficial for my project

  143. Pushpa Argnurkar

    Very Informative!!!

Your Comment