top | item 16636349

JDK 10: General Availability

228 points| tronotonante | 8 years ago |mail.openjdk.java.net

110 comments

order
[+] sadiq|8 years ago|reply
Something not mentioned amongst the JEPs on the release email is that this release also fixes a bunch of issues related to running the JVM in a container. I wrote about some of these yesterday:

https://www.opsian.com/blog/java-on-docker/

Relevant JEPs:

https://bugs.openjdk.java.net/browse/JDK-8146115

https://bugs.openjdk.java.net/browse/JDK-8179498

https://bugs.openjdk.java.net/browse/JDK-8146115

[+] suj1th|8 years ago|reply
Thanks for sharing the blog-post. I use Scala on Docker, and the features/fixes you mention certainly helps me in simplifying my deployments.
[+] SCdF|8 years ago|reply
I'm so confused, I didn't even know JDK9 was out yet!

Reading elsewhere they are apparently moving to a 6 month release cycle.

For people using Java in businessey environments, I'd love to hear your thoughts on this. Do you think you'll be able to keep up with the JDK changing twice a year? When I was in this game we were always on versions that were years behind, but maybe this has changed.

[+] BonesJustice|8 years ago|reply
This release cycle makes no sense to me. We haven’t even finished migrating all our components to compile with JDK8 yet, though they’ve all been running against it for a while now. We’re barely even discussing moving to JDK9 at this point. What company with a reasonably large software base is going to keep up with a six-month release schedule? Java isn’t a web browser or some other user application. Who would even _want_ to spend the kind of resources required to constantly be testing new JDK releases?
[+] mastazi|8 years ago|reply
They will have LTS versions, the next LTS will be version 11
[+] vbezhenar|8 years ago|reply
I'm stuck with Java 8, because there's no 32-bit support on newer Oracle JVM and I have to run my code on Windows 2003 servers. I guess it'll be like Delphi 7, best version which will stick around forever. I, personally, don't care about updates. If something works, it'll work.
[+] firebird84|8 years ago|reply
We intend to only switch to LTS versions. 8 is LTS, as will be 11. We'll switch a little while after 11 comes out once we believe any release bugs are ironed out (7's release worried me).
[+] madmulita|8 years ago|reply
You want the short or the long answer? We still have major components using java 1.4.2.
[+] agumonkey|8 years ago|reply
Yeah I remember downloading a jdk9 prerelease not long ago and now jdk10 ... does not compute
[+] Traubenfuchs|8 years ago|reply
Modern enterprise Java uses Docker. At best, a Java upgrade means changing one line in the Dockerfile.
[+] he0001|8 years ago|reply
Reading through the comments and I’m amazed how people are so darn negative to this. Most of the time people complain about how old java is and the are much more “modern” options. And now suddenly when they finally picking up the pace, you whine like bunch of kids that lost their candy...
[+] WHoWHo|8 years ago|reply
Sad var/val (or var/let) didn't make it.

All good Java developers I know make all local variables final to force better code.

[+] mabn|8 years ago|reply
Does it actually help? After 10 years of java I don't really remember any case where defining local variable as final would catch an error. Though maybe these cases are easy to forget.
[+] flavor8|8 years ago|reply
I'd advise spending an afternoon trialing Kotlin. It works side by side with existing Java code, has good IDE support (*assuming Jetbrains), and gets you var/val along with a lot of other goodness (data classes, extension methods, etc). At worst you'll have a nice demo for your next tech all-hands.
[+] ptx|8 years ago|reply
How does Class-Data Sharing – which they've now extended to include application classes – interact with the new "jimage"-format files (e.g. lib/modules) introduced in Java 9? Will the jimage file also be efficiently memory-mapped, making CDS superfluous, or should they be both be applied?
[+] needusername|8 years ago|reply
There is disappointingly little information available on jimage so it's hard to compare. jimage does require you to be fully modular while CDS does not. OTOH CDS is quite a bit tedious to set up.
[+] fareesh|8 years ago|reply
I'd be really interested to know if there are folks out there who enjoy Java programming as compared to the alternatives out there today.

Does Java fill any kind of niche aside from maintaining those gargantuan projects that are typical of governments and large corporations?

When I learned Java in the 90s, it was hyped up with the promise of microwaves and refrigerators and televisions and every little thing running Java software.

Instead, the only time I've found myself turning to Java was when I built an IDE on top of eclipse for a custom programming language, a few android apps, a few swing projects for school, and a few socket based projects. When dealing with IOT and smaller hardware, I've found myself using node(js) instead.

I've rarely ever found it enjoyable. The IDEs have been sluggish, the GUI libraries have felt cheap and unpolished, with those clunky diamond shaped radio buttons, and I always found myself writing too much code to do very simple stuff, because every library was wordy and verbose. When I looked at my work, it felt inelegant and cumbersome.

What is Java like in 2018? Are there any good, polished open source projects that work well ? What would make you look at a project and say "I think Java is the most suitable choice for that" today?

[+] ksec|8 years ago|reply
When will GraalVM / SubstrateVM be part of JRE?

*Still hoping Oracle will be so good to allow TruffleRuby download without all the signing up and agreement.

[+] akerro|8 years ago|reply
Some parts of Graal (like ahead of time) were added in Java9 on Linux 64bit, rest of the Graal was added to Java10, but also only for Linux 64 bit. Graal is pretty much workable but there are some edge cases that crash your code or the JVM, eg. Ruby generally works, but Ruby on Rails doesn't.
[+] chrisseaton|8 years ago|reply
> Still hoping Oracle will be so good to allow TruffleRuby download without all the signing up and agreement

This is definitely coming very soon.

[+] ThatHNGuy|8 years ago|reply
what about OpenJDK with OpenJFX? Building by myself it's an overkill task (it requires Qt for Webkit), especially on more platforms. I think it's a pity there are no public available releases of OpenJDK with included JavaFX out there.

When Oracle will remove it in Java11, it would be even worse

[+] ris|8 years ago|reply
I agree this is something which should be prioritized, but I don't necessarily think the answer should be to just provide pre-built binaries. I feel really uneasy about open source projects that are almost impossible to build by anyone by the authors - more work should go into making the build process less obscene.
[+] AlphaSite|8 years ago|reply
Well no, the. It bec9mes just another dependency.
[+] smackfu|8 years ago|reply
Does anyone know why java.com only offers to install Java 8 for a desktop user?
[+] StreamBright|8 years ago|reply
Does anybody know which release is going to be the a long time supported release? Should I stay on JDK8 for now?
[+] Tepix|8 years ago|reply
The next release in September 2018 (JDK 11) will be a LTS release.
[+] rizalp|8 years ago|reply
Why is JDK9 & JDK10 is quite huge 197MB? Much bigger than JDK8 which only use 75MB