Java Runtime Environment  18.104.22.168
# OlsonData 2009s
* 6u18 contains Olson time zone data version 2009s.
# Additional Supported System Configurations
For 6u18, support has been added for the following system configurations:
* Ubuntu 8.04 LTS Desktop Edition for both JFB and Java SE (x86) in 32-bit
* SLES 11
* Windows 7 support is now available
* Red Hat Enterprise Linux 5.3
# VisualVM 1.2
VisualVM 1.2 is included in 1.6.0_18. VisualVM 1.2 introduces the following features and enhancements:
* Sampling CPU and Memory profiler plugin (VisualVM-Sampler available on Plugins Center)
* Support for multiple jstatd connections on a single local/remote host
* New charts with dynamic tooltips, public Charts API for plugins
* Monitor and Threads tab are saved into Application Snapshot
* Application Snapshots can be opened using the Load action or --openfile parameter
* Properties UI for Applications, Hosts and Snapshots, public Properties API for plugins
* Customizable proxy settings in Options dialog
* UI for customizing SSL certificates in Options dialog (VisualVM-Security available on Plugins Center)
* Enhanced JMX API to enable customizing JMX environment/connections by plugins
* Display name defined by the monitored application: visualvm.display.name property
* Improved performance for remote X sessions
* Automatic detection of broken jvmstat on Windows (username capitalization vs. hsperfdata file)
* Various UI improvements: main menu, toolbar and context menu; system (theme) colors; About dialog, profiler snapshots, HeapWalker
# Java DB
Java DB 10.5.3.0 is included in 1.6.0_18. Java DB 10.5.3.0 introduces the following improvements:
* SQL Roles
* Generated Columns
* LOB Improvements
* Replication of encrypted databases
* OFFSET/FETCH FIRST syntax
* In-memory back end
* Better updating of optimizer statistics
* Service-tag aware installers
# Performance Improvements
6u18 introduces improvements in the following areas:
* Faster jar File Creation
The fix of a long standing bug related to jar file creation has greatly improved creation time. For example, for a given jar file, it is possible that you might see a creation time improvement in the range of 20 percent. (Refer to 6496274.)
* Java Hotspot VM 16.0
6u18 includes version 16.0 of the Java HotSpot Virtual Machine. Contributing to increased performance in this release are several enhancements in Java HotSpot VM 16.0. These include:
- Improved NUMA-aware allocation
- Extensions to compressed object pointers
- Garbage collection improvements
> Updated Client JVM heap configuration
In the Client JVM, the default Java heap configuration has been modified to improve the performance of today's rich client applications. Initial and maximum heap sizes are larger and settings related to generational garbage collection are better tuned.
^ The default maximum heap size is half of the physical memory up to a physical memory size of 192 megabytes and otherwise one fourth of the physical memory up to a physical memory size of 1 gigabyte.
For example, if your machine has 128 megabytes of physical memory, then the maximum heap size is 64 megabytes, and greater than or equal to 1 gigabyte of physical memory results in a maximum heap size of 256 megabytes.
^ The maximum heap size is not actually used by the JVM unless your program creates enough objects to require it. A much smaller amount, termed the initial heap size, is allocated during JVM initialization. This amount is at least 8 megabytes and otherwise 1/64 of physical memory up to a physical memory size of 1 gigabyte.
^ The maximum amount of space allocated to the young generation is one third of the total heap size.
^ The updated heap configuration ergonomics apply to all collectors except Concurrent Mark-Sweep (CMS). CMS heap configuration ergonomics remain the same.
^ Server JVM heap configuration ergonomics are now the same as the Client, except that the default maximum heap size for 32-bit JVMs is 1 gigabyte, corresponding to a physical memory size of 4 gigabytes, and for 64-bit JVMs is 32 gigabytes, corresponding to a physical memory size of 128 gigabytes.
> Work stealing termination
> Work queue overflow processing
> Bit set processing on 64-bit Linux
- Class loading optimizations for faster startup
- Code generation improvements
> New intrinsics using SSE 4.2
> New intrinsics for Integer/Long bit operations - leading/trailing zeros, bit count
> Unsigned byte and integer loads
> Integer load shortening
> Elision of needless conversions between integer primitive types
> Optimization of common string concatenation patterns
- Garbage First (G1) garbage collector
> Improved reliability and performance
> Available as "early access" software.
- Serviceability enhancements
> New options to request a heap dump or class histogram before or after a full GC
> New tool to decode LogCompilation output
- Extensive reliability improvements
* Application Startup Improvements
- Better startup of applications and applets on systems where D3D is used. Savings are up to 100-200ms depending on application and the system.
- Revised support for pre-verification of FX runtime. Improves warm start of typical FX applications by up to 15 percent.
- Concurrent download of jars for webstart applications and applets.
- Number of other startup improvements for UI applications and applets.
* Runtime Performance Improvements for UI Applications
- Improved performance of applications using translucent windows.
- Better performance and smaller memory consumption by text rasterizer.
- Faster processing of PNG images.
* Ability to Read Larger .zip Files
- As of this update release, it is possible to read .zip files of sizes up to 4 gigabytes.
# Deployment Updates
* Java Web Start
Java Web Start now implements JSR-056 version 6.0.18.
New Java Network Launch Protocol (JNLP) API
- The javax.jnlp.DownloadService2 interface provides services to query the cache. See Using the DownloadService2 Service to learn more.
- The javax.jnlp.DownloadServiceListener interface provides methods to specify a custom progress indicator that indicates the progress of an application's download. See Using the DownloadServiceListener Service to learn more. See JNLP File Syntax for information about the syntax of JNLP files.
- The javax.jnlp.IntegrationService interface provides methods for programmatic management of shortcuts. See Using the IntegrationService Service to learn more.
* Deploying Java Web Start Applications Without Specifying the codebase Attribute The Deployment Toolkit script contains the following new functions that enable the deployment of Java Web Start applications without specifying the codebase attribute in the application's JNLP file:
- createWebStartLaunchButtonEx(jnlp, minimumVersion)
* New JNLP Extension Security Dialog
A new security dialog has been introduced in 6u18 for installing signed Java extensions on a user's system. Java extensions are components described in JNLP files that are typically intended to be used by a large number of applications and applets.
The new security dialog is triggered by an application that references the Java extension in its JNLP file (by including it in the resources element). The security dialog will ask the user if they would like to install the extension. Once the extension is installed, it can be referenced by other applications without the need for asking the user's permission again (as long as it is the same extension from the same codebase).
The JNLP file of the Java extension must adhere to the following requirements:
- The JNLP file MUST contain a component-desc element that describes the Java extension.
- The JAR files that are specified in the resources element MUST be signed with the same certificate.
- The signer's certificate MUST contain an Authority Information Access or CRL Distribution Points extension so that the revocation status can be checked (via OCSP or CRLs).
# JSR-173 StAX 1.2 API Upgrade
* 6u18 includes an upgrade to minor revision 1.2 of JSR-173 Streaming API for XML (StAX) which was a result of Maintenance Reviews 2 and 3. You can find more details about these Maintenance Reviews in the JSR 173 Change Log.
* The StAX 1.2 upgrade maintains binary and source compatibility. Existing binaries compiled on StAX 1.0 will continue to run on StAX 1.2. Programs written to StAX 1.0 will continue to compile to StAX 1.2.
* There will be a minor behavioral difference if deprecated methods are used. In this case, there will be deprecation warnings at compilation. Other than these warning messages, the StAX 1.2 upgrade maintains behavioral compatibility.
# Various bug fixes