Difference Between Java5 and Java6

Java is one of the most widely used object oriented programming languages, which is used from software development to web development today. It is a general purpose and concurrent programming language. It was originally developed by Sun Microsystems in 1995. James Gosling is the father of the Java programming language. Oracle Corporation now owns Java (after buying Sun Microsystems recently). Java is a strongly typed language that supports a range of platforms from Windows to UNIX. Java is licensed under GNU General Public License. Since it initial release in 1995 (Java 1.0), it has grown and has become the dominant development language for developing web-based applications. Java 6 is its current stable release, while Java 5 is the previous version.

Java5

Java 5 (also known as Java Standard Edition 5.0 or J2SE 5 or J2SE 1.5), codenamed Tiger, was released in September, 2004. Java 5 has passed its life span, and the Sun’s support for it expired in November, 2009. It had 3200+ classes and interfaces. Java 5 introduced several major updates, such as language improvements (i.e. Annotations, Generics, Autoboxing, and improved syntax for looping) among many others. Annotation is a mechanism for tagging classes with metadata so that, they can be used by metadata-aware programs. Generics is a mechanism of specifying types for objects belonging to collections, such as Arraylists, so that type safety is guaranteed at compile time. Autoboxing allows the automatic conversions between primitive types (e.g. int) and wrapper types (e.g. Integer). Improved syntax for looping includes the enhancements for each loop for going through the items of array or collections comparatively easily.

Java6

Java 6 (also known as Java Standard Edition 6.0 or Java SE 6 or Java 1.6), codenamed Mustang, was released in December, 2006. Current revision is the Update 26, which was released on June, 2011. It has 3700+ classes and interfaces. It focuses on new specifications and APIs including XML, Web Services, JDBC version 4.0, programming based on Annotations, API’s for Java compiler and Application client GUI. Also, the support for older version of Windows (Win9x series) will be removed starting from the Update 7.

What is the difference between Java5 and Java6?

Java 6 is the current stable version of Java programming language, while Java 5 is its previous version. Java 5 is officially passed its life time, and is not supported by Sun anymore. Although Java 5 added many major changes (like Autobxing) to the language, Java 6 adds further more useful features. Specifically, Unlike with Java 5, which focused on adding/improving language (syntax) features, Java 6 added broad range of enhancements to the infrastructure of the Java language. Although, Java 5 introduced Annotations, Java 6 came up with additional types of annotations and APIs for processing annotations (e.g. Web services metadata for the Java Platform, Common Annotations for Java Platform, and Pluggable Annotation Processing API).

Thanks to the new compiler API added with Java 6, the java compiler can now receive and/or send output to an abstraction of the file system (programs can specify/process compiler output). Furthermore, Java 6 added enhancements to the applications GUI capabilities in AWT (faster splash screens and support for system tray) and SWING (better drag-and-drop, support for customizing layouts, multithreading enhancements and ability to write GIF images). Furthermore, changes have been added to the specification of the class file including a framework to allow programs to connect to scripting interpreters and backward navigation to collection classes.