top | item 12735896

JDK 9 release schedule

159 points| erl | 9 years ago |mail.openjdk.java.net | reply

160 comments

order
[+] spullara|9 years ago|reply
The next interesting thing for the JVM is value types in Java 10. It may convince me to use it pre release.
[+] pjmlp|9 years ago|reply
There are Valhalla releases available, but I bet stable is something they are not.
[+] bitmapbrother|9 years ago|reply
I'd also add:

  Generic Specialization  
  Reified Generics  
  Native Function Calling
  Native Data Access
  New Data Layouts
[+] namelezz|9 years ago|reply
Yeah. Unfortunately, unsafe is removed in JDK 9. :(

Edit: It seems removing unsafe is just a rumor.

[+] merb|9 years ago|reply
well not too bad if they could deliver the jdk 10 (valhalla) a faster. jdk 9 is less important than jdk 10.
[+] javanese|9 years ago|reply
So, uh, how many people are using Java 8?

I still see projects using Java 5...

[+] michaelt|9 years ago|reply
The vast majority of projects, at my employer. I personally upgraded several hundred JVMs running several dozen services - upgrading was simple and almost entirely painless.

In addition to benefiting from the new features, being up-to-date is good for recruiting. You tell someone they'll be working with Java 6 and (in the absence of other evidence) they'll assume it's a legacy product suffering from chronic under-investment. Not exactly the impression you want to give job seekers!

[+] ygra|9 years ago|reply
The annoying thing is that Java 8 is the only currently supported version of the language. The glacial development speed somehow still manages to deprecate versions faster than they fall out of use.
[+] djsumdog|9 years ago|reply
> I still see projects using Java 5...

Are you serious? Even the worst shops I've been at have at least moved their JVMs to Java7 back around 2014. I mean you can take all your existing JARs from Java4 and run them on Java8 and nothing should break. Recompiling them might be another issue, but still not a huge one.

[+] brianwawok|9 years ago|reply
Most not totally old projects are on JDK8. Don't look at some crufty apache product, but look at medium size business apps... those have all been JDK8 for a while now.
[+] theandrewbailey|9 years ago|reply
I am. Granted, it's only the blog hosted from my basement.
[+] renyalvarado|9 years ago|reply
I worked for a insurance company last year, and it stills use Java 6
[+] haalcion3|9 years ago|reply
Been coding Java for close to 20 years. Can anyone show me what's being done in the language to bring on newcomers, or did that ship sail 10-15 years ago?

Some ideas that would bring people back:

* Wildly new, terse, and clear syntax and a great library of built-in tools that are briefly and intuitively named.

* Easily write and design interfaces that generate both/either back-end or matching integrated front-end code which is off in its own directory and can easily be used by existing JavaScript and HTML.

* Similarly be able to generate the JavaScript front-end code that use those JS client libraries with easily writable/pluggable generators so that it can generate Angular 1.x, 2, ReactJS, Bootstrap, etc. in "best-practice" ways that can be updated frequently as the community changes.

* Simultaneously provide the option to serve very similar pages using straight HTML, degrading even to the point that a text only browser could use the site easily.

* Easily define responsiveness of pages.

* Support multiple 3D, 4D, etc. interfaces with customizable inputs to be forward-compatible without overdoing complexity (i.e. it's really pluggable).

* Similarly support generation of almost any kind of service integration, with easy pluggable authN/R.

* Easily scalable.

* Relational, noSQL, versioning DB (noms) support.

* Make fun books for kids and a site where they can share what they've written, write games, build things, etc.

* Make it integrate with every browser, even some older versions, operating systems.

* Make it compile low-level vs. byte code so it's fast as shit.

[+] hota_mazi|9 years ago|reply
> Can anyone show me what's being done in the language to bring on newcomers

I don't think Java needs any help in that department given how crazy popular it is.

And Android has made it even more popular than it ever was these past eight years.

Java has a few issues but the learning curve is not one of them.

[+] snuxoll|9 years ago|reply
> Wildly new, terse, and clear syntax

Kotlin

> great library of built-in tools that are briefly and intuitively named.

I dunno, guess this depends on what you need. The Java class library has so much in it, but I guess it's not overly intuitive due to the age of a lot of the packages. Personally, I don't think I'd have a hard time getting my .Net-loving colleagues accustomed to everything as is.

Java EE is another matter entirely, I gave up on it after the Java EE 8 clusterfuck that's going on and have just decided to use Spring for everything.

> Easily write and design interfaces that generate both/either back-end or matching integrated front-end code which is off in its own directory and can easily be used by existing JavaScript and HTML.

What are you looking for here? Automagic API's? spring-data-rest says hello. I still find it's better to write my own, but if you need something for a quick prototype there you go.

> Easily scalable.

How are you wanting to scale? Where is your bottleneck? This isn't on the language to solve, it's how you design your application. I can throw up 2,000 instances of an application, but whether the database behind it can handle 100K/tx/sec is another story entirely.

> Relational, noSQL, versioning DB (noms) support.

We've had JDBC, JPA, jOOQ, QueryDSL, etc, forever for the relational story. There's plenty of support out there for various NoSQL databases (Spring even has spring-data-cassandra which I am looking at using right now for an ES/CQRS design).

> Make it integrate with every browser, even some older versions, operating systems.

Why? Java in the browser is dead. If you want to write client-side stuff just use JavaFX and package using WebStart or an installer that bundles your JRE and dependencies.

> Make it compile low-level vs. byte code so it's fast as shit.

Java is already "fast as shit". The warmup time for HotSpot and initializing the JVM is probably the big complaint everyone has, but unless you are writing small command line tools it is a complete non-issue.

With that said, Java 9 will support limited AOT compilation of modules to reduce the time to get basic compiled versions of your classes - HotSpot will still profile the compiled modules, and if finds it is required it will deoptimize, re-profile through bytecode interpretation and reoptimize - just like it does with normal .class files (which are still required to run).

[+] gshx|9 years ago|reply
Thanks for the bullets. This is a good list but some of the points like "Easily scalable" and "DB support" are not cheaply available in any runtime and require careful attention to detail as well as domain-specific thinking. IMHO, the JVM already does a lot of heavy-lifting in this regard.
[+] pgwhalen|9 years ago|reply
>Make it compile low-level vs. byte code so it's fast as shit.

AOT compilation is not automatically faster than JIT compilation. Java already is fast as shit. If you're worried about that first 100 milliseconds, works is being done on AOT compilation.

[+] nradov|9 years ago|reply
Most of that seems overly specific and wouldn't be appropriate for the core of a general purpose language. There's a whole world of software outside of web applications. Leave that stuff to separate libraries and frameworks.
[+] ksec|9 years ago|reply
Does anyone know if Truffle and Graal will ship with JDK 9 ?
[+] ivanche|9 years ago|reply
While I can't say with 100% confidence, I listened Graal presentation at Voxxed Days Belgrade one month ago and the presenter (IIRC, Martin Tonchev) said it won't be ready for JDK9 and that they aim at JDK10.
[+] ape4|9 years ago|reply
If you are doing dates the nice way as yyyy/mm/dd you should use dashes - ie yyyy-mm-dd. Let the slashes mean other styles.
[+] Tharkun|9 years ago|reply
Or you could not make assumptions like this. There are more ways to represent dates than there are bones in my body. What seems like a silly way to you might be the preferred way for someone else, for a variety of reasons.
[+] DiabloD3|9 years ago|reply
Or nothing at all, the "filename" way of 20161018, my brain natively parses it that way now.
[+] sytringy05|9 years ago|reply
I cant wait for that REPL.. I've almost always got the intellij debugger running with the Evaluate Expression window open
[+] Bjartr|9 years ago|reply
Just in time for GWT to get support for Java 8
[+] Scarbutt|9 years ago|reply
Will the "modular source code" feature help handle the "jar hell" problem?
[+] geodel|9 years ago|reply
It might help you migrate to module hell.
[+] puppetmaster3|9 years ago|reply
This is posted a year early. Please post this in a year.

I see no JSON, I have to use a 3rd party lib. And ... no word on fixing logging divergence.