IBM SDK for Java Version 7 service refresh 4 general availability.
Service refresh 4 is now available on developerWorks and contains a number of enhancements to the Java V7 code base:
- Support for 2GB large pages on z/OS
- Use of large pages by default on Linux and z/OS
- Support for dynamic machine configuration changes
- Support for setting the JIT code cache page size on AIX and Linux operating systems
- Optimizations for applications that use extensive deserialization
- Optimizations for 64-bit applications
- Disabling hardware prefetch by default
- Checks on dump options and limits at JVM startup
- New unlimited security jurisdiction policy files
- Use of Oracle java.util.* packages for consistency
- Updated Health Center agent
For any late breaking news or supplementary information that is not included in the user documentation, see IBM SDK and Runtime Environment Java Technology Edition Version 7: Current news
For any security fixes provided in this service refresh, see the list of Security alerts.
Visit developerWorks: IBM developer kits to download the service refresh for your platform.
Support for 2GB large pages
On z/OS, you can now request the JVM to allocate the Java object heap with 2GB nonpageable large pages, using the -Xlp:objectheap option. This option is supported only on the 64-bit SDK for z/OS and requires certain prerequisites, which are described in JVM command-line options.
Use of large pages by default
On certain platforms and processors, the JVM now starts with large pages enabled by default for both the JIT code cache and the Java object heap, instead of the default operating system page size.
On z/OS, the JVM uses 1M pageable large pages, when running on the IBM zEnterprise EC12 with the Flash Express feature (#0402), z/OS V1.13 with APAR OA41307, and the z/OS V1.13 Remote Storage Manager Enablement Offering web deliverable.
Note: PAGESCM=ALL | NONE in the IEASYSxx parmlib member controls 1M pageable large pages for the entire LPAR. ALL is the default.
The following sizes apply to Linux:
- Linux on x86 and AMD64/EM64T: 2 MB large pages
- Linux on System z: 1 MB large pages
If the operating system is not configured for the large page size, or if the correct hardware is not available, the JVM uses the default operating system page size instead.
You can configure the large page size using the -Xlp command. For more information about the -Xlp command, see JVM command-line options.
Support for dynamic machine configuration changes
A new command-line option, -Xtune:elastic, is available to turn on JVM function at run time that accommodates dynamic machine configuration changes. For more information, see JVM command-line options.
Setting the JIT code cache page size
To be consistent with other platforms, the -Xlp:codecache:pagesize=<size> option is added for AIX and Linux PPC. As the code cache page size is derived from the operating system on these platforms, the page size can be altered only by changing operating system settings. The -verbose:sizes output shows the current page size. For more information about the -Xlp:codecache:pagesize=<size> option, see JVM command-line options.
Enabling caching of LUDCL
A new system property is available to enable caching of the Latest User Defined Class Loader (LUDCL). By reducing repeated lookups, Java applications that use deserialization extensively can see a performance improvement. For more information see -Dcom.ibm.enableClassCaching.
Optimization for 64-bit applications
The -Xcompressedrefs option is now enabled by default when the value of the -Xmx option is less than or equal to 25 GB, for all 64-bit operating systems other than z/OS. Use the -Xnocompressedrefs option to revert to the previous behavior. For z/OS operating systems, or values of -Xmx that are greater than 25 GB, compressed references are still disabled by default. For more information about these options, see JVM command-line options.
Disabling hardware prefetch
The -XXsetHWPrefetch:none option is now the default setting for hardware prefetch. A new command-line option, -XXsetHWPrefetch:os-default, is available to override this setting with the default hardware prefetch setting for the operating system. For more information, see JVM command-line options.
Checks on dump options and limits at startup
A new -Xcheck option can be set to run operating system checks during JVM startup. Messages are issued if the operating system has dump options or limits set that might truncate system dumps. For more information see -Xcheck:dump in JVM command-line options.
Unlimited jurisdiction policy files
A new set of unlimited jurisdiction policy files are available for download. Although the old policy files continue to work with all current releases, after installing IBM SDK for Java, V7 service refresh 4, you should plan to update to the new policy files before 2014. This activity is necessary ahead of the expiry of the certificates that sign these policy files. For more information, see IBM SDK policy files.
Use of java.util.* package and classes
The SDK now uses the Oracle implementation of the java.util.* package, including all classes within the package. Earlier releases of the SDK used customized versions of the Apache Harmony class libraries. This change establishes a common implementation point for the java.util.* package, enabling consistent performance and behavior characteristics across Java implementations. Existing applications are expected to function without problems. However, if testing exposes any issues, contact your IBM service representative.
Health Center agent
This release contains a later level of the IBM Monitoring and Diagnostic Tool for Java Health Center agent. To learn about the function included with this agent, see Health Center platform requirements.