Java SE 7

Java Standard Edition version 7

Java SE 7 will be the next major release of the Java Standard Edition platform. The Java platform is open source and a JSR will determine the future contents of the Java SE 7 release.


Background

The Java language was initially released in 1995 and has become one of the most popular programming languages in use today.  It is known for being object-oriented and statically and strong typed.  The syntax is derived from the C family of languages.  Notable features that set it apart from the popular languages of its conception were that it was based on a portable virtual machine (the JVM) and that it had a strong security model, allowing it to be used in sandboxed mode in applications like a web browser. 

The Java platform was open-sourced (GPL license) in May 2007.  Small parts of the platform were at that point still "encumbered" from being included in the GPL'ed version of the code, but that situation is rapidly changing so that a completely unencumbered, totally free version will soon be available.

Development

Java SE 7 will be the next release of the Java platform.  In the past, Java 7 was code-named "Dolphin", although that name is no longer in active use by Sun. 

Development is currently occurring as part of the open source OpenJDK project at https://jdk7.dev.java.net.  This page provides links to the latest binary and source snapshots, as well as information on how to contribute to Java 7 as a community member.

Planning

Java SE plans are made in the scope of an umbrella JSR, led by someone from Sun.  The Expert Group for that JSR (presumably in tandem with Sun) will decide the release schedule and features to be included in Java SE 7.  At this time, it appears that Danny Coward from Sun would be the spec lead and the person initiating this process.  To date, no Java SE 7 JSR has been created. 

There is no official schedule for Java SE 7 but the most recent statements from Sun state mid-2009 as a release date.  This appears unlikely given the lack of a planning JSR.

Possible Features

A large number of JSRs, libraries, and language changes have been proposed for Java SE 7 (see http://tech.puredanger.com/java7 for a comprehensive list of possible inclusions).  Until a JSR is formed, there is no way to know for sure what will be included as that is up to the Expert Group to decide.

JSRs and JDK libraries

Some very likely candidates for inclusion are:

  • JSR 294 (superpackages) and JSR 277 (Java Module System) - a set of features and APIs that allow the definition of "modules", which have a larger granularity than the package.  A module exists at compile-time for access control and at runtime to define dependencies and management of the modules. 
  • JSR 203 (NIO2) - an update of the Java New I/O libraries to complete work started in that earlier effort as well as to add a completely new filesystem API, providing greater functionality and access to platform-specific filesystem attributes.
  • JSR 310 (Date and Time) - a new library for representing dates, times, time zones, etc that replaces the existing java.util.Date and java.util.Calendar functionality.
  • JSR 166y (Concurrency) - this is an update of the Java concurrency libraries that will include the fork-join library for fine-grained parallel work processing and other incremental enhancements to the concurrency utilities in Java.
  • JSR 255 (JMX 2.0) and JSR 262 (Web Service Connector for JMX) - an updated version of JMX 2.0 providing new features such as annotations and federation in addition to a new web service based connector for remote JMX access.
  • JSR 296 (Swing Application Framework) - a new lightweight framework for handling common needs in a Swing application.
  • JSR 295 (Swing Beans Binding) - a framework for binding properties across beans so that they can change in tandem.
  • JSR 303 (Swing Beans Validation) - a framework for defining validation on beans.
  • JSR 223 (Scripting Languages) - it is expected that more script engines will be included in Java 7.

Language changes

A large number of changes has been proposed, although it's unclear which if any stand a chance of being included.

  • Strings in switch case blocks
  • Operator comparison for enums
  • Chained invocations (void methods return this implicitly)
  • Extension methods (for extending a class externally)
  • Improved catch enhancements
  • Closures - perhaps the most controversial suggested change
  • Property support - this seems unlikely but has been discussed

Resources


Comments

Chained invocation Ugly!

OMG! the chained invocation is an UGLY change! default return "this" would lead to a lot of crappy chained method invocation code, in one line i could go on chaining zillion calls to do something; very hard to read, follow and debug.

I can think of cases where i can do that; but why add the feature to the LANGUAGE, when i can do it right now if i ever wanted to? Java people preach defensive programming (if they don't they prolly should), as language experts with huge experience they should realize that programmers can often mis-use features in some ways; but to provide with features for mis-use ONLY is ridiculous.

Java People have come to believe in "Why Not" theory; As a veteran programmer, I always ask "Why" first.

Regards
Vyas, Anirudh
http://www.anirudhvyas.com

Last edited Aug 2, 2009 12:45 PM
Report abusive comment

Untitled

Good article.just came to know that sun are planning for java 7 release fro here only....thanks a lot:)

Last edited Sep 13, 2008 12:00 AM
Report abusive comment

nice clear article

Straight to the point, useful information. I hope this is kept up to date. It would be nice to have the date of last modification on the page itself, since this is a topic likely to change quickly.

I can suggest a video resource on JSR-203 "More NIO": Google Tech Talks May 1, 2008, by Alan Bateman (Sun,Spec lead) and Carl Quinn (Google) -- http://video.google.com/videoplay?docid=-3975461488578314796&q=jsr+203&ei=9ruUSJCgNIiawgPa2-TvBA

Last edited Nov 7, 2008 7:48 AM
Report abusive comment
Alex Miller
Alex Miller
St. Louis, MO
Article rating:
Your rating:

Categories

Based on community consensus.

Activity for this knol

This week:

55pageviews

Totals:

5236pageviews
4comments