File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java in General and the fly likes New Features in Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "New Features in Java" Watch "New Features in Java" New topic

New Features in Java

Landon Blake
Ranch Hand

Joined: Oct 15, 2004
Posts: 44
I've been doing most of my programming using features from Java 1.4.2. I'd like to think about moving to the latest version of the JDK. I think this is JDK 6 or 1.5.

I was wondering if there was documentation on the language changes to Java since 1.4.2. I'm not really talking about changes in the standard libraries per say, but in the syntax or semantics of the language. For example, I know that Java has added Generics. I've got some documentation on this, but I would like to know if there are other major changes I should know about before I make the switch.


Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42965
Each JDK version comes with a page listing the changes from the previous one:



JDK 1.4

You might want to bookmark this page, which links to all kinds of useful documentation on the site.
R K Singh
Ranch Hand

Joined: Oct 15, 2001
Posts: 5382
Irony is that above pages do not cover everything.

For example ThreadExecutor class introduced in JDK 1.5 but it is not mentioned anywhere.

I am not sure how many other important classes are there like this which are not mention in previous post links.

"Thanks to Indian media who has over the period of time swiped out intellectual taste from mass Indian population." - Chetan Parekh
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15081

The Javadoc documentation for the standard Java library classes mentions for each class, interface and method in which Java version it was added.

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
R K Singh
Ranch Hand

Joined: Oct 15, 2001
Posts: 5382
You are right, and thats how I came to know that ThreadExecuter class is since JDK1.5

I feel that such classes/methods must be part of New Features and Enhancements
Rob Spoor

Joined: Oct 27, 2005
Posts: 20271

It actually is:
The entire java.util.concurrency is new and is mentioned as one entire new feature.

How To Ask Questions How To Answer Questions
Brijesh Verma

Joined: Apr 20, 2009
Posts: 19
Java 1.5 features
1.Enhanced for loop(for each for loop).
2.Enumeration( enum keyword)
3.Assertions added in java 1.5
4.AutoBoxing/Unboxing ( like wrapper classes . means automatic convert between primitive to String and vice-versa.)
5.Generics ( example: typed Collections, Set(<String>))
6.Varagrs (variable arguments) (example : for printf() function,allows variable number of different arguments)
7.StringBuilder class in jdk 1.5 (java.lang package)

See More

JDK 1.0 (january 23, 1996) oak
- Initial release

JDK 1.1 (february 19, 1997)
- Retooling of the AWT event model
- Inner classes added to the language
- JavaBeans

J2SE 1.2 (December 8, 1998) playground
This and subsequent releases through J2SE 5.0 were rebranded retrospectively Java 2 & version name "J2SE"
(Java 2 platform, Standard edition) replaced JDK to distinguish the base platform from
J2EE (java 2 platform, enterprise edition) and J2ME (java 2 platform, micro edition).

- Strictfp keyword
- Reflection
- Swing api integration into the core classes
- JVM equipped with a jit compiler
- Java plug-in
- Java IDL
- An IDL implementation for corba interoperability
- Collections Framework

J2SE 1.3 (may 8, 2000) kestrel
- Hotspot jvm included
- JavaSound
- JNDI included in core libraries
- Java platform debugger architecture (jpda)
- RMI was modified to support optional compatibility with corba

J2SE 1.4 (february 6, 2002) merlin
- assert keyword
- Regular expressions
- Exception chaining (allows an exception to encapsulate original lower-level exception)
- Internet protocol version 6 (IPV6) support
- Non-blocking nio (new input/output)
- Logging API
- Image i/o api for reading and writing images in formats like jpeg and png
- Integrated XML parser and XSLT processor (JAXP)
- Integrated security and cryptography extensions (JCE, JSSE, JAAS)
- Java web start

J2SE 5.0 (september 30, 2004) tiger [originally numbered 1.5]
- Generics: provides compile-time (static) type safety for collections and eliminates the need for most typecasts (type conversion).
- Metadata: also called annotations; allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities.
- Autoboxing/unboxing: automatic conversions between primitive types (such as int) and primitive wrapper classes (such as integer).
- Enumerations: the enum keyword creates a typesafe, ordered list of values (such as day.monday, day.tuesday, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern).
- Swing: new skinnable look and feel, called synth.
- Var args: the last parameter of a method can now be declared using a type name followed by three dots (e.g. Void drawtext(string... Lines)). In the calling code any number of parameters of that type can be used and they are then placed in an array to be passed to the method, or alternatively the calling code can pass an array of that type.
- Enhanced for each loop: the for loop syntax is extended with special syntax for iterating over each member of either an array or any iterable, such as the standard collection classesfix the previously broken semantics of the java memory model, which defines how threads interact through memory.
- Automatic stub generation for rmi objects.
- Static imports concurrency utilities in package java.util.concurrent.
- Scanner class for parsing data from various input streams and buffers.
- Assertions
- StringBuilder class (in java.lang package)
- Annotations

Java SE 6 (december 11, 2006) mustang
sun replaced the name "J2SE" with java se and dropped the ".0" from the version number.
Beta versions were released in february and june 2006, leading up to a final release that occurred on december 11, 2006.
The current revision is update 14 which was released in may 2009.

- Support for older win9x versions dropped.
- Scripting lang support: Generic API for integration with scripting languages, & built-in mozilla javascript rhino integration
- Dramatic performance improvements for the core platform, and swing.
- Improved web service support through JAX-WS JDBC 4.0 support
- Java compiler API: an API allowing a java program to select and invoke a java compiler programmatically.
- Upgrade of JAXB to version 2.0: including integration of a stax parser.
- Support for pluggable annotations
- Many GUI improvements, such as integration of swingworker in the API, table sorting and filtering, and true swing double-buffering (eliminating the gray-area effect).

Java se 6 update 10
A major enhancement in terms of end-user usability.
- Java Deployment Toolkit, a set of javascript functions to ease the deployment of applets and java web start applications.
- Java Kernel, a small installer including only the most commonly used jre classes. Enhanced updater.
- Enhanced versioning and pack200 support: server-side support is no longer required.
- Java quick starter, to improve cold start-up time.
- Improved performance of java2D graphics primitives on windows, using direct3D and hardware acceleration.
- A new Swing look and feel called NIMBUS and based on synth.
- Next-generation java plug-in: applets now run in a separate process and support many features of web start applications.

Java se 6 update 12
This release includes the highly anticipated 64-bit java plug-in (for 64-bit browsers only), windows server 2008 support,
and performance improvements of java and JAVAFX applications.

Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46340
Did you copy that from a book or another website? If so, please tell us where.
Harish Vembu
Ranch Hand

Joined: Jul 19, 2004
Posts: 33

Hi Ritchie and All,

Sorry to poke my nose here .

For the benefit of users like me and all in general

Probably the above reference was taken from Wikipedia @ [url]

This provides a complete history till the latest.

Thanks & Best Regards


Learning never stops...

Karanjeet Kareer

Joined: Apr 22, 2008
Posts: 3


This book is really good if you want to cover just the new features of java 5.
Here you go

Rob Spoor

Joined: Oct 27, 2005
Posts: 20271

Welcome to the Ranch, Karanjeet.

I wouldn't get that book. Java 5.0 is already outdated, and therefore the book is as well. It's already over 4 years old. The Amazon page that page links to itself also shows two reviews, and neither is good.
I agree. Here's the link:
subject: New Features in Java
It's not a secret anymore!