Mythics Blog

Answers to Common Questions on Java Versions/Editions

Posted on October 1, 2014 by Chandra Bhimaraju

Tags: Java, Oracle

In the past several months, our team has received many inquires about Java Virtual Machine (JVM) and Java Development Kit (JDK) versions and editions.  These inquiries include topics such as compatibility with WebLogic Server versions, or the best Java version to run with specific Oracle Fusion Middleware software or ERP applications, and the best practice for build, maintenance, and configuration control of custom Java applications.  Different Java editions (SE, EE, etc.) and components for run-time versus development frameworks create additional confusion.  We’ve collected some of the most common questions that typically stem from the uncertainty of deprecation or convergence of the different Java platform programs.  

Q1: I've seen different announcements about Java 7 and Java 8.  What is significant to my environments?

For most new systems and/or development, Oracle recommends using JVM/JDK 7.  Sometimes, JVM/JDK 8 would be preferred.  Java 7 release 7u55 includes of JavaFX and many new bug fixes and security patches.

Significant features on Java 8 include:

  • Lambda Expressions, a new language feature, that enable you to treat functionality as a method argument, or code as data; 
  • Type Annotations give ability to apply an annotation anywhere a type is used, not just on a declaration;
  • Client-side TLS 1.2 enabled by default;
  • Stronger algorithms for password-based encryption; and,
  • Integration with Solaris 8 and related performance improvements.

You should check the applicable software compatibility matrix for up-to-date recommendations on the recommended version for your application or implementation.

Q2: Is JRockit still supported?

JRockit and HotSpot are merged into single JVM, incorporating the best features from both.  The result will be contributed incrementally to OpenJDK. [1]  JRockit is released under the Binary Code License Agreement (BCL). [2]

Oracle plans to support the latest (terminal release) of JRockit 6 -­ R28.2.7 through 2017 JRockit Support. [3] Updates to this release were available to the public during the time JDK 6 was available to the public.  Be aware of red text warnings on the download page since this release is not up-to-date with security patches.  It is not recommended to use this version in production since newer Java versions with security patches are not available in Jrockit.  Even so, one could use the public version of JRockit 6 without a fee as long as BCL requirements are met. 

Oracle updates to JRockit 6 made after February 2013 are now only available to support customers.  If a customer already has JRockit and wants to stay with JRockit, Oracle recommends keeping it up to date with security updates - which will now require a support contract.

Q3: I use Flight Recorder and Mission Control in JRockit.  Are those features being deprecated with JRockit?

Even though Java SE 7u40 was released in the fall of 2013, there is still some confusion about features and functions in the latest Java versions.  The Java Mission Control (JMC) included in Java SE 7u40 is same as JRockit Mission Control and has all features available in Jrockit Mission Control and Java Flight Recorder (JFR) features of JDK/JRE SE 7u40 should be technically equivalent to the JRockit Java at this point. [4]

JConsole has been a popular tool over the years and provides basic monitoring of applications.  For better integration into the Oracle stack, try using Java Flight Recorder and Java Mission Control combined with WebLogic Diagnostics Framework (WLDF) - this is a solid combination.  See previous Mythics blog post on WLDF.

Summary

While it may seem that scaling back on Java Platform options reduces choices and flexibility, the convergence will result in simplified planning, maintenance, and version alignment around related middle-tier infrastructure.  Tracking fewer Java Platform products and versions will result in more manageable testing of new Java releases and configuration control of Java environments.  With JFR and JMC included in the latest JVM 7 version, diagnostics, monitoring, and event analysis can be accomplished with one standard Java version with relative confidence in future versions and application upgrades.

Footnotes

  1. http://www.oracle.com/technetwork/java/javase/terms/license/index.html
  2. https://blogs.oracle.com/henrik/entry/oracles_jvm_strategy
  3. http://www.oracle.com/us/support/library/lifetime-support-middleware-069163.pdf
  4. http://www.oracle.com/technetwork/java/javase/downloads/index.html

Chandra Bhimarju - Enterprise Architect

This blog has been authored with advisement from Brent Seaman, VP, Enterprise Architecture at Mythics.

Comments

  • Frank Rogowski said on October 7, 2014 at 2:22pm:

    Great article and summary. Timely.

    I was trying to understand the JRockit support by Oracle, mission control and flight recorder as it relates to WLS 12c.

    The convergence of Hotspot and JRockit into a single JVM with OpenJDK was valuable to know.

    The information was well articulated. Thank you! I welcome more blog entries on how to leverage monitoring and diagnostics for Java applications using the WLDF model.

Leave a Comment