Chuk Munn Lee has been programming in the Java language since 1996, when he first joined Sun Microsystems in Hong Kong. He currently works as a senior developer consultant and technology evangelist for Technology Outreach at Sun in Singapore. Chuk's focus is in: Java APIs, Java EE, Java SE, and Java ME. Chuk worked with key Asia-Pacific independent software vendors (ISVs) during the last six years to helped them design, prototype, develop, tune, size, and benchmark their Java applications. Chuk is also an avid gamer; he shares his enthusiasm for Java technology adoption with other game developers. Chuk graduated in 1987 from the Royal Melbourne Institute of Technology in Melbourne, Australia, where his favorite subject was compiler theory.
** Psst: Apart from the learning there would be some goodies as well
JSR-000336 for Java SE 7 Release provides this overview of what's new in Java 7:
The feature set for Java SE 7 is driven, in large part, by a set of themes. The themes describe the main focal points of the release. Some themes are fairly abstract guiding principles; others are more concrete in that they identify particular problem areas, significant new feature sets, or specific target market segments.
The themes are not prioritized, except that the first one is the most important.
Compatibility: As the platform has matured, yet continued to evolve, many community members have naturally come to expect that their investments in Java-based systems, whether large or small, will be preserved. Any program running on a previous release of the platform must also run—unchanged—on an implementation of Java SE 7. (There are exceptions to this general rule but they are exceedingly rare, and they typically involve serious issues such as security.)
Productivity: Java SE 7 will promote best coding practices and reduce boilerplate code by adding productivity features to the Java language and the Java SE APIs. These features will increase the abstraction level of most applications in a pragmatic way, with no significant impact on existing code and a minimal learning curve for all developers. We propose to enable, among other improvements, the automatic management of I/O resources, simpler use of generics, and more-concise exception handling.
Performance: The Java SE platform has traditionally offered developers a range of features for writing scalable multi-threaded applications, for example with monitors in the Java language and VM and the concurrency utilities defined in JSR 166. To keep up with the inexorable trend toward multicore CPUs, Java SE 7 will add new concurrency APIs developed by Prof. Doug Lea and the JSR 166 community. These include, in particular, a Fork/Join Framework which can adaptively scale some types of application code to the available number of processors. Java SE 7 will further enable I/O-intensive applications by introducing a true asynchronous I/O API as part of JSR 203.
Universality: Building upon the initial work in Java SE 6 to support scripting languages, Java SE 7 will introduce, via JSR 292, a new “invokedynamic” bytecode instruction and related APIs which will accelerate the performance of dynamic languages on the Java Virtual Machine.
Integration: The Java SE Platform provides developers with a wealth of capabilities, but Java applications do not operate in isolation. A specific pain point for many years has been that of interacting with native filesystems, where a good user experience often requires exposing some details of the underlying platform. Java SE 7 will include a new, flexible filesystem API as part of JSR 203 which will provide portable access to common filesystem operations yet also allow platform-specific code to be written when desired.
"Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners."