April 17th, 2013Blacklisted Jars and Certificates:
· Oracle now manages a certificate and jar blacklist repository. This data is updated on client computers daily on the first execution of a Java applet or web start application.
Changes to Java Control Panel's Security Settings:
· In this release, low and custom settings are removed from the Java Control Panel(JCP)'s Security Slider. Depending on the security level set in the Java Control Panel and the user's version of the JRE, self-signed or unsigned applications might not be allowed to run. The default setting of High permits all but local applets to run on a secure JRE. If the user is running an insecure JRE, only applications that are signed with a certificate issued by a recognized certificate authority are allowed to run.
Changes to Security Dialogs:
· As of JDK 7u21, JavaScript code that calls code within a privileged applet is treated as mixed code and warning dialogs are raised if the signed JAR files are not tagged with the Trusted-Library attribute.
· The JDK 7u21 release enables users to make more informed decisions before running Rich Internet Applications (RIAs) by prompting users for permissions before an RIA is run. These permission dialogs include information on the certificate used to sign the application, the location of the application, and the level of access that the application requests. For more information, see User Acceptance of RIAs.
Changes to RMI:
· From this release, the RMI property java.rmi.server.useCodebaseOnly is set to true by default. In previous releases the default value was false. This change of default value may cause RMI-based applications to break unexpectedly. The typical symptom is a stack trace that contains a java.rmi.UnmarshalException containing a nested java.lang.ClassNotFoundException.
Server JRE:
· A new Server JRE package, with tools commonly required for server deployments but without the Java plug-in, auto-update or installer found in the regular JRE package, is available starting from this release. The Server JRE is specifically targeted for deploying Java in server environments and is available for 64-bit Solaris, Windows and Linux platforms. Some of the tools included in the initial release of the Server JRE package, may not be available in future versions of the Server JRE. Please check future release notes for tools availability if you use this package.
Changes to Runtime.exec:
· On Windows platform, the decoding of command strings specified to Runtime.exec(String), Runtime.exec(String,String[]) and Runtime.exec(String,String[],File) methods, has been improved to follow the specification more closely. This may cause problems for applications that are using one or more of these methods with commands that contain spaces in the program name, or are invoking these methods with commands that are not quoted correctly.
March 5th, 2013· This Security Alert addresses security issues CVE-2013-1493 (US-CERT VU#688246) and another vulnerability affecting Java running in web browsers. These vulnerabilities are not applicable to Java running on servers, standalone Java desktop applications or embedded Java applications. They also do not affect Oracle server-based software.
· These vulnerabilities may be remotely exploitable without authentication, i.e., they may be exploited over a network without the need for a username and password. For an exploit to be successful, an unsuspecting user running an affected release in a browser must visit a malicious web page that leverages these vulnerabilities. Successful exploits can impact the availability, integrity, and confidentiality of the user's system.
February 20th, 2013· Auto-update and update through Java Control Panel of JRE 6 will replace JRE 6 with JRE 7
· Since JRE 6 has reached its End of Public Updates Oracle is taking steps to protect consumer desktops. We will not leave a version of Java installed for which we no longer provide security updates .
· In order to do so, when updating from JRE 6, the update mechanism will not only install the latest version of JRE 7 but will also remove the highest version of JRE 6 on the system. This change will happen when the system is updated via the auto-update mechanism or by checking for updates directly from the Java Control Panel.
· Users who need to keep a version of JRE 6 in their systems can do so by manually installing the latest version of JRE 7 rather than relying on auto-update or updates through the Java Control Panel.
· If JRE 6 has already been removed from a system, but the user would like to restore it, earlier versions of Java can be accessed from the Java Archive.
· Note that Oracle strongly recommends leaving only up-to-date versions of the JRE on desktops. Retaining an older version of the JRE in your systems should only be done by expert users or enterprise administrators with a need for those earlier versions and an understanding of the associated risks.
Bug Fixes:
· This release contains fixes for security vulnerabilities.
January 14th, 2013Bug Fixes:
· This release contains fixes for security vulnerabilities. For more information, see Oracle Security Alert for CVE-2013-0422.
In addition, the following change has been made:
· Area: deploy
· Synopsis: Default Security Level Setting Changed to High
· The default security level for Java applets and web start applications has been increased from "Medium" to "High". This affects the conditions under which unsigned (sandboxed) Java web applications can run. Previously, as long as you had the latest secure Java release installed applets and web start applications would continue to run as always. With the "High" setting the user is always warned before any unsigned application is run to prevent silent exploitation.
October 17th, 2012Bug Fixes:
· Porting fix for TimeZone from JDK 8 back to JDK 7
· UnsatisfiedLinkError on PKCS11.C_GetOperationState while using NSS from jre7u6 +
· XML Signature DOM implementation should not use instanceof to determine type of Node
August 31st, 2012· This release contains fixes for security vulnerabilities
June 13th, 2012· This release contains fixes for security vulnerabilities.
· Notable Bug Fixes in JDK 7u5
· This list includes some of the notable bug fixes in JDK 7u5.
· Area: hotspot/runtime_arguments
· Synopsis: Improve VM configuration file loading.
· JDK 7u5 contains changes to the default implicit loading of the .hotspot_compiler and .hotspotrc file. For existing deployments which rely on .hotspot_compiler (e.g. to exclude a method from hotspot compilation), an unsupported behavioral option has been provided to simulate the old loading behavior.
Command line options to support old behavior:
· XX:Flags=.hotspotrc
· will revert to old behavior for .hotspotrc.
· XX:CompileCommandFile=.hotspot_compiler
· for the .hotspot_compiler file.
June 13th, 2012Bug Fixes:
· This release contains fixes for security vulnerabilities. For more information, see Oracle Java SE Critical Patch Update Advisory.
· Notable Bug Fixes in JDK 6u33
· This list includes some of the notable bug fixes in JDK 6u33.
· Area: hotspot/runtime_arguments
· Synopsis: Improve VM configuration file loading.
· JDK 6u33 contains changes to the default implicit loading of the .hotspot_compiler and .hotspotrc file. For existing deployments which rely on .hotspot_compiler (e.g. to exclude a method from hotspot compilation), an unsupported behavioral option has been provided to simulate the old loading behavior.
Command line options to support old behavior:
· XX:Flags=.hotspotrc
· will revert to old behavior for .hotspotrc.
· XX:CompileCommandFile=.hotspot_compiler
· for the .hotspot_compiler file.
April 27th, 2012New JVM (Java HotSpot Virtual Machine, version 23):
HotSpot 23 features JRockit JVM feature convergence. Some of the value-add features of the JRockit JVM are re-implemented in the HotSpot JVM. These features include:
· Text dumps with buffered data: buffered JVM state information available in text crash dumps and core/mdmp
· Diagnostics command framework (jcmd) and diagnostic commands
· Enhanced JMX Agent
New Supported Garbage Collector: Garbage First (G1):
· Starting in Java SE 7u4 the Garbage First Collector is fully supported. The G1 collector is targeted for applications that fully utilize the large amount of memory available in today's multiprocessor servers, while still keeping garbage collection latencies under control. Applications that require a large heap, have a big active data set, have bursty or non-uniform workloads or suffer from long Garbage Collection induced latencies should benefit from switching to G1.
JAXP upgraded to 1.4.6:
· The new JAXP 1.4.6 version includes fixes for critical issues in the areas of conformance, performance, and regressions.
· Java DB upgraded to 10.8.2.2
SPARC T4 specific crypto optimizations in the security area:
· SPARC T4 contains on-chip(native) cryptographic implementations. These implementations can be accessed by Java applications utilizing either SunPKCS11-Solaris provider(available since Java SE 5.0 release) or OracleUcrypto Provider(new in 7u4 release).
· The new OracleUcrypto Service Provider accesses the underlying native(T4) crypto library without going through the PKCS11 layer and is configured by default to be the most preferred provider for Solaris OS.
New flag to unlock Commercial Features:
· The Java SE 7 Update 4 release introduces a new flag, -XX:+UnlockCommercialFeatures. This flag enables Oracle Java SE users to control when licensed features are allowed to run. All commercial features started or controlled via the command line or dynamically during execution will be gated by this flag. By default, commercial features are not allowed to execute, and any usage requires an active unlocking either on the command line or dynamically during runtime, to help remove any accidental usage.
Bug Fixes:
· Area: java/classes_awt 4
· Synopsis: [macosx] Document Usage of -XstartOnFirstThread and -Xdock.
· The command line arguments -XstartOnFirstThread, -Xdock:icon, and -Xdock:name are now documented as officially supported options on the Mac OS platform.
April 27th, 2012· 3DNow Prefetch Instruction Support
· Adjust allocation prefetching for T4
· assert(VM_Version::supports_sse2()) failed: must support
· Remove hotspot assertion due to Solaris 8 kstat "unimplemented".
· ARM: SEGV on panda with linaro 3.1.1 running specjvm2008
· make the string table size configurable
· Parallel CMS fails to properly mark reference objects
· GarbageCollectorMXBean#getLastGcInfo leaks native memory
· C-heap growth issue in ThreadService::find_deadlocks_at_safepoint
· Memory leak in inferencing verifier (libverify.so)
· Introspector.getBeanInfo() should release some resources in timely manner
· File.setWritable() / File.canWrite() not behaving as expected
· CookieManager does not store cookies if url is read before setting cookie manager
· (so) Socket adapter need to implement sendUrgentData
· (so) Socket adpator is not synchronized on channel state
· (so) Suppress creation of SocketImpl in SocketAdaptor's constructor
· Cannot decode PublicKey (Provider SunPKCS11, curve prime256v1)
· Gervill for 6uXX (2): make Gervill the default synthesizer
· Problem with timezone in a SimpleDateFormat
· Properties.loadFromXML fails with ClassCastException
· compiler generates bad code when translating conditional expressions
· IncompatibleClassChangeError with unreferenced local class with subclass
· 32-bit JRE silent install fails on WINDOWS 2008 SERVER 64-bit under System account
· installation fails by SMS under System Account
· Separate demos from the bundles on Windows, Solaris and Linux
· DT fails to register with Chrome
· uninstall of JRE 7 with JRE 6 on the machine left 10.0.0 deployment registry key behind
· IE9 prompts to disable Java plugin because of slow start up
· Redirection of registry keys not happening correctly with old plugin
· old-plugin liveconnect missing SecureCookiePermission
· Java Plugin does not evaluate automatic proxy files correctly on Linux: always picks first proxy
· 20ms latency always observed for LiveConnect round-trip in IE
· revisit IE LiveConnect performance fix to address applet hang issue found by Citigroup
· Java Web Start 10.1.* is considerably slower than Web Start 1.4.2, using getresource() repeatedly
· Compilation of StarOffice wordml XSLT filter via XSLTC throws exception
· JDK6u18 XSLT regression: xsl:copy-of failing to copy generated attributes
· Cipher.doFinal(ByteBuffer,ByteBuffer) fails to process when in.remaining() == 0
· (was 7011759 Bug Cloned - 6u16: Recovering buffer manager read stream underflow from protocols are
· Regular unexplained npe's from corba libs after system has been running for days
· GSSAPI/SPNEGO does not work with server using MIT Kerberos library
· Incorrect SSLEngine debug output
· Npe occurs in abstractprocessor.readfromnextstructure
· SAAJ does not set correct namespace prefix and namespace URI for attributes in some circumstances.
April 27th, 2012· Java SE 6u31 contains Olson time zone data version 2011l.
· This release contains fixes for security vulnerabilities.
Other Bug Fixes:
· Area: java_plugin: plugin2
· Synopsis: Move npjp2.dll to a new directory to prevent Firefox from auto-detecting it.
December 13th, 2011This update release contains functionality enhancements for Java applications:
· New JVM (Java HotSpot Virtual Machine, version 22) that improves reliability and performance
· Support for Oracle Solaris 11
· Support for Firefox 5 and later
· JavaFX is included with Java SE
For Java SE 7u2, the following system configurations have been certified:
· Oracle Solaris 11
· Firefox 5, 6, 7, and 8
Enhanced Security Through Old Release Warnings:
· If users have a version of Java on their systems that is below the security baseline, a warning message is displayed before an application or an applet can be run.
In Java SE 7u2, demos and samples have been removed from the JDK installers and placed into separate bundles:
· On Windows, demos and samples are available as .zip files.
This release introduces the following improvements for web-deployed applications:
· Non-blocking installation of JRE and JavaFX using Deployment Toolkit: The web page continues to accept user input while Deployment Toolkit downloads and installs the required components.
· Reduced footprint of signed JAR files: This release provides a new signing method that enables you to sign a JAR file as one large object instead of signing every JAR entry individually. This saves up to 10% of the total JAR size. Note: Users must run JRE 7 Update 2 or later to be able to use these JARs
· Caching certificate details in the JNLP file for signed applications: For an application that uses security, a security dialog will present the cached certificates immediately for user approval while downloading the application in the background. An older JRE will ignore this functionality; it will present the certificate information after the application is downloaded.
· Caching enabled by default: Caching of network content for application code running in Web Start mode is now enabled by default. This allows application improved performance and consistency with applet execution mode. To ensure the latest copy of content is used, the application can use URLConnection.setUseCaches(false) or request header Cache-Control values no-cache/no-store.
· Embedded JNLP support for Web Start: The Deployment Toolkit can use a copy of a JNLP file embedded into a web page to launch an application. This helps to reduce number of network connections needed for the first start of a Web Start application from the browser
· Ability to pass secure JVM arguments to the Web Start application from inside the web page using Deployment Toolkit: This helps to avoid JVM relaunch due to JVM configuration mismatch and also helps to pass dynamic parameters from the web page
· Improvements for handling content with gzip encoding: The deployment cache will keep application content in compressed form and return it to the application as-is with gzip content-encoding in the HTTP header. This makes behavior more consistent across different execution modes (first launch versus subsequent launch, cache enabled versus cache disabled).
· Improved support for JNLP applications: JavaFX applications are more cleanly uninstalled; see 7085171 and 7053087. Recognition of JNLP install hints is improved
· Startup improvements: Startup has been improved for specific scenarios
· New setting, Insecure JRE versions, in Java Control Panel: If users have a version of Java on their system that is below the security baseline, a warning message is displayed before an application or an applet can be run using that version.
October 19th, 2011Olson Data 2011g:
· Java SE 7u1 contains Olson time zone data version 2011g
This update release includes the following new entries to the Blacklist:
· Cisco AnyConnect Mobility Client
· Microsoft UAG Client
RMI Registry Issue:
· A bug in the rmiregistry command included in this release may cause unintended exceptions to be thrown when an RMI server attempts to bind an exported object which includes codebase annotations using the "file:" URL scheme. The RMI servers most likely to be effected are those which are invoked only by RMI clients executing on the same host as the server.
· RMI annotates codebase information as part of the serialized state of a remote object reference to assist RMI clients in loading the required classes and interfaces associated with the object at runtime. Exported objects which are looked up in the RMI registry and invoked by RMI clients running on hosts other than the server are usually annotated with codebase URL schemes, such as "http:" or "ftp:" and these should continue to work correctly.
· As a workaround, RMI servers can set the java.rmi.server.codebase property to use codebase URLs other than the "file:" scheme for the objects they export.
Bug Fixes:
· This release contains fixes for security vulnerabilities
July 29th, 2011Swing Enhancements:
JLayer Class:
· The JLayer class is a flexible and powerful decorator for Swing components. It enables you to draw on components and respond to component events without modifying the underlying component directly. For more information, read How to Decorate Components with JLayer in the Java Tutorial.
Nimbus Look & Feel:
· The Nimbus Look & Feel (L&F) has moved from com.sun.java.swing to a standard API namespace, javax.swing; see the javax.swing.plaf.nimbus package for more information. Although it is not the default L&F, you can easily use it. Consult the Nimbus Look and Feel section in the Java Tutorial for more information and examples of three simple methods for using Nimbus in your applications.
Heavyweight and Lightweight Components:
· Historically, mixing heavyweight (AWT) and lightweight (Swing) components in the same container has been problematic. However, mixing heavyweight and lightweight components is easy to accomplish in Java SE 7. The Mixing Heavyweight and Lightweight Components article shows you how.
Shaped and Translucent Windows:
· The Java SE 7 release supports windows with transparency and non-rectangular shapes. See How to Create Translucent and Shaped Windows, part of the Java Tutorial.
Hue-Saturation-Luminance (HSL) Color Selection in JColorChooser Class:
· An HSV tab has been added to the JColorChooser class, which allows users to select colors using the Hue-Saturation-Luminance (HSL) color model.
Enhancements in Java I/O:
The java.nio.file package and its related package, java.nio.file.attribute, provide comprehensive support for file I/O and for accessing the file system. A zip file system provider is also available in JDK 7. The following resources provide more information:
· File I/O (featuring NIO 2.0) in the Java Tutorials; NIO stands for non-blocking I/O
· Developing a Custom File System Provider
· Zip File System Provider
· The directory /sample/nio/chatserver/ contains samples that demonstrate the new APIs contained in the java.nio.file package
· The directory /demo/nio/zipfs/ contains samples that demonstrate the NIO.2 NFS (Network File System) file system
Networking Enhancements:
· The URLClassLoader.close method has been added. This method effectively eliminates the problem of how to support updated implementations of the classes and resources loaded from a particular codebase, and in particular from JAR files.
· The Sockets Direct Protocol (SDP) provides access to high performance network connections
Security Enhancements:
Elliptic Curve Cryptography (ECC):
· A new native provider has been added to the Java SE 7 release that provides several ECC-based algorithms (ECDSA/ECDH).
CertPath Algorithm Disabling:
· Weak cryptographic algorithms can now be disabled. For example, the MD2 digest algorithm is no longer considered secure. The Java SE 7 release provides a mechanism for denying the use of specific algorithms in certification path processing and TLS handshaking.
JSSE (SSL/TLS):
TLS 1.1:
· The SunJSSE provider now supports TLS 1.1 as described in RFC 4346. The most important update is protection against cipher block chaining (CBC) attacks.
TLS 1.2:
· The SunJSSE provider now supports TLS 1.2 as described in RFC 5246. Among other things, it specifies different internal hashing algorithms, adds new cipher suites, and contains improved flexibility, particularly for negotiation of cryptographic algorithms.
Weak cipher suites deprecated:
· Per RFC 4346, RFC 5246, and RFC 5469, some cipher suites have been made obsolete and should not be used. These obsolete suites are all disabled by default in SunJSSE. For details, consult the cipher suite lists in the documentation about the SunJSSE provider.
Connection-sensitive trust management:
· Both trust managers and key managers now have the ability to examine parameters of the TLS connection, specifically the SSLSession under construction, during the handshake. For example, a trust manager might restrict the types of certificates used based on the list of valid signature algorithms.
· Endpoint verification
· An endpoint identification algorithm can be specified to verify that a remote computer's host address matches its supplied certificate. Although this type of verification was previously performed for the HTTPS protocol (see HttpsURLConnection and HostnameVerifier), such verification can now be optionally performed at the TLS level.
TLS renegotiation:
· Java SE supports RFC 5746, which fixes a renegotiation issue in the TLS protocol.
SSLv2Hello disabled by default:
· In Java SE 7, SSLv2Hello is removed from the default enabled protocol list.
Algorithm disabling:
· Weak cryptographic algorithms can now be disabled, as previously described.
Server Name Indication (SNI) for JSSE client:
· The Java SE 7 release supports the Server Name Indication (SNI) extension in the JSSE client. SNI is described in RFC 4366. This enables TLS clients to connect to virtual servers.
Tighter checking of EncryptedPreMasterSecret version numbers:
· Java SE 7 tightens version number checking during TLS 1.1 and TLS 1.2 handshaking
Concurrency Utilities Enhancements:
· The fork/join framework, which is based on the ForkJoinPool class, is an implementation of the Executor interface. It is designed to efficiently run a large number of tasks using a pool of worker threads. A work-stealing technique is used to keep all the worker threads busy, to take full advantage of multiple processors. See Fork/Join in The Java Tutorials. The directory /sample/forkjoin/ contains samples that demonstrate the fork/join framework.
· The ThreadLocalRandom class eliminates contention among threads using pseudo-random numbers;
· The Phaser class is a new synchronization barrier, similar to CyclicBarrier.
Client JRE Capabilities:
· The window of a dragged applet can be decorated with a default or custom title; see Requesting and Customizing Applet Decoration in Draggable Applets.
The following enhancements have been made to the syntax of JNLP files:
· The os attribute in the information and resources elements can now contain specific versions of Windows, such as Windows Vista or Windows 7.
· Applications can use the install attribute in the shortcut element to specify their their desire to be installed. Installed applications are not removed when the Java Web Start cache is cleared, but can be explicitly removed using the Java Control Panel.
· Java Web Start applications can be deployed without specifying the codebase attribute; see Deploying Without Codebase
· A JNLP file can be embedded into an HTML page; see Embedding JNLP File in Applet Tag.
· You can check the status variable of the applet while it is loading to determine if the applet is ready to handle requests from JavaScript code;
· You now have control of the window decoration style and title of an applet launched from a shortcut or dragged out of the browser;
Java 2D Enhancements:
XRender-Based Rendering Pipeline:
· A new XRender-based Java 2D rendering pipeline is supported for modern X11-based desktops, offering improved graphics performance. The pipeline is disabled by default, but may be enabled by setting the command line property -Dsun.java2d.xrender=true. Older X11 configurations may not be able to support XRender. The verbose form, -Dsun.java2d.xrender=True, can be used to enable a message to stdout indicating whether the pipeline was actually enabled.
· This flag is listed in the System Properties for Java 2D Technology page.
Support for OpenType/CFF Fonts:
· The JDK now enumerates and displays installed OpenType/CFF fonts through methods such as GraphicsEnvironment.getAvailableFontFamilyNames; these fonts are also recognized by the Font.createFont method. See Selecting a Font in The Java Tutorials.
TextLayout Support for Tibetan Script:
· The TextLayout class supports Tibetan script.
Java Programming Language:
· Binary Literals - In Java SE 7, the integral types (byte, short, int, and long) can also be expressed using the binary number system. To specify a binary literal, add the prefix 0b or 0B to the number.
· Underscores in Numeric Literals - Any number of underscore characters (_) can appear anywhere between digits in a numerical literal. This feature enables you, for example, to separate groups of digits in numeric literals, which can improve the readability of your code.
· Strings in switch Statements - You can use the String class in the expression of a switch statement.
· Type Inference for Generic Instance Creation - You can replace the type arguments required to invoke the constructor of a generic class with an empty set of type parameters () as long as the compiler can infer the type arguments from the context. This pair of angle brackets is informally called the diamond.
· Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods - The Java SE 7 complier generates a warning at the declaration site of a varargs method or constructor with a non-reifiable varargs formal parameter. Java SE 7 introduces the compiler option -Xlint:varargs and the annotations @SafeVarargs and @SuppressWarnings({"unchecked", "varargs"}) to supress these warnings.
· The try-with-resources Statement - The try-with-resources statement is a try statement that declares one or more resources. A resource is an object that must be closed after the program is finished with it. The try-with-resources statement ensures that each resource is closed at the end of the statement. Any object that implements the new java.lang.AutoCloseable interface or the java.io.Closeable interface can be used as a resource. The classes java.io.InputStream, OutputStream, Reader, Writer, java.sql.Connection, Statement, and ResultSet have been retrofitted to implement the AutoCloseable interface and can all be used as resources in a try-with-resources statement.
· Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking - A single catch block can handle more than one type of exception. In addition, the compiler performs more precise analysis of rethrown exceptions than earlier releases of Java SE. This enables you to specify more specific exception types in the throws clause of a method declaration.
Java Virtual Machine Technology:
The JDK provides one or more implementations of the Java virtual machine (VM):
· On platforms typically used for client applications, the JDK comes with a VM implementation called the Java HotSpot Client VM (client VM). The client VM is tuned for reducing start-up time and memory footprint. It can be invoked by using the -client command-line option when launching an application.
· On all platforms, the JDK comes with an implementation of the Java virtual machine called the Java HotSpot Server VM (server VM). The server VM is designed for maximum program execution speed. It can be invoked by using the -server command-line option when launching an application.
Some features of Java HotSpot technology, common to both VM implementations, are the following:
· Adaptive compiler - Applications are launched using a standard interpreter, but the code is then analyzed as it runs to detect performance bottlenecks, or "hot spots". The Java HotSpot VMs compile those performance-critical portions of the code for a boost in performance, while avoiding unnecessary compilation of seldom-used code (most of the program). The Java HotSpot VMs also use the adaptive compiler to decide, on the fly, how best to optimize compiled code with techniques such as in-lining. The runtime analysis performed by the compiler allows it to eliminate guesswork in determining which optimizations will yield the largest performance benefit.
· Rapid memory allocation and garbage collection - Java HotSpot technology provides for rapid memory allocation for objects, and it offers a choice of fast, efficient, state-of-the-art garbage collectors.
· Thread synchronization - The Java programming language allows for use of multiple, concurrent paths of program execution (called "threads"). Java HotSpot technology provides a thread-handling capability that is designed to scale readily for use in large, shared-memory multiprocessor servers.
Tools:
· Standard HotSpot VM Options - The command-line options supported by the Java HotSpot VMs are described on the reference pages for the Java application launcher.
· Non-standard Java HotSpot VM Options - Non-standard options recognized by the current implementations of the VMs, but not necessarily by future or non-Sun implementations, are described on this web page.
Enhancements:
· Java Virtual Machine Support for Non-Java Languages: Java SE 7 introduces a new JVM instruction that simplifies the implementation of dynamically typed programming languages on the JVM.
· Garbage-First Collector is a server-style garbage collector that replaces the Concurrent Mark-Sweep Collector (CMS).
· Java HotSpot Virtual Machine Performance Enhancements
JDBC:
· The Java Database Connectivity (JDBC) API provides universal data access from the Java programming language. Using the JDBC API, you can access virtually any data source, from relational databases to spreadsheets and flat files. JDBC technology also provides a common base on which tools and alternate interfaces can be built.
The JDBC API is comprised of two packages:
· java.sql
· javax.sql
· You automatically get both packages when you download the Java Platform Standard Edition (Java SE) 7.
· To use the JDBC API with a particular database management system, you need a JDBC technology-based driver to mediate between JDBC technology and the database. Depending on various factors, a driver might be written purely in the Java programming language or in a mixture of the Java programming language and Java Native Interface (JNI) native methods. To obtain a JDBC driver for a particular database management system, see JDBC Data Access API.
JDBC 4.1 introduces the following features:
· The ability to use a try-with-resources statement to automatically close resources of type Connection, ResultSet, and Statement
· RowSet 1.1: The introduction of the RowSetFactory interface and the RowSetProvider class, which enable you to create all types of row sets supported by your JDBC driver.
June 8th, 2011· Java SE 6u26 contains Olson time zone data version 2011g.
Bug Fixes:
· This release contains fixes for security vulnerabilities.
· Regression: cannot run filemaker application due to java.lang.ClassCircularityError
April 22nd, 2011This update release contains important enhancements for Java applications:
· Improved performance and stability
· Java HotSpot VM 20
· Support for Internet Explorer 9, Firefox 4 and Chrome 10
· Improved BigDecimal
Olson Data 2011b:
· Java SE 6u25 contains Olson time zone data version 2011b.
For Java SE 6u25, support has been added for the following system configurations:
· Oracle Linux 6
· Oracle Solaris 11 Express 2010.11
· Windows 7 with SP1
· Windows 2008 R2 with SP1
· Internet Explorer 9
· Firefox 4
· Chrome 10
· VirtualBox 4
Java Hotspot VM 20:
· Java SE 6u25 includes version 20 of the Java HotSpot Virtual Machine which contains improvements to performance, reliability and diagnostic information.
· A new feature in this version of HotSpot is "tiered" compilation in the Server VM that enables it to start quickly as does the Client VM, while achieving superior peak performance. This feature is enabled by specifying -server and -XX:+TieredCompilation command options.
· The Garbage First (G1) garbage collector continues to advance with Java SE 6u25, although it remains an experimental option.
HotSpot diagnostic information has been expanded in several ways:
· Tracking of cumulative Java heap bytes allocated on a per-thread basis
· On OutOfMemoryError, indication of the faulting thread in the heap dump
· Improved handling of unexpected exceptions in application native code
· Better indication of native heap exhaustion
· More details in hs_err files
Performance Improvement to BigDecimal:
· Improvements have been made to class BigDecimal enhancing its performance by thirty percent. BigDecimal is enabled by specifying -XX:+AggressiveOpts command option.
Performance Improvement to java.util.logging.LogRecord:
· The performance of the class java.util.logging.LogRecord has been enhanced. This enhancement improves the efficiency of including source class and method names in java.util.logging log records.
Bug Fixes:
· Java SE 6u25 does not add any fixes for security vulnerabilities beyond those in Java SE 6u24. Users who have Java SE 6u24 have the latest security fixes and do not need to upgrade to this release to be current on security fixes.
December 8th, 2010Java SE 6u23 contains enhancements for your Java applications:
· Improved performance and stability
· Enhanced support for right-to-left languages
Java Hotspot VM 19.0:
· Java SE 6u23 includes version 19.0 of the Java HotSpot Virtual Machine with improvements to overall performance and reliability.
Java VisualVM 1.3.1:
Java VisualVM based on VisualVM 1.3.1 is included in Java SE 6u23. This release introduces the following features and enhancements:
· Added Java version and vendor information to the application Overview view
· Built on NetBeans Platform and profiler 6.9.1
Menu Item Corrections for Right-to-Left Languages:
· Several bugs in the non-default alignment and text orientation for the menu items in Swing have been fixed, as this is particularly important for right-to-left languages such as Arabic.
· Another issue corrected is the position of the icon and the text. For the non-default positions the text used to overlap the icon in a menu item, this is no longer the case.
· All platform Look and Feel configurations will now handle menu items in right-to-left language situations. These fixes have been tested through their inclusion in the JDK 7 development release, but this is the first time they have been available via JDK 6.
Additional Languages Support in Linux Systems:
· Added support for SuSE Linux Enterprise Server 10 and 11 on Chinese (Simplified), Chinese (Traditional), Japanese, and Korean locales.
Bug Fixes:
· Java SE 6u23 does not contain any additional fixes for security vulnerabilities to its previous release, Java SE 6u22. Users who have Java SE 6u22 have the latest security fixes and do not need to upgrade to this release to be current on security fixes.
October 12th, 2010· JDK 7 introduces several key features to improve performance, usability, and security of the Java platform.
Modularization:
· A large-scale effort to refactor, or break up, the Java SE platform into smaller, separate, interdependent modules. Individual modules can then be downloaded as required by the Java virtual machine and/or Java applications. This effectively shrinks the size of the runtime on the user's machine.
· One benefit of modularization is that the platform is a smaller download, potentially improving start-up performance. Having a smaller memory footprint also enables significant performance improvements, especially for desktop applications. A smaller platform also means it can now fit on devices with less memory.
· Improves compatibility between Java and various dynamic languages, such as Ruby and Python, by providing better-than-native implementations of these languages on top of the Java Runtime Environment (JRE).
Multi-Language Support:
· Refer to JSR 292a>, also called “InvokeDynamic”. This JSR defines the elements critical for Ruby, Python, and other dynamic languages to be addressed for JDK 7.
· JDK 7 will also include several features to enhance developer productivity. One of Sun's goals is to make JDK 7, and other versions of the JDK, as developer-friendly as possible.
Developer Productivity:
· Project Coin: Small language changes
· Concurrency and Collections Updates
· JSR 308: Type Annotations to improve static program checking
· JSR 203: New I/O to define a true filesystem API
Performance:
· Compressed 64-bit object pointers
· G1 Garbage Collector
· The new Garbage First (G1) Garbage Collector is a low pause, server-style garbage collector that will eventually replace the Concurrent Mark-Sweep (CMS) garbage collector. G1's primary advantage over CMS are incremental compaction, better predictability, and ease of use.
October 12th, 2010· The full internal version number for this update release is 1.6.0_22-b04 (where "b" means "build"). The external version number is 6u22.
OlsonData 2010l:
· Java SE 6u22 contains Olson time zone data version 2010l.
Root Certificates:
· Added new Entrust Root CA-G2 and updated Entrust.net CA (2048) root certificates. (Refer to 6959911.)
· CVE-2010-3560
· The fix for CVE-2010-3560 could cause certain Java applets running in the new Java Plug-in to stop working if they are embedded in web pages which contain JavaScript that calls into Java in order to perform actions which require network security permissions. These applets may fail with a network security exception under some circumstances if the name service which resolved the original web page URL host name does not return a matching name as the result of a reverse address lookup. This is most likely to occur for the new Java Plug-in running on Solaris and Linux when configured to use NIS for host to network address resolution with maps containing host names which are in short form (rather than as a fully qualified domain name).
· If an applet is suspected of failing due to this change you can verify that by setting the logging level of the Java Console to 5 and looking for logging strings beginning with "socket access restriction" which will describe the specific cause of the mismatch and will help in identifying the correct workaround to use as described below
· Add a new host name forward map entry (in /etc/hosts, NIS, or DNS) in a special form which is recognized by Java for the purpose of validating IPv4 and IPv6 name service mappings.
The IPv4 general name form followed by an /etc/hosts file fragment example for IP address 10.11.12.13 is:
· host.auth.ddd.ccc.bbb.aaa.in-addr.arpa
· # /etc/hosts example
· 10.11.12.13 foo.bar.com.auth.13.12.11.10.in-addr.arpa
· There is an equivalent form for IPv6 addresses which uses the IP6.ARPA domain root format defined in RFC 3596.
· For DNS, these would be A (IPv4) or AAAA (IPv6) entries.
· Pre-pend a fully qualified host name before other mappings to the same address.
For example, in /etc/hosts format:
· #10.11.12.13 foo loghost
· 10.11.12.13 foo.bar.com foo loghost
· As an alternative to updating name service records, it may be possible to safely modify the applet to perform the network action using only it's own permissions independent of the web page which contains it by using the doPrivileged() method of the java.security.AccessController class.
Bug Fixes:
· This release contains fixes for security vulnerabilities.
July 8th, 2010· The full internal version number for this update release is 1.6.0_21-b06 (where "b" means "build"). The external version number is 6u21.
OlsonData 2010i:
· Java SE 6u21 contains Olson time zone data version 2010i.
Additional Supported System Configurations:
For Java SE 6u21, support has been added for the following system configurations:
· Oracle Enterprise Linux 5.5
· Oracle Enterprise Linux 5.4
· Oracle Enterprise Linux 4.8
· Red Hat Enterprise Linux 5.5
· Red Hat Enterprise Linux 5.4
· Oracle VM 2.2.0.0.0
· Google Chrome 4.0
Support for Customized Loading Progress Indicators:
· With Java SE 6u21, you can now enhance the loading experience of an application by providing a customized loading progress indicator (sometimes referred to as a progress bar) to better inform the end user of how much of the application has been downloaded during startup.
Java Hotspot VM 17.0:
· Java SE 6u21 includes version 17.0 of the Java HotSpot Virtual Machine with improvements to overall quality and features such as compressed object pointers, escape analysis-based optimization, code cache management, the Concurrent Mark-Sweep garbage collector and its successor, the Garbage First (G1) garbage collector.
Java VisualVM :
Java VisualVM based on VisualVM 1.2.2 is included in Java SE 6u21. This release introduces the following features and enhancements:
· HeapWalker performance improvements
· VisualVM-Sampler performance improvements
· BTrace4VisualVM plugin introduces BTrace 1.1
· Profiling engine bugfixes
· Built on NetBeans Platform 6.8
Security Exception Upon Drag-and-Drop:
· Drag-and-drop would, under certain circumstances, result in a null value being passed instead of the expected data.
· Java SE 6u21 provides a fix that lets drag-and-drop operations succeed for signed applications or applications with the accessClipboard permission granted.
Bug Fixes:
· Java SE 6 Update 21 does not contain any additional fixes for security vulnerabilities to its previous release, Java SE 6 Update 20. Users who have Java SE 6 Update 20 have the latest security fixes and do not need to upgrade to this release to be current on security fixes.