Java Versions, Features and History

01/01/2012

A popular interview question in java is “what is new in Java version X?”. Is that an intelligent question is debatable. I have summarized below important new features added in each major java release till now. I target to highlight important features added in respective release. Apart from below list of features, every release has enhancements and lots of bug fixes.

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!

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?

Sam on January 2nd, 2012 4:52 am

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

Thank you!

Rajeev on January 2nd, 2012 6:36 am

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.

John on January 2nd, 2012 7:47 am

will help us to get new Features with example.

Bhushan on January 2nd, 2012 1:28 pm

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

shubham on January 2nd, 2012 9:11 am

THANKU SIR FOR UR INFORMATION

PRAVEEN KUMAR PC on January 2nd, 2012 10:55 am

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

Bhushan on January 2nd, 2012 12:40 pm

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

Bhaskar on January 2nd, 2012 5:05 pm

Very Nice Post!!
Thanks

Amit on January 3rd, 2012 6:22 am

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.

PSG on January 3rd, 2012 7:25 am

nice share ..

surendra8 on January 3rd, 2012 9:58 am

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.

Anders on January 4th, 2012 6:43 pm

thanks a lot nicely explained with images

vema on January 5th, 2012 10:21 am

Hi Thanks for your valuable info.

JavabynataraJ on January 5th, 2012 12:13 pm

+1

Never knew the codenames. Now I will not forget.

Tahir Akram on January 5th, 2012 7:13 pm

nice explanation

Raju S on January 5th, 2012 7:31 pm

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

radhika on January 10th, 2012 1:10 pm

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

sarath on January 11th, 2012 12:21 pm

@Sarath refer the following link for array:
arrays

Joe on January 11th, 2012 12:54 pm

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

josh on January 17th, 2012 3:56 pm

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.

Gaptor on January 20th, 2012 10:12 am

Its very nice….

aruna on January 24th, 2012 4:24 pm

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;
System.out.println(a.charAt(1));

}
}

}

prakash on January 25th, 2012 12:54 pm

thanks joe………

shashikant on January 25th, 2012 2:58 pm

Thanks Joe….

Naresh on January 25th, 2012 3:06 pm

wow! that’s cool

javajigsaw

javajigsaw on January 25th, 2012 6:41 pm

Grate…. Thanks Joe for sharing this info…

Raj Kumar Gupta on February 9th, 2012 10:45 pm

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

Mangesh on February 12th, 2012 10:56 am

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

arivoli on February 13th, 2012 12:41 pm

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

Java on February 15th, 2012 10:04 am

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

Raju on February 16th, 2012 12:08 pm

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

Anoop on February 20th, 2012 1:48 pm

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

Vinya on February 20th, 2012 6:53 pm

Sorry, got the info from here:
http://java.sun.com/j2se/codenames.html

Vinya on February 20th, 2012 7:05 pm

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

Venu Gopal on February 23rd, 2012 6:18 pm

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

Sridhar Goranti on March 6th, 2012 10:12 am

thank you joe.

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

Vikram Bammidi on March 7th, 2012 4:30 pm

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.

Pradeep T on March 30th, 2012 5:22 pm

Joe nice post.

sam_a on April 6th, 2012 6:22 pm

Thanx:-) Nice Post

ashoka on April 10th, 2012 4:41 pm

good info toALL. thnx

Anonymous on April 16th, 2012 11:21 pm

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

asha jyothi on April 28th, 2012 1:06 pm

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

asha jyothi on April 28th, 2012 1:17 pm

@Asha,

for access modifiers try this

Joe on April 28th, 2012 11:01 pm

very good information joe !!!

pal on April 29th, 2012 1:20 am

[...] many times have we used it till now? It is one of the most number of times compiled statement in the history of java. We fondly call it [...]

System.out.println&hellip on April 29th, 2012 7:14 pm

[...] many times have we used it till now? It is one of the most number of times compiled statement in the history of java. We fondly call it SOP. If you want to dive directly to topic, jump to the first [...]

System.out.println | All &hellip on May 1st, 2012 7:49 am

thanks to you this is helpfull to me

koti on May 2nd, 2012 12:04 pm

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

vinit saxena on May 15th, 2012 8:19 am

[...] from JDK itself, in util package we have Timer and TimerTask and these were available from JDK 1.3 It is a no-nonsense, sleek and simple to use api. Comparison between this utility and Quartz would [...]

Java Timer&hellip on May 20th, 2012 6:18 pm

very interesting to see the information along with pictures

Rosemary on May 22nd, 2012 4:08 pm

[...] Javadoc facility gives option for understanding the code in an external way, instead of opening the code the javadoc document can be used separately. IDE benefits using this javadoc as it is able to render information about the code as we develop. Annotations were introduced in JDK 1.5 [...]

Java Annotations&hellip on June 3rd, 2012 4:45 pm


Email:

about
I am Joe, author of this blog. I run this with loads of passion. If you are into java, you may find lot of interesting things around ...more about me. Google+
java badge
Home