Characteristics of Core Java
Introduction
Here in this article we get an explanation about the main characteristics of Java that are coming in Java SE 6. The currently planned items are displayed here. Many are already integrated, and you can try them out yourself by downloading the most recent build from the snapshot release site. We try to estimate when you can expect to see in a snapshot release those items that are still in development. When a status line reads, for example, "Delivered in b39," it means that the feature was integrated in build 39. A new build is posted to the snapshot release site weekly. The growth of the build number in each week is explained here.
Java Client Group
We want to be as open and honest as possible like the desktop Java client group. As with all large projects, some of the items we list here may not make it, but we're trying very hard. Note also that all API additions and enhancements to Java SE specification are subject to review and approval by the JSR 270 Expert Group. If the expert group decides that something listed here should not be in Java SE, then it will not be in the final version of the platform requirement.
Bug Fixing
Now we will focus our attention on fixing bugs because it is a major feature work wraps up, and also we can't fix bugs that we don't know about, now is a good time to try out the latest snapshot to make sure that all your existing applications work well. If your existing code doesn't work because of what you believe is a bug in the release, please make sure it gets into the bug database. If you find a bug -- whether new or old -- and are willing to help fix it, we want to hear from you! The collaboration site has all the details on how to get involved. We are always very happy to receive high-quality contributions.
We've listed them into the below divisions:
1. Security and Networking
2. Core Libraries
3. Java Programming Language and Tool APIs
4. Serviceability
5. Java Management Extensions (JMX)
6. Enterprise Client and XML
Tool APIs and Java Programming Language
Two Java Specification Requests (JSRs) in development will provide expanded capabilities for language dealing out. They are:
1. JSR 199, the Java Compiler API, will define a framework for compiling source files from within submissions.
2. JSR 269, the Pluggable Annotation Processing API, will standardize the capabilities of the existing annotation processing tool (apt), including a reflective API modeling the Java programming language and an API for writing annotation processors. We also plan a tree API that will complement JSR 269 by providing access to the parse trees created when Java accumulates a program.
JSR 199 and JSR 269 are currently in development, so you won't find them in the latest snapshot just yet. However, you can expect to see them in a snapshot in good time for the beta release.
Aside from the JSRs, Java SE 6 contains some miscellaneous Javac features, including support for the @SuppressWarnings annotation and the JSR 202 preverified class file format.
JSR 223
Another language-related JSR planned is JSR 223. It is a framework to allow scripting language programs to access information developed in the Java platform. We currently plan to integrate this for b40. Aside from the framework, we will also include a Java Script engine based on the Mozilla Rhino implementation. Later, we hope to include a scripting shell that is script language independent. This will be a very cool way to create a prototype, do some exploratory coding, and learn new APIs.