BT

Proposed Schedule for JDK 11

| by Michael Redlich Follow 11 Followers on Apr 19, 2018. Estimated reading time: 4 minutes |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

Two days after the release of JDK 10, Mark Reinhold, chief architect of the Java Platform Group at Oracle, proposed a schedule for the JDK 11 GA release:

So far, the JEPs targeted to be included in JDK 11 are:

  • JEP-309: Dynamic Class-File Constants
  • JEP-318: Epsilon: An Arbitrarily Low-Overhead Garbage Collector
  • JEP-320: Remove the Java EE and CORBA Modules
  • JEP-323: Local-Variable Syntax for Lambda Parameters

The JDK 11 early access builds were available almost a month before the release of JDK 10. Reinhold tweeted:

These JDK 11 builds include JEP 320 (Remove the Java EE & CORBA Modules), so they're smaller: Nine fewer modules, 22 fewer megabytes #jdk11

JEP-320: Remove the Java EE and CORBA Modules

The restructuring of Java SE 9 included support for Java EE and CORBA modules, but they were immediately deprecated for future removal as per JEP 277.

The Java EE modules are a web services stack that have been available in the JDK since the release of Java SE 6 as a convenience for Java developers:

  • JSR-224: Java API for XML-Based Web Services (JAX-WS)
  • JSR-222: Java Architecture for XML Binding (JAXB)
  • JSR-925: JavaBeans activation Framework (JAF)
  • JSR-250: Common Annotations for the Java Platform

It was determined that the JDK no longer needed to support these modules as they have evolved over the past 12 years and are readily available in third-party sites such as Maven Central.

The CORBA modules, available in the JDK since 1998, will also be removed since most modern applications don't use CORBA technology. As a result, Oracle has decided that continued support for CORBA is no longer cost effective.

The full list of modules scheduled to be removed in JDK 11 is:

  • java.xml.ws (JAX-WS, plus the related technologies SAAJ and Web Services Metadata)
  • java.xml.bind (JAXB)
  • java.activation (JAF)
  • java.xml.ws.annotation (Common Annotations)
  • java.corba (CORBA)
  • java.transaction (JTA)
  • java.se.ee (Aggregator module for the six modules above)
  • jdk.xml.ws (Tools for JAX-WS)
  • jdk.xml.bind (Tools for JAXB)

The risks in removing these modules were acknowledged and documented in JEP 320. For Java EE modules in particular:

Applications will not compile or run if they rely on "out of the box" support in the JDK for Java EE APIs and tools. These applications will experience binary and source incompatibilities when migrating from JDK 6, 7, or 8, to JDK 9 or a later release

Another risk of removing the Java EE modules is that applications which already migrated from JDK 6, 7, or 8, to JDK 9, will not start if they use the command line flag --add-modules java.se.ee, --add-modules java.xml.bind, etc.

CORBA applications that rely on RMI-IIOP, the javax.activity package, or the endorsed CORBA APIs will not compile or run.

Aleksey Shipilëv, principal software engineer at Red Hat, recently tweeted that the SPECjbb2015 benchmark is broken on Java 10+ due to the JAXB module being removed with JEP 320. The suggested fix was to include the JAXB dependency:

    
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
    

New Java SE Release Cadence

The new Java release cadence is in full swing with the release of JDK 10 six months after JDK 9 and with JDK 11 still scheduled for release in September 2018. Developers, who had become accustomed to waiting multiple years for new versions of Java, may now find themselves with mild culture shock due to the new release cadence.

The official Java Twitter account recently tweeted a photo to explain the new release cadence:

There has been some recent buzz in the Java community about the new release cadence. Daniel Fernández, founder and lead developer at Thymeleaf, recently tweeted:

2016: "Java is doomed! It evolves so slowly! Every good idea takes ages to be available!"

2018: "Java is doomed! It evolves too quickly! Nobody will be able to keep pace!"

Some interesting responses to Fernández's tweet included:

"Kotlin?"

"What will be in 2020? Java is doomed! I can't live my life without it! My home is fitted everywhere with Java. What power in that small coffee cup. It's controlling my home including my movements."

"Java is doomed because they focus on completeness instead of simplicity"

"The lesson here is that change is less of a problem than the (phase(d)) transition itself...in fact this seems to be a recurring issue with everything in life and computer science."

"I saw someone complaining that Java 10 shouldn't have been released until the IDEs were updated to support it. Like the chicken and the egg problem, except the chicken already exists and is supposed to wait for an egg to appear."

"2016 complainers: let's use JavaScript instead (YOLO). 2018 complainers: the same 2016 complainers who switched to JavaScript now switching back to Java because YOLO is hard to maintain."

"Java is doomed because of Oracle."

Time will tell how this new release cadence will affect the Java community.

Resources

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Uhhh by Michael McCutcheon

So in summary, Java 11 removes a bunch of junk, adds almost nothing. :-)

Re: Uhhh by Cameron Purdy

Sounds about right. A release coming out every six months means that they don't have to cram a bunch of half-baked ideas into the release, because they know there'll be another coming out on schedule in six months ...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT