By azhebel on Jul 31, 2013
Documentation changes to the Java Developer Guides and The Java Tutorials that reflect new features in the upcoming release of the Java SE Development Kit 8 (JDK 8) are highlighted by the documentation team regularly. Some early access material in The Java Tutorials was already covered earlier this year.
We are enhancing and updating the developer guides with new content as well. You can find all the updated documentation on the JDK 8 Early Access Documentation web site. Some of the changes so far are listed below with links to relevant documents and lessons.
The following enhancements affect the security features in Java SE:
Server Name Indication Extension for Server Applications
The Server Name Indication (SNI) extension is a feature that extends the SSL/TLS protocols to indicate what server name the client is attempting to connect to during handshaking. In the Java Secure Socket Extension (JSSE) API for JDK 7, the SunJSSE provider has enabled SNI extension for client applications. JDK 8 supports the SNI extension for server applications as well. Servers can use the SNI to decide if specific
SSLEngine instances should accept a connection.
For information and examples, see the Server Name Indication (SNI) Extension section in the JSSE Reference Guide.
New PKIXRevocationChecker Class
PKIXRevocationChecker class checks the revocation status of certificates with the X.509-based public-key infrastructure (PKIX) algorithm. It supports best-effort checking, single-certificate checking, and mechanism-specific options and parameters.
For more information, see the Java PKI API Programmer’s Guide.
SHA-224 Message Digests
The cryptographic algorithms in JDK 8 have been enhanced with the SHA-224 variant of the SHA-2 family of message-digest implementations. For more information, see the following updated documentation:
Stronger Algorithms for Password-Based Encryption
Several AES password-based encryption (PBE) algorithms, such as
PBEWithSHA512AndAES_256, have been added to the SunJCE provider. For more information, see the Oracle Providers Documentation.
Enhanced Support for NSA Suite B Cryptography
This enhancement includes the addition of SHA-224, SHA-256, SHA-384, and SHA-512 message digests, as well as SHA224withDSA and SHA256withDSA signatures. Also, the keysize limit for the Diffie-Hellman algorithm has been increased from 1024 to 2048.
The following enhancements affect the internationalization features in Java SE:
Installation of Custom Resources as Extensions
java.util.spi.ResourceBundleControlProvider interface enables you to change how the
ResourceBundle.getBundle() method loads resource bundles.
ResourceBundleControlProvider is a service provider interface (SPI). SPIs enable you to create extensible applications, which are those that you can extend easily without modifying their original code base.
For more information, see the Installing a Custom Resource Bundle as an Extension lesson in The Java Tutorials.
New Calendar and Locale APIs
New and updated Locale and Calendar APIs in JDK 8 support enhancements in the Unicode Common Locale Data Repository (CLDR) project. For a list of the APIs, see the Internationalization Enhancements page.
The following enhancements affect the tools and utilities supplied with the JDK:
Removal of the Old Java Plug-In
The old Java Plug-in (the version available prior to Java SE 6 Update 10) has been removed. The Java Rich Internet Applications Guide has been rewritten to reflect this.
Pack200 Engine Updates
In Java SE 8, the Java class file format has been updated to reflect changes introduced by JSR 292: Supporting Dynamically Typed Languages on the Java Platform. Consequently, the Pack200 engine has been updated accordingly to ensure that class files are compressed effectively. In particular, the Pack200 engine now recognizes constant pool entries and new bytecodes introduced by JSR 292. As a result, compressed files created with this version of the
pack200 tool will not be compatible with older versions of the
For more information, see the Compression Formats for Network Deployment section of the Java Rich Internet Applications Guide.
The following enhancements affect the Java language.
Lambda expressions enable you to treat functionality as a method argument, or code as data. They also let you express instances of single-method classes more compactly.
For more information, see the Lambda Expressions lesson in The Java Tutorials.
Parallel Array Sorting
JDK 7 introduced the Fork/Join framework for lightweight data parallelism, but users have to implement their own algorithms for simple/common tasks. In JDK 8, the Fork/Join framework is used to provide a standard implementation of parallel sorting for arrays.
Annotations API Updates
Java SE 8 includes significant updates to the Annotations API:
- It is now possible to apply the same annotation type more than once to the same declaration or type use. This feature is called repeating annotations.
- It is now possible to apply an annotation anywhere a type is used, not just on a declaration. Used in conjunction with a pluggable type system, this feature allows for improved type checking of your code.
For more information, see the Annotations lesson in The Java Tutorials.