DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Coding
  3. Java
  4. Staring Into My Java Crystal Ball

Staring Into My Java Crystal Ball

With Java 9 on the horizon this year, what will its release bring? What other developments can we look forward to? 2017 promises to be an interesting year.

Simon Ritter user avatar by
Simon Ritter
·
Jan. 07, 17 · Opinion
Like (9)
Save
Tweet
Share
13.02K Views

Join the DZone community and get the full member experience.

Join For Free

Many years ago, when I was working at Sun doing Java Evangelism, a friend of mine bought me a genuine crystal ball. He said I was always trying to tell people about the future of Java, so I might as well be appropriately equipped.

Since this is the first week of 2017 (happy new year), I thought I’d get my crystal ball out and risk making some predictions about what will happen in the world of Java during the next twelve months. I’ll write a follow-up at the end of the year to see how well I did.

2017 promises to be an exciting year for Java for many parts of the ecosystem.

Java SE 9/JDK 9

The current schedule for the JDK 9 project on the OpenJDK website gives the date of general availability as the July 27 (for fun, someone has created a countdown website for this, here). To hit that date, the milestone of ‘Feature Extension Complete’ should have been completed just before Christmas (Dec. 22). This milestone is defined as all “JEPs and small enhancements that have been granted extensions via the FC extension-request process must be integrated into the master forest.” Although nothing has been stated publicly on the jdk9-dev mailing list, this milestone seems to have been reached. There are 90 JEPs to be included in JDK 9 and, with one exception, they all appear to be in a status of either completed or closed/delivered. The only one not in this state is JEP 298, Remove Demos and Samples. I don’t think we need to be too concerned about that one causing further delay.  

Project Jigsaw still has a number of unresolved issues, but hopefully, these will all be dealt with before Feb. 9, which is the milestone date for having all tests run.

Although JDK 9 does not bring significant changes to either the Java language or class libraries, the impact of modularization of the Java platform should not be underestimated. Several things may affect the backward compatibility of your application if you have used (directly, or indirectly by using a third-party jar file) any of the non-public APIs included in the Java runtime. Reading the jigsaw-dev mailing list shows that some of these can be quite subtle and unexpected.

I think all Java developers should make one of their new year’s resolutions to test their applications with the early access builds of JDK 9 (available here), or at least run the jdeps tool on their jar files.

Java EE 8

Enterprise Java seemed to have stalled earlier last year but, thanks in no small part to the community; it looks like things are back on track. At last year’s JavaOne Oracle announced that the Java EE 8 specification (JSR 366) would be completed by the end of 2017, with Java EE 9 to follow only a year later.

There has definitely been movement in the right direction with JSR 366 publishing a second review draft in November last year. A survey was also launched shortly after JavaOne to poll the community on what were the most desirable features they’d like to see in Java EE 8. The results of this were posted shortly before Christmas with REST services and HTTP/2 being the most popular of the choices. 

Related to this are the efforts to standardize Java for use in a microservice architecture. We’ll have to wait and see how the microprofile initiative progresses and whether Java EE 8 and Java EE 9 affect its relevance as a standard. 

Java ME

The micro edition of Java is not dead, yet, but certainly, isn’t showing any signs of life. A quick search online for news related to Java ME doesn’t bring much back (bizarrely, the most recent article I could find that mentioned it was my own discussing the JCP). With the imminent release of Java SE 9, it would seem logical to expect an associated release of Java ME. My crystal ball is a little cloudy in this area, but I suspect that won’t happen.

Embedded Java

Although Java ME has always been targeted at embedded applications, not all embedded systems need to use it. The continued reality of Moore’s Law means that, what was a server 20 years ago, is now a system-on-a-chip (SoC), as demonstrated by the Raspberry Pi. The impact of this is that many embedded devices can now run an implementation of Java SE since they have adequate resources. With modularity coming in JDK 9, this will be even better by potentially reducing the Java platform footprint.

Here at Azul, we’ve been doing a lot of work in this area helping with the OpenJDK port to ARM and producing Zulu embedded binaries. Expect to see a lot more of this during 2017.

The Java Community

I predict the Java community will continue to grow and thrive this year with many great events already in the calendar. To name a few there’s Jfokus in Sweden next month, the first Devoxx in the US as well as Devoxx events in the UK, France, Poland, and Morocco. We also have JavaLand again this year and a whole host of other smaller events; I’ll be trying to get to as many of these as my time and travel budget will allow. 

Conclusions

It’s evident that 2017 will bring significant changes to many aspects of the Java platform, but I think it’s safe to say that Java will continue to be the most popular development platform on the planet.

Java (programming language) Crystal (programming language) Java EE

Published at DZone with permission of Simon Ritter, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Spring Boot, Quarkus, or Micronaut?
  • Introduction to Containerization
  • The Power of Docker Images: A Comprehensive Guide to Building From Scratch
  • mTLS Everywere

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: