Oracle Java SE Embedded: Release Notes
Oracle® Java SE Embedded
Release 8 Update 6
These release notes describe its new features, platform requirements, installation, limitations, known problems and issues, and documentation for Oracle Java SE Embedded.
This document contains the following topics:
1 New and Changed Features
The following features are new in Release 8 Update 6.
1.1 Reduction in Static Footprint of Custom JREs
The static footprint of custom JREs has been reduced in two main ways.
Link Time Optimization (LTO) has been implemented for ARM
LTO reduces static footprint of JREs that use the minimal JVM and optimizes runtime performance on devices running ARM. For more information about the minimal JVM, see the JVM chapter in Oracle Java SE Embedded Developer's Guide.
Thumb-2 ISA mode is used 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.
The use of Thumb-2 ISA means that ARM v6 is no longer supported as of this release; see Platforms and Requirements.
1.2 Runtime Performance Improvements
There are several JRE performance improvements at startup. For more information about Java Virtual Machines for embedded devices, see Oracle Java SE Embedded Developer's Guide.
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 in the minimal and client JVMs. This feature is a tech preview, and it is turned off by default.
For information about how to enable C1 profiled inlining, see Oracle Java SE Embedded Developer's Guide.
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 this release of Oracle Java SE Embedded, you can generate your own classlist to a custom location. For more information about using
javacommand-line options to create and preload a custom classlist, see Oracle Java SE Embedded Developer's Guide.
1.3 Enhancements to Headful Application Development
The following changes enhance development of headful applications.
Support for Java FX components on the Freescale i.MX6 platform
This release provides support for the JavaFX Base, Graphics, Controls and FXML components on the Freescale i.MX6 processor. For more information about JavaFX components, see Oracle Java SE Embedded Developer's Guide.
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.
Swing/AWT support on X11 for headful development is supported on ARM v5 soft float
The ARMv5 soft float port now includes Swing/AWT support on X11. See the Oracle Java SE Embedded System Requirements for a full list of devices that offer Swing/AWT support.
1.4 JSR 197 Bundled with Oracle Java SE Embedded
The JSR 197 specification API is equivalent to CLDC 1.0 GCF. The JSR 197 package is provided as a JAR file in the Oracle Java SE Embedded download bundle and can be manually copied into the JRE. For more information, see the section on the JSR 197 JAR in Oracle Java SE Embedded Developer's Guide.
2 Platforms and Requirements
Note that Oracle Java SE Embedded binaries are no longer provided for ARM v6 as of Release 8 Update 6, in order to take advantage of the size reduction and speed improvements that Thumb2 offers. Use JDK for ARM if you need ARM v6 support.
3 Installing Oracle Java SE Embedded
Refer to the Oracle Java SE Embedded README for installation instructions.
Oracle Java SE Embedded 8 is a modular system that must be configured before launching by selecting components and creating a custom JRE to suit your device and applications, using the included
jrecreate tool. See Oracle Java SE Developer's Guide.
4 Known Issues
This section describes known problems and issues in this release that are specific to Oracle Java SE Embedded. See also the Java SE 8 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. For more information about compact profiles, see the Oracle Java SE Embedded Developer's Guide.
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
/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:
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 system 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:
This section describes limitations of Oracle Java SE Embedded.
5.1 Server Java Virtual Machine is not Universally Available
The server JVM described in Oracle Java SE Embedded Developer's Guide is only available on the following targets:
ARM v7 hard float
ARM v7 soft float
5.2 Native Memory Tracking Support is Limited on ARM Targets
For ARM devices, the
-XX:NativeMemoryTracking=detail java command line option produces a warning and defaults the setting to
6 Learning Resources
The Oracle Java SE Embedded page on Oracle Technology Network contains information such as links to documentation, system requirements and FAQs. See
Oracle Java SE Embedded Developer's Guide contains information for both platform developers and application developers about how to create custom JREs and install them on custom devices and how to develop headless and headful applications for the custom JRE.
There are a number of training videos about Oracle Java SE Embedded at
7 Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at
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.
Oracle Java SE Embedded Release Notes, Release 8 Update 6
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.