The technologies under consideration have been formulated as JSR (Java Specification Requests) for consideration by the Java Community Process, Mark Reinhold, chief architect of Oracle's Java platform group, said in a blog post. "These JSRs have been a long time coming. They're now -- ﬁnally -- on the JCP ballot for approval; results should be available in two weeks."
[ The JCP has been under fire lately because of an ongoing dispute involving the Apache Software Foundation and its proposed "Harmony" version of Java. | Keep up with the latest Java news with InfoWorld's Enterprise Java newsletter. ]
Specifications include JSR 336: Java SE 7 Release Contents; JSR 337: Java SE 8 Release Contents; JSR 334 Small Enhancements to the Java Programming Language and JSR 335: Lambda Expressions for the Java Programming Language. Java SE tends to serve as a basis for Java EE (Java Platform, Enterprise Edition).
Java SE 7, or Java Platform Standard Edition 7, "will promote best coding practices and reduce boilerplate code by adding productivity features to the Java language and the Java SE APIs," the JSR states. 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, according to the proposal. "We propose to enable, among other improvements, the automatic management of I/O resources, simpler use of generics, and more concise exception handling."
Also due in Java SE 7 are concurrency APIs to accommodate multi-core processors and improvements for dynamic scripting languages. An API for asynchrony is included to boost I/O-intensive operations. The JSR cites July 2011 as the final release date for the specification.
Java SE 8, the specification reads, "will further reduce boilerplate code by adding productivity features to the Java language and the Java SE APIs." Also, Java SE 8 will deal with what the specification refers to as class path Java Archive "hell" by integrating a module system into the platform.
Additionally, the Java Collections Framework and related APIs will be enhanced in version 8 to support automatically-parallelizable bulk-data operations such as filter, map, and reduce. "Convenient use of these new APIs will be enabled by extending the Java language to include lambda expressions (a.k.a. "closures") and default methods. These language changes will, as an additional benefit, improve the productivity of developers using existing single-abstract-method APIs across the platform."
Final release of the Java SE 8 specification is planned for October 2012.
JSR 334 is intended to make programmers' jobs easier. It would amend the Java programming language and API specifications to support features including strings in switch, binary integral literals, multi-catch and more precise rethrow and improved type inference for generic instance creation. The specification also is set for finalization next July.
Lambda expressions backing featured in JSR 335 extends the Java Virtual Machine. "We propose extending the Java Language to support compact lambda expressions (otherwise known as closures or anonymous methods.) Additionally, we will extend the language to support a conversion known as 'SAM conversion' to allow lambda expressions to be used where a single-abstract-method interface or class is expected, enabling forward compatibility of existing libraries."
Final release is set for June 2012.
This article, "Oracle submits specs for Java 7 and 8," was originally published at InfoWorld.com. Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter.
Read more about developer world in InfoWorld's Developer World Channel.
This story, "Oracle submits specs for upcoming Java revamps" was originally published by InfoWorld.