Java 7 does not have revolutionary changes but it includes some good features and language clean-ups. The changes includes 4 major JSRs which are :

- JSR 334 : New language features : Strings in switch statements, try-with-resources statements, improved type inference for generic instance creation ("diamond"), simplified varargs method invocation, better integral literals, and improved exception handling (multi-catch)
- JSR 292 JVM support for dynamic languages (eg. jruby, scala), following the prototyping work currently done on the Multi Language Virtual Machine = invokedynamic
- JSR 166 A new multi-core ready API : Fork/Join is a Java framework for supporting a style of parallel programming in which problems are solved by splitting them into subtasks that are solved in parallel, waiting for them to complete, and then composing the results.
- JSR 203 new I/0 APIS : Many of the methods were created without exceptions. File deletion fail error messages are detailed. Greater access to metadata such as file permissions is possible. java.nio.2
- JDBC 4.1, XRender pipeline for java 2D, Upgraded classloader architecture, ECC, Gervill sound engine

Visit Java 7 product page for more information.
And be ready for Java 8. Java 8 will be implemented with the remaining features in late 2012. Java 8 is planned to include closures (lambda operator) and features to make a modular JDK (project jigsaw)

SOME CRITICISM
Uwe Schindler from Apache reports in a newsletter : "Oracle released Java 7 today. Unfortunately it contains hotspot compiler optimizations, which miscompile some loops. This can affect code of several Apache projects. Sometimes JVMs only crash, but in several cases, results calculated can be incorrect."
!!! DO YOU KNOW THAT Apache Foundation has been developing Harmony as an open source implementation of the Java platform.
"The buggy Java SE 7 release" article by Neil Mc Allister
JAVA VERSION HISTORY
JDK 1.0 Oak: 01/1996
JDK 1.1 Sparkler: 02/1997
JDK 1.1.5 Pumpkin 12/1997
JDK 1.1.6 Abigail 04/1998
JDK 1.1.7 Brutus 09/1998
JDK 1.1.8 Chelsea 04/1999
J2SE 1.2 Playground: 12/1998
J2SE 1.2.2 Cricket 07/1999
J2SE 1.3 Kestrel: 05/2000
J2SE 1.4 Merlin : 02/2002
J2SE 1.4.1 Hopper : 09/2002
J2SE 1.4.2 Mantis : 06/2003
J2SE 5.0 Tiger : 09/2004
Java SE 6 Mustang: 12/2006
Java SE 7 Dolphin : 07/2011
LEARN ABOUT JAVA 7
OFFICIAL ANNOUNCEMENT
Oracle announced the release of the long-waited Java 7 with the following announcement.
We are excited to announce Java 7 is released!
With years of hard work from our dedicated engineers, the largest team ever to work on the Java language and platform, as well as valuable input from the Java community, we are moving Java forward with this release.
This release contains new language features (JSR 334), support for dynamic languages (JSR 292), a new multicore-ready API (JSR 166), new I/O APIs (JSR 203), and many other new features.
A related news. Old but, it's worth remembering!
ReplyDelete-----------------------------------------
Apache declares war on Oracle over Java
http://www.itworld.com/legal/127051/apache-declares-war-oracle-over-java
-----------------------------------------
November 09, 2010, 9:24 PM — Charging that Oracle has willfully disregarded the licensing terms for its own Java technology, the Apache Software Foundation has called upon other members of the Java Community Process (JCP) to vote against the next proposed version of the language, should Oracle continue to impose restrictions on open-source Java use.
A related post.
ReplyDelete-----------------------------------------
LUCENE:Don’t Use Java 7, For Anything
http://www.lucidimagination.com/blog/2011/07/28/dont-use-java-7-for-anything/
-----------------------------------------
Uwe Schindler, there are some very frightening bugs in HotSpot Loop optimizations that are enabled by default. In the best case scenario, these bugs cause the JVM to crash. In the worst case scenario, they cause incorrect execution of loops.
Bottom Line: Don’t use Java 7 for anything (unless maybe you know you don’t have any loops in your java code)
A criticism over Apache's "Don't use Java 7" Announcement
ReplyDelete-----------------------------------------
Don't Use Java 7? Are you kidding me?
http://java.dzone.com/articles/dont-use-java-7-are-you?
-----------------------------------------
You could be affected. At the moment basically only if you have some parts in your software that make big use of the optimization methods which are broken. But for the average use cases this will not affect you. In general this also will affect Java 6 users but only if they use the optimization options, which are on by default with Java 7
Another positive feedback to java 7 release
ReplyDelete-----------------------------------------
Java SE 7 - A triumph for Oracle?
http://www.internetnews.com/blog/skerner/java-se-7-a-triumph-for-oracle.html
-----------------------------------------
The future of Java isn't just about Java as a language but Java as a platform for dynamic languages. With the pervasiveness of Java today, expanding the use of the JVM for 'everything else' will be the key technology asset that keeps Java relevant for years to come.
Sure, Apache left the process...but IBM joined it more fully.
Yes there is much work to do and sure Java SE 7 is only half what it once was going to be (and Java SE 8 is just around the corner with the other half), but that's part of this releases success too.
You really did a great job. I found your blog very interesting and very informative. I think your blog is great information source & I like your way of writing and explaining the topics. Keep it up.For more details about oracle fusion financials please check our website.
ReplyDeleteOracle Fusion Financial Training Institute