Documentation



Oracle Java SE Embedded: Release Notes

Oracle® Java SE Embedded

Release Notes

Release 8 Update 6

E53025-01

July 2014

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.

Note:

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 java command-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

See Oracle Java SE Embedded System 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

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 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:
http://bugs.sun.com/view_bug.do?bug_id=8014883

5 Limitations

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

  • i586

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 summary.

5.3 JavaFX 3D Rendering is Only Experimental

There is experimental support for the JavaFX 3D API. This is disabled by default, but can be enabled with the following command-line flag when starting Java:

-Dcom.sun.javafx.experimental.embedded.3d=true

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 http://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/

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 http://www.oracle.com/events/us/en/java8/index.html#java-se-embedded

7 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.


Oracle Java SE Embedded Release Notes, Release 8 Update 6

E53025-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.