Featured in Architecture & Design

Monal Daxini presents a blueprint for streaming data architectures and a review of desirable features of a streaming engine. He also talks about streaming application patterns and anti-patterns, and use cases and concrete examples using Apache Flink.

Featured in AI, ML & Data Engineering

Joy Gao talks about how database streaming is essential to WePay's infrastructure and the many functions that database streaming serves. She provides information on how the database streaming infrastructure was created & managed so that others can leverage their work to develop their own database streaming solutions. She goes over challenges faced with streaming peer-to-peer distributed databases.

Choose your language

Java 11 Released

Java 11 has arrived. The new release is the first planned appearance of Oracle's long-term support (LTS) releases, although Oracle has also grandfathered in Java 8 as an LTS release to help bridge the gap between the old release model and the new approach.

The feature list for the new version has only evolved modestly since InfoQ reported on this earlier in the year, and the major new features in Java 11 are:

New standard HTTP library: A new module java.net.http that standardizes the incubating API and allows flow-based HTTP/1.1 and HTTP/2 support

TLS 1.3: Implement the recently standardized new version of Transport Layer Security

Local-Variable Syntax for Lambda Parameters: Updating the lambda syntax to use the var type-inferencing introduced in Java 10.

The new release also removes some older features to try to streamline the core Java product:

Java EE and CORBA Modules: Require applications to explicitly depend upon EE and CORBA modules if they require them.

Web Start: This feature has been removed with no clear replacement.

Applets: These have been heavily deprecated for some time and are finally removed.

JavaFX: The FX libraries have moved to the OpenJFX project and are removed from the core.

In particular, the EE modules contain the support for JAXB and SOAP - both components that are still in relatively widespread use in many enterprises. Development teams that upgrade to the new version should check carefully whether they will need to modify their build scripts to take these changes into account.

Georges Saab, vice president of software development in the Java Platform Group at Oracle, commented on the new LTS model for Java:

The LTS model releases enable our customers to migrate from one well-supported Java SE LTS release to the next at their own pace, while at the same time allowing the Java developer ecosystem to get access to improvements faster than before.

Re: JavaFX

Your message is awaiting moderation. Thank you for participating in the discussion.

It's worth noting a few things about JavaFX. This post states "JavaFX: The FX libraries have moved to the OpenJFX project and are removed from the core."

JavaFX was open sourced by the end of 2012 as OpenJFX, a project under the OpenJDK umbrella. JavaFX was never part of Java SE, which means its APIs are not governed by a JSR. JavaFX has been removed from Oracle JDK starting with Oracle JDK 11 (the binary release of OpenJDK created and branded by Oracle) but remains an integral part of the OpenJDK projects.

Since 2012 anyone consuming OpenJDK directly and wanted to build/run JavaFX applications had to make an additional download as builds of OpenJDK did not include the binaries from OpenJFX. This is now the case for everyone, as so far, not a single distribution based on OpenJDK includes the OpenJFX binaries.

Hung Nguyen

Your message is awaiting moderation. Thank you for participating in the discussion.

Anyone has any update on the progress of the project Vahalla? When will it be made into the language?I believe that, until the language features as promised in project Vahalla bring into Java, nobody will bother with upgrading to the new Java 11 or even Java 12. The fact is that most people are still stick with Java 8 now.

Re: Java 11

Your message is awaiting moderation. Thank you for participating in the discussion.

Hi Vinil,

I would strongly suggest that you migrate from Java 7 as a critical priority. That version is not supported any more and has hundreds (if not thousands) of security and other bugs. It is also much less performant than Java 8.

Java 7 -> Java 11 would be a huge, and painful upgrade, so I would suggest that you migrate to a free OpenJDK 8 build - perhaps either Azul Zulu or AdoptOpenJDK. These will be supported for some time to come (whereas the Oracle JDK will stop being supported in Jan 2019, except for paying customers of Oracle).

Re: Hung Nguyen

Your message is awaiting moderation. Thank you for participating in the discussion.

Valhalla, as a project, delivers prototypes of features, that are then moved to mainline. For example, the "Nestmates" feature of Java 11 came from Valhalla originally (it doesn't do much by itself, but it prepares the ground for some features, such as sealing and maybe algebraic data types, to come later).

Value types had an initial power-user prototype (LW1) a couple of months ago, but they are still a long way from landing. Oracle make no representations as to when they could actually arrive. Given the state of the current prototype I would say at least another 12-18 months.

Personally, if I was starting a new greenfield Java project today (especially if it's microservices) then I would serious consider OpenJDK 11. It's an LTS release, the first LTS with modules and has some solid engineering and helpful features in it.

Re: Support for JAXB and SOAP

Your message is awaiting moderation. Thank you for participating in the discussion.

update on build script

So I need to rebuild my application, so my production applications will fail on upgrade my Tomcat. What if I have not access to the source code of the application? What if I need in the same Tomcat a Java 11 and Java 6 application (and I have not the source code)?