Friday Feb 07, 2014

Restructured Deployment Information

The deployment guide for Rich Internet Applications (RIAs) has been reorganized and relevant information from the obsolete pre-6u10 deployment and plugin guides has been updated and included. The obsolete guides have been removed from the JDK 7 documentation set and replaced with pages that direct you to the Java Rich Internet Applications Guide.

Due to the reorganization, the URL for some pages has changed. If you get a Page Not Found error, please use the Table of Contents for the Java Rich Internet Applications Guide to locate the page.

The pre-6u10 Deployment Guide and Plug-in Guide are available in the JDK 6 documentation set.

Thursday Oct 03, 2013

Signing a JNLP File

There are several advantages to signing a JNLP file. It will:

  • Ensure that others cannot change the content in your JNLP file. For example, by adding a random library, or changing application information.
  • Allow the use of arbitrary Java Virtual Machine (JVM) options and Java system properties in your application.
  • Prevent others from referencing your JAR file directly in their HTML browser applets.

To create a signed JNLP file you don't sign the JNLP file itself, but you include the JNLP file inside the directory structure before the JAR file is created and then signed. The JNLP file must be named APPLICATION.JNLP and is included in the JNLP-INF subdirectory. The JAR file is then created and signed in the usual manner. When a web start application is started, the JNLP file used must be identical to the JNLP file in the signed JAR in order for the application to run.

Note that you cannot use the APPLET tag to run an applet if JAR file contains a signed JNLP file.

The Signing and Verifying JAR Files lesson in the Java Tutorial explains how to sign a JAR file.

Thursday Sep 26, 2013

JavaOne 2013: Java Flight Recorder Deep Dive

On Tuesday, September 24, Marcus Hirt (Oracle) gave his presentation at JavaOne 2013 entitled Oracle Java Mission Control: Java Flight Recorder Deep Dive. Java Flight Recorder is the main profiling tool in Java Mission Control starting from the latest release of Oracle JDK 7 update 40. Java Flight Recorder originated from JRockit Flight Recorder as part of the convergence between the HotSpot and Oracle JRockit JVMs.

For more information about Oracle Java Mission Control, see the JMC User's Guide.

For more information about Java Flight Recorder, see the JFR Runtime Guide.

Wednesday Sep 25, 2013

JavaOne 2013: Java Flight Recorder Behind the Scenes

Staffan Larsen, Java Serviceability Architect, Oracle, presented the conference Java Flight Recorder Behind the Scenes [CON5091] , which discusses in detail a new diagnostics tool that is available in the latest JDK 7 update. For more information about this tool, see the Java SE Java Flight Recorder Runtime Guide in the Java SE 7 Documentation.

Tuesday Sep 24, 2013

JavaOne 2013: Oracle Java Mission Control

On Monday, September 23, Marcus Hirt (Oracle) gave his first presentation at JavaOne 2013 entitled Production-Time Profiling Out of the Box. He talked about the latest addition to JDK 7: Oracle Java Mission Control, a tool suite for low-overhead production-time profiling and diagnostics that originated with the JRockit Mission Control. As part of the convergence between the HotSpot and Oracle JRockit JVMs, Oracle Java Mission Control is now available in the HotSpot JDK.

For more information about Oracle Java Mission Control, see the JMC User's Guide.

Thursday Jul 18, 2013

Learn Java Over The Summer

Hello Students! Hope you are enjoying your summer vacation! Summer trips are done, and I bet you've asked your parents the question they dread most - "I am bored. What do I do now?" :-)

If you are looking for ways to get the brain's juices flowing or just getting a head start on a high school AP computer science course, Java Tutorials are a great resource!

The following learning paths are perfect for students in middle school or high school.

Get set, go!

See the trails mentioned next for information about installing an IDE, learning the basics, and writing code with the help of code examples.

  • Getting Started – An introduction to Java technology and lessons on installing Java development software and using it to create a simple program.
  • Learning the Java Language – Lessons describing essential concepts such as classes, objects, inheritance, datatypes, conditions, loops, control flow, and more. You can skip over the generics lesson at the beginning and come back to it later after you feel comfortable with the language.
  • Essential Java Classes – Lessons on exceptions, basic input/output, concurrency, regular expressions, and the platform environment.

I am a visual person!

Check out JavaFX and SceneBuilder documentation to learn about developing animations and cool new apps!

I love it! What's next?

See the Java Tutorials Learning Paths page to learn more!

Good luck!

- Sowmya

Thursday Apr 25, 2013

JavaOne Russia: First-Hand Impressions

Alla Redko from the Java Documentation team shares her impressions of the two-day developer conference in Moscow.

