Java Development Kit for ARM Release Notes
Java Development Kit for ARM
Release Notes
Release 8 Update 6
E54127-01
July 2014
These release notes describe the new features, platform requirements, installation, known issues, and limitations for Java Development Kit for ARM Release 8u6 (JDK 8u6 for ARM).
This document contains the following topics:
1 New and Changed Features
JDK 8u6 for ARM includes the features and bug fixes of Java SE 8 Update 5. To review these features, see Java SE 8 Update 5 Release Notes.
In addition, JDK 8u6 for ARM contains the following enhancements specifically for supported ARM platforms.
1.1 Thumb-2 ISA Mode for ARM VFP Binaries
For ARM v7, and untested but should work on ARM v6 t2, Thumb-2 ISA mode supports Java Native Interface (JNI) for applications compiled in both ARM and Thumb-2.
1.2 Runtime Performance Improvements
There are several JRE performance improvements at startup. Specifically, the following enhancements have been implemented.
-
Client compiler (C1) inlining
The C1 inlining policy has been expanded by using profile information to improve performance. This feature is a tech preview, and it is turned off by default.
You can enable C1 profiled inlining by using the
java
launcher flag-XX:+C1ProfileInlining
. -
Class Data Sharing with custom classlists
Class Data Sharing (CDS) is an existing JDK feature that enables improved JVM startup times and reduced memory consumption. With CDS, you can preload and dump a set of class files to a shared-archive file. This prepared representation of the class files can be shared across multiple JVM processes. With JDK for ARM, you can now generate your own classlist to a custom location. For more information about using
java
command-line options to create and preload a custom classlist, see Oracle Java SE Embedded Developer's Guide. -
Tiered Compilation Mode
Tiered compilation brings client startup speeds to the server VM by using the client compiler to generate compiled versions of methods that collect profiling information about themselves.
To enable tiered compilation mode for ARM v7 devices, use the
-XX:+TieredCompilation
option with thejava
launcher command.
1.3 JavaFX Multitouch Input Support
This release supports touch events for multiple touch input points on the touch screen integrated into the Freescale i.MX6 Sabre device platform. There is touch support for up to 20 touch points, subject to the limits of the hardware and drivers used. Mouse events are synthesized from touch input. See the JavaFX Events tutorial for how to handle touch points.
Note that there is no support for multitouch gestures.
2 Platforms and Requirements
See the JDK for ARM Downloads page to see which ARM devices are supported.
3 Installing JDK for ARM
Refer to the JDK 8u6 for ARM README for installation instructions.
4 Known Issues
This section describes known problems and issues in this release that are specific to JDK 8u6 for ARM. See also Java SE 8 Update 5 Release Notes for known issues, many of which also affect embedded platforms.
4.1 Java SE API Documentation for the javax.crypto Package
Because of a bug, the current Java SE API documentation for the javax.crypto package
does not include compact profile information, but all classes and interfaces in the javax.crypto
package are available with all compact profiles.
4.2 Raspberry Pi Power Supply
The minimum power supply rating to use on the Raspberry Pi is 800mA. However, unless a higher-rated power supply is used, some problems can occur when the CPU or GPU are under heavy load. For example, USB ports can lose power or the device can suddenly reboot. We recommend the use of a 2A power supply.
4.3 Raspberry Pi Input Events
If you run into problems with dropped input events, try reducing the USB bus speed. First, update the Raspberry Pi firmware:
$ sudo apt-get update $ sudo apt-get install raspberrypi-bootloader --reinstall
Then, open /boot/cmdline.txt
in an editor. On the same line as the other options add dwc_otg.speed=1
. Save the file, run sudo sync
, and reboot.
This option drops USB speeds from 480Mb/s to 12Mb/s, which resolves issues with a variety of USB devices on the Raspberry Pi.
4.4 JavaFX Generic Bugs
All editions of JavaFX, including the components provided with Oracle Java SE Embedded, exhibit the issues listed at this site: http://javafx-jira.kenai.com
.
4.5 AWT Graphics Bug
This bug applies to AWT graphics on certain configurations when rendering is performed through the xrender pipeline. There are some platform X11 bugs that can cause empty or partially empty windows running AWT (not Swing) applications.
As a workaround, xrender is disabled by default in Oracle Java SE Embedded. If you want to test your AWT application to see if it runs without an issue, you can force xrender on with the systems property -Dsun.java2d.xrender=true
when you launch the application. For example:
$ java -cp AWTApp.jar -Dsun.java2d.xrender=true awtapp.AWTApp
For more information see the following bug at:
http://bugs.sun.com/view_bug.do?bug_id=8014883
5 Limitations
This section describes limitations of JDK for ARM.
5.1 Native Memory Tracking Support is Limited
The java
command line option -XX:NativeMemoryTracking=detail
is not supported for ARM targets (an error message is displayed). Instead, use the following option: -XX:NativeMemoryTracking=summary
6 Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc
.
Access to Oracle Support
Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info
or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs
if you are hearing impaired.
Java Developmoent Kit for ARM Release Notes, Release 8 Update 6
E54127-01
Copyright © 2014 Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.