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:
Some support for these was also introduced in JDK 8u131 back in April 2017 [0]. Do you know if these issues are the same ones fixed in JDK 8 or maybe they have now been backported to JDK 8 and 9?
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.
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?
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.
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).
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...
It does not seem to be uncommon to recommend staying away from the non-LTS releases. It is probably not only up to you whether or not your software supports the next JDK release; all your tooling and libraries need to do so as well.
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.
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.
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?
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.
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?
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.
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
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.
[+] [-] sadiq|8 years ago|reply
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
[+] [-] dordoka|8 years ago|reply
Thanks!
[0]: https://blogs.oracle.com/java-platform-group/java-se-support...
[+] [-] SCdF|8 years ago|reply
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
[+] [-] mastazi|8 years ago|reply
[+] [-] vbezhenar|8 years ago|reply
[+] [-] firebird84|8 years ago|reply
[+] [-] madmulita|8 years ago|reply
[+] [-] sumnulu|8 years ago|reply
[+] [-] agumonkey|8 years ago|reply
[+] [-] Traubenfuchs|8 years ago|reply
[+] [-] he0001|8 years ago|reply
[+] [-] b15h0p|8 years ago|reply
See http://blog.joda.org/2018/02/java-9-has-six-weeks-to-live.ht... for more insight.
[+] [-] WHoWHo|8 years ago|reply
All good Java developers I know make all local variables final to force better code.
[+] [-] mabn|8 years ago|reply
[+] [-] merb|8 years ago|reply
[+] [-] flavor8|8 years ago|reply
[+] [-] ptx|8 years ago|reply
[+] [-] needusername|8 years ago|reply
[+] [-] sorokod|8 years ago|reply
[+] [-] fareesh|8 years ago|reply
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?
[+] [-] mrsheen|8 years ago|reply
[+] [-] ksec|8 years ago|reply
*Still hoping Oracle will be so good to allow TruffleRuby download without all the signing up and agreement.
[+] [-] akerro|8 years ago|reply
[+] [-] chrisseaton|8 years ago|reply
This is definitely coming very soon.
[+] [-] ThatHNGuy|8 years ago|reply
When Oracle will remove it in Java11, it would be even worse
[+] [-] ris|8 years ago|reply
[+] [-] AlphaSite|8 years ago|reply
[+] [-] smackfu|8 years ago|reply
[+] [-] StreamBright|8 years ago|reply
[+] [-] mavroprovato|8 years ago|reply
So if you care about long term support, you should stay on JDK8
[+] [-] Tepix|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] rizalp|8 years ago|reply
[+] [-] corpMaverick|8 years ago|reply
[+] [-] oweiler|8 years ago|reply
[+] [-] puppetmaster400|8 years ago|reply
[deleted]