All the JavaOne conferences start with the keynotes and this time wasn't an exception. The conference hall was crowded with the developers from different local and international IT companies. Grigori Labzovsky and Valery Lanovenko, the directors of St. Petersburg and Moscow Oracle sites, cordially greeted the participants and set the tone of the event. They passed the baton to Nandini Ramani who launched the JavaOne Russia conference and announced Oracle strategy and roadmap for the Java technologies. Technical keynote presentations led by Stephen Chin started with the Kiosk demonstration, continued by the overview of the Embedded technologies and an excellent success story of using Java ME 3.2, and concluded with the bright JavaFX 3D presentation given by Jim Weaver.

The Java Client Technologies track started shortly after the keynote with the presentation about the new FX Features in JDK 8 by Jim Weaver. He gave an overview of the new FX capabilities, demonstrated the Metronome demo, and explained how developers could benefit from using Lambda Expressions. Being a professional technology ambassador, Jim presented with passion and enthusiasm actively encouraging developers to join the FX community and participate in the OpenJFX project.

Sergey Troshin and Andrey Petushkov from St. Petersburg Development Center gave a presentation about the Java ME Embedded technologies. They talked about the diversity of mobile devices, introduced the benefits that Java has brought to the embedded world, and provided solutions for Java optimization for embedded environments. I was particularly pleased with the fact that Sergey and Andrey named the as the key source of information about Java ME technologies and products.

The second day of the conference started with Rapsberry Pi Nighthacking by Stephen Chin. Because the number of participants was relatively small, he turned the presentation into an informal discussion and live demonstration that were cordially received by the audience. Everyone in the hall was impressed with the demo run on Raspberry Pi and Chalkboard Electronics Touchscreen (tablet).

Jim Weaver continued presenting at the Java Client Technologies track and totally captivated participants with the presentation about powerful capabilities of JavaFX 3D. He showed how to create 3D primitive shapes, apply materials and textures, map images to the shapes. If you’re thinking about creating a cylindrical or cubic representation of the Earth, ask Jim!

Daniel Blaukopf, talked about Java SE on embedded devices. What impressed me the most was that his presentation had been developed totally in JavaFX (instead of traditional Microsoft Power Point) and run on a Raspberry Pi. Daniel gave an overview of the Java SE Embedded platform, demonstrated the supported devices and proof concepts, and showed a live JavaFX application running on a Raspberry Pi.

The last but not the least conference event was the hands-on-lab with the title “Playing to the Strength of JavaFX and HTML5” given by Jim Weaver. Because the hands-on-lab was based on the WebView tutorial that is part of JavaFX documentation, Jim invited me to assist. It has been a great and totally new experience helping about the lab and answering tricky but interesting questions.

The organizers of JavaOne Russia are going to publish the conference materials at the Content Catalog. Watch for updates at

— Alla Redko

Monday Apr 22, 2013

New documentation: Using Scene Builder with Java IDEs

A new JavaFX Scene Builder 1.1 developer preview documentation, Using Scene Builder with Java IDEs, has been published on It describes how you can use NetBeans IDE, Eclipse, and IntelliJ IDEA to easily create a JavaFX project and edit an FXML file with Scene Builder to build your application's UI.

You can download the latest Scene Builder 1.1 developer preview build from the JavaFX Scene Builder Developer Preview Download page. Use the Scene Builder 1.1 Developer Preview Release Notes for information about system requirements, installation information, and new or modified features.

Tuesday Apr 16, 2013

Documentation Updates with JDK 7u21 and JavaFX 2.2.21 Releases

The Java Development Kit 7 Update 21 (JDK 7u21) release, which includes JavaFX 2.2.21, is now live. You can download it from the Java SE Downloads page.

For information about this release, see the JDK 7u21 Release Notes, and the JavaFX 2.2.21 Release Notes.

With 7u21, it is recommended that all applications be signed, and it is possible to restrict signed applications to the security sandbox. Therefore, the use of "unsigned" to mean an application that ran in the security sandbox and "signed" to mean an application that ran with extended permissions, is no longer meaningful. The terminology in the Java Tutorials and the Java SE Guides has been changed to use "sandbox application" for applications that are restricted to the security sandbox, and "privileged application" for applications that have extended permissions.

In addition, the Java Tutorials contain the following changes:

  • With 7u21, users are prompted for permission to run applets and Java Web Start applications, called Rich Internet Applications or RIAs. The prompts contain information to help users make a more informed decision about whether to run an RIA. See User Acceptance of RIAs for more information.

  • Signed applets can be restricted to the security sandbox by using the permissions attribute for the <applet> or <object> element when the applet is invoked. See Deploying with the Applet Tag for more information.

  • Signing RIAs with a certificate from a trusted certificate authority is recommended, so Deploying an Applet and Deploying a Java Web Start Application include a step for signing the JAR file.

  • JavaScript code that calls code within an applet that has permission to run outside the security sandbox is treated as mixed code, which could cause additional warnings to be shown to the user. See Invoking Applet Methods From JavaScript Code for information.

