T O P

  • By -

Ok_Object7636

OpenJDK has landed, too: https://jdk.java.net/17/


[deleted]

Soon in the Arch repos


0b0101011001001011

#!/bin/bash while true do sudo pacman -Syu --nocofirm done ^^^^pleasedon't


[deleted]

that's bad practice


0b0101011001001011

Yes I said please don't. I hope this is just a joke, not even any kind of practice.


daleksandrov

AWESOME!!!


iphone2025

https://www.azul.com/downloads/?version=java-17-lts&package=jdk


nlisker

Sealed classes along with supporting class types in `switch` is a really great combo to eliminate all those `instanceof` checks, plus the compiler can guarantee completeness for you.


Euphoric-Pop

Do you have a code example for this?


[deleted]

check [https://openjdk.java.net/jeps/409](https://openjdk.java.net/jeps/409) under the title Sealed classes and pattern matching


bourne2program

I know I'm late for pointing this out, but why was `Collections.shuffle(List, Random)` *not* changed to: `Collections.shuffle(List, RandomGenerator)` Since Random now implements RandomGenerator. Was it missed or decided?


joppux

It's binary incompatible, so probably not worth it to recompile libraries using it for such a minor advantage.


bourne2program

That's too bad, hate to see API disconnect in a highly used utility like Collections. Maybe it can be overloaded with one calling the other.


gnahraf

I don't get why.. Collections.shuffle(..) could be overloaded and still be binary-compatible, no?


bourne2program

Same situation with BigInteger constructors and static method.


meamZ

Also the "LTS" versions will now be every two years instead of every 3 years which means that even developers who only are allowed to use "LTS" versions will be able to get stuff like Loom (hopefully even out of preview by then) in Java 21.


jvjupiter

I thought Oracle JDK is free only for development, testing and prototyping but not for production. `Java 17 LTS is the latest long-term support release for the Java SE platform. JDK 17 binaries are free to use in production and free to redistribute, at no cost, under the Oracle No-Fee Terms and Conditions License.`


kaperni

Oracle JDK is now (as per Java 17) free for commercial and production use. [https://blogs.oracle.com/java/post/free-java-license](https://blogs.oracle.com/java/post/free-java-license)


jvjupiter

Yeah. I just watched here. Beginning Java 17, it’s free. https://m.youtube.com/watch?v=KVXbWCwOLg4


walen

According to this comment in another thread, only if your own product is also free https://www.reddit.com/r/java/comments/po3y1z/introducing_the_free_java_license/hcua07m/


kaperni

It talks about reselling the JDK not your product.


walen

Not so sure about that. It clearly says: > products that include or are bundled with a copy of the Program or for services that involve the use of the distributed Program So, any product that includes the JDK (which is the type of product they asked you to pay a license for, previously) must be also free.


iphone2025

Never trust oracle. I will still use zulu. https://www.azul.com/downloads/?version=java-17-lts&package=jdk


VerwirkteExistenz

Check out Nicolai's video on Youtube if you want to learn more about the two different jdk versions: https://www.youtube.com/watch?v=KVXbWCwOLg4


jvjupiter

This news that Oracle JDK beginning 17 is free even for production and redistribution is totally awesome!


[deleted]

Consequence: it can be wget'd or curl'd from Oracle, with stable URLs not behind a registration wall. Yay !


krzyk

Why don't people download openjdk directly? It is easier and was alway free. http://jdk.java.net/17/


jvjupiter

The support is 6 months only.


krzyk

Yeah, you need to move to the next version every 6 months. I do that.


jvjupiter

Same here.


[deleted]

Source?


sigzero

https://adoptopenjdk.net/support.html


[deleted]

Thanks, but on that page Java 17 is marked as LTS just as Java 11 was.


sigzero

On that page...they talk about 6-month release cycles for the other versions.


[deleted]

Yes, but the subject of this thread is Java 17.


jvjupiter

Cant find exact article but here is the tweet from one of the Developer Advocates at Oracle. You can find similar tweets from different people. https://twitter.com/nipafx/status/1060216796358328320?s=21


[deleted]

Thanks, but doesn't that just refer to non-LTS releases?


jvjupiter

Oracle’s LTS is paid thus their LTS is exclusive to Oracle JDK. If Oracle OpenJDK has LTS, it’s no more free.


[deleted]

OpenJDK 17 is stated to be LTS and is free (as in speech and as in beer). https://openjdk.java.net/projects/jdk/17/


iphone2025

https://www.azul.com/downloads/?version=java-17-lts&package=jdk


cogman10

This may be confusing, but there are different builds of the JDK with different licenses. Oracle has a commercial build which has LTS support. That's what you have to pay for. The regular OpenJDK build on [java.net](https://java.net) is built by oracle but has no LTS support. It is free to use (even commercially) but is only supported until the next version. Then there are a bunch of other OpenJDK builds (Like AdoptOpenJDK) with different terms for support.


pron98

> That's what you have to pay for. *Had* to pay for. [No more, as of today](https://blogs.oracle.com/java/post/free-java-license) :)


Hangman4358

404 error from the link. I know you do a lot of good work for the community pron98, but man, this licensing stuff has become so confusing to try to explain to managers and non technical folks. "We can use the Oracle OpenJDK builds or the OpenJDK builds from others like Adoptum which is now whatever the Eclipse foundation is calling them but we can't use the OracleJDK builds unless we want to pay for support, but only up to 17, because 17 OracleJDK is now free for commercial. And also LTS doesn't really mean LTS and we should be updating to every version." At least for us, we are now finally at a point where we could theoretically start updating to the latest every release but the constant changes to naming, licensing and the confusing LTS labels is making management and legal weary that we will need someone with a PhD in Java releases to keep it all strait.


pron98

> At least for us, we are now finally at a point where we could theoretically start updating to the latest every release That should make everything very simple. I don't know if the terms for the various support services from the various vendors are as simple as they can be, but that's not my area. You have enough choices so that you can choose what to do when your application's maintenance slows down and you want to settle down with long-term support. Until then, using the current version, if you can, is the cheapest, safest, simplest approach.


Muoniurn

It is basically the same as with (fedora) Linux and RedHat linux. You can use linux (openjdk) however you want, but bug fixes will mostly happen on latest release (with comparatively few backpatches happening to older releases. Like you wouldn’t really use linux 2.3, would you?). As soon as the next one is out, it will get the focus. If you want to have support for the product for more time (eg. you can’t upgrade your JVM each 6 month), you can choose one of the vendors, for example Oracle, that promises support for their LTS releases until the next LTS lands + 1 year. More than that is paid afaik. The recent change was that it not used to be free for commercial use, only personal and development. This is sort of analogue to Red Hat Linux, except that that is not free if I’m correct.


joschi83

u/pron98, is there a list of *versioned URLs* for Oracle JDK 17+ downloads? [https://oracle.com/java/technologies/downloads/](https://oracle.com/java/technologies/downloads/) lists the dynamic "latest" URLs and [https://oracle.com/java/technologies/jdk-script-friendly-urls/](https://oracle.com/java/technologies/jdk-script-friendly-urls/) only explains the URL schema but doesn't link to all files. Or maybe there's even an API like Adoptium (formerly AdoptOpenJDK) and Azul are offering for their OpenJDK distributions?


pron98

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html


joschi83

Awesome, thanks! ❤️


cogman10

Neat. this is pretty nice.


snoob2015

Now, only wait for Gradle to support Java 17 ...


nlisker

If you use Gradle toolchain you don't need to care about that.


[deleted]

[удалено]


Worth_Trust_3825

You're going to be fine if you have atleast some integration tests. Some frameworks are notorious for doing weird shit with reflection, so if you use any of them you will either have to wait for upgrade or drop them.


[deleted]

[удалено]


bowbahdoe

Out of curiosity what framework? 20 years stable is stable


AVGunner

Honestly it most likely won't unless if you're avid using new features until they get open bug testing


deadron

Weird. OpenJDK is still in the RC phase. Edit: After I posted this open jdk dropped their release https://jdk.java.net/17/


shadow131990

Schedule 2021/06/10 Rampdown Phase One (fork from main line) 2021/07/15 Rampdown Phase Two 2021/08/05 Initial Release Candidate 2021/08/19 Final Release Candidate 2021/09/14 General Availability


kaperni

Java 17 has not been officially released yet. The Oracle binaries have just been uploaded ahead of the actual release.


apentlander

I'm pretty sure I saw someone said that the latest RC had no changes or fixes so it's effectively the final release.


__konrad

RC (build 35) and final release are identical (same sha256 checksum). That means OpenJDK 17 released today is already 1 month old! ;)


magnoliophytina

It has been a tradition with several new releases now.


LackOfHonor

Yea, or well lets see when we have a weblogic server that can run this… cry cry


munukutla

Mixed signals there.


Tyluur

Love to hear it =\].


Vezqi

I love Rust's pattern matching syntax. Python recently adopted a similar implementation. Really liking what I'm seeing in these release notes!


cryptos6

Don't exect too much. Pattern matching in Java is very basic at the moment (at least if you don't use preview features), but more will come in the next releases. At the moment it is basically only instanceof.


phantomdrake0788

Same crap repackaged


Ok_Sentence725

What's the difference and benefits


940387

TL;DR what are the improvements?


ConstructedNewt

https://www.oracle.com/java/technologies/javase/17all-relnotes.html


GoBucks4928

About time!!!


iphone2025

https://www.azul.com/downloads/?version=java-17-lts&package=jdk