The Java Rich Internet Applications Development and Deployment Guide, including the Deployment ebook (both MOBI and EPUB formats), contains the following changes:

  • The Security Level setting in the Java Control Panel can be used to automatically block some types of RIAs. 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 RIAs that are signed with a certificate issued by a recognized certificate authority are allowed to run. See Security for information.

  • Screen shots and other information about the Java Control Panel have been updated. See Java Control Panel for information.

The Java Remote Method Invocation (RMI) Guide contains information on the java.rmi.server.useCodebaseOnly property, which is now set to true by default. See RMI Enhancements for information.

Deploying JavaFX Applications contains changes related to the policy of signing applications and working with applications that are restricted to the security sandbox or have extended permissions.


JDK 8 Updates


For all tutorials, guides, and API documentation, see Java SE Technical Documentation and JavaFX 2 Documentation


Wednesday Mar 06, 2013

Java Tutorials Fifth Edition Book

The JDK documentation team is happy to announce that The Java® Tutorial, Fifth Edition book is now available on Amazon in printed book and kindle formats. The fifth edition is based on JDK 7 and contains tutorials and code samples for the following features and more:
  • New file I/O API (NIO.2) and migrating legacy code to the new API
  • Fork Join pool
  • Project Coin: try-with-resources statement, binary literals, diamond syntax
  • Updates to Generics tutorial
  • Expanded deployment coverage (applets, java web start applications)
  • Preparing for Java Programming Language Certification - A mapping of Java certification objectives to sections of the Java Tutorials.

- Sowmya

Monday Jan 14, 2013

JDK 7u11 Released!

The JDK 7u11 release is now live.

Introduced in the 7u10 release, the slider in the Java Control Panel (JCP) is used for setting the security level of apps launched in the browser (via Java Plugin). With the 7u11 release, the default security level setting has been changed from Medium to High.

For more information:

Friday Oct 26, 2012

Apple's Java Mac OS X 2012-006 Update

The recent Java Mac OS X 2012-006 update from Apple removes the Apple Java 6 plug-in from your Mac. The Mac OS X Install FAQ will be updated with the next 7u release, but you may find the following information useful in the meantime.

Q: I have installed Java for OS X 2012-006 and Apple Java 6 can no longer be used for applets or Web Start. How do I get it back?

A: The Java for OS X 2012-006 update from Apple uninstalls the Apple-provided Java applet plug-in from all web browsers. You can download the latest version of Java from Oracle, which has improved security, reliability and compatibility.

If you prefer to continue using Apple's Java 6 plug-in, you can follow the steps provided in How to re-enable the Apple-provided Java SE 6 applet plug-in and Web Start functionality.

Q: After installing Java for OS X 2012-006, can I continue to use Apple's Java 6 alongside the OS X JDK or JRE for Java 7?

A: If you want to continue to develop with Java 6 in a Terminal window you can modify the startup script for your favorite command environment. For bash, use this:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

Some applications use /usr/bin/java to invoke Java. After installing Java for OS X 2012-006, /usr/bin/java will find the newest JDK installed, and will use that for all of the Java related command line tools in /usr/bin. You may need to modify those applications to find Java 6, or contact the developer for a newer version of the application.

Also, this update removes Apple provided Java Preferences app. For more information on how to determine the default version of Java on your system, see Determining the Installed Version of the JRE in the JRE 7 Installation for Mac OS X page.

Wednesday Oct 10, 2012

JavaOne 2012 - Java Certification

The Java Tutorials are a great resource to learn the Java language and prepare for the JDK 7 certification exams. The lesson titled Preparation for Java Programmer Language Certification simplifies the learning process by mapping the Java certification objectives to relevant sections in the Java Tutorials.

The JavaOne 2012 session titled Java Certifications: Learn, Pass, and Teach also provides more information.

- Sowmya

Monday Oct 08, 2012

JavaOne 2012: JDBC Community Discussion

At JavaOne2012, Mark Biamonte of DataDirect Technologies and Lance Andersen of Oracle organized a discussion about JDBC.
To learn more about using JDBC to develop database applications, see the JDBC trail in the Java Tutorials.
You will know how to use the basic JDBC API to
* create tables
* insert values into them
* query the tables
* retrieve the results of the queries
* update the tables
In this process, you will learn how to use simple statements and prepared statements, and see an example of a stored procedure. You will also learn how to perform transactions and how to catch exceptions and warnings.

- Sowmya

Friday Oct 05, 2012

JavaOne 2012 - The Power of Java 7 NIO.2

At JavaOne 2012, Mohamed Taman of e-finance gave a presentation highlighting the power of NIO.2, the file I/O APIs introduced in JDK 7. He shared information on how to get the most out of NIO.2, gave tips on migrating your I/O code to NIO.2, and presented case studies.

The File I/O (featuring NIO.2) lesson in the Java Tutorials has extensive coverage of NIO.2 and includes the following topics:

From the conference session page, you can watch the presentation or download the materials.


Blog about Java technology documentation and news about Java releases.


« April 2014