TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Java 17 / JDK 17: General Availability

349 pointsby 0xedbover 3 years ago

30 comments

hyperpapeover 3 years ago
On its own, the features specifically for Java 17 aren&#x27;t obviously that compelling, but the important thing is that Java 17 is an LTS, the last one of which was Java 11, 3 years ago. Since many organizations, including mine, stick to LTS releases, that means a lot of developers will get a big change in what they can do sometime in the next few months as they upgrade to the LTS.<p>Among other things, this means that we can begin to use records, pattern matching for instanceof, the shenendoah GC, and more.<p>Links to JEPs for the other releases.<p><a href="http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;16&#x2F;" rel="nofollow">http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;16&#x2F;</a> <a href="http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;15&#x2F;" rel="nofollow">http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;15&#x2F;</a> <a href="http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;14&#x2F;" rel="nofollow">http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;14&#x2F;</a> <a href="http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;13&#x2F;" rel="nofollow">http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;13&#x2F;</a> <a href="http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;12&#x2F;" rel="nofollow">http:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;12&#x2F;</a>
评论 #28525877 未加载
评论 #28529035 未加载
评论 #28525999 未加载
评论 #28526603 未加载
评论 #28531730 未加载
评论 #28527963 未加载
评论 #28527516 未加载
评论 #28528632 未加载
kasperniover 3 years ago
Some other news in relation to the release:<p>- (Proposal) Moving JDK LTS versions to a two year cadence [1]. Java 21 will be next LTS instead of Java 23.<p>- Oracle JDK is now free for commercial and production use [2].<p>- A new Java developer site [3].<p>[1] <a href="https:&#x2F;&#x2F;mreinhold.org&#x2F;blog&#x2F;forward-even-faster" rel="nofollow">https:&#x2F;&#x2F;mreinhold.org&#x2F;blog&#x2F;forward-even-faster</a><p>[2] <a href="https:&#x2F;&#x2F;blogs.oracle.com&#x2F;java&#x2F;post&#x2F;free-java-license" rel="nofollow">https:&#x2F;&#x2F;blogs.oracle.com&#x2F;java&#x2F;post&#x2F;free-java-license</a><p>[3] <a href="https:&#x2F;&#x2F;dev.java&#x2F;" rel="nofollow">https:&#x2F;&#x2F;dev.java&#x2F;</a>
评论 #28526808 未加载
评论 #28526540 未加载
评论 #28527570 未加载
评论 #28526087 未加载
评论 #28526879 未加载
stevetoddover 3 years ago
Some highlights since the last LTS (JDK 11):<p><pre><code> Language Features 394: Pattern Matching for instanceof 395: Records 306: Restore Always-Strict Floating-Point Semantics 409: Sealed Classes 361: Switch Expressions 378: Text Blocks Language Features in Preview (behind a flag) 406: Pattern Matching for switch 412: Foreign Function &amp; Memory API 414: Vector API Tooling 392: Packaging Tool (jpackage) JVM 386: Alpine Linux Port 391: macOS&#x2F;AArch64 Port 340: One AArch64 Port, Not Two 388: Windows&#x2F;AArch64 Port </code></pre> (Source: <a href="https:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;17&#x2F;jeps-since-jdk-11" rel="nofollow">https:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;17&#x2F;jeps-since-jdk-11</a>)
rnikanderover 3 years ago
I&#x27;m guessing that Loom (lightweight threads) is not in this yet. It looked like a nicer way to handle &quot;async&quot; code, but I wonder about the implementation difficulty.
评论 #28536246 未加载
throw0101aover 3 years ago
Seems that 17 is an LTS release:<p>* <a href="https:&#x2F;&#x2F;www.oracle.com&#x2F;java&#x2F;technologies&#x2F;java-se-support-roadmap.html" rel="nofollow">https:&#x2F;&#x2F;www.oracle.com&#x2F;java&#x2F;technologies&#x2F;java-se-support-roa...</a>
shadycuzover 3 years ago
If only I could understand the difference between java 1.8, 8 and 18.
评论 #28525576 未加载
评论 #28525670 未加载
评论 #28525629 未加载
评论 #28525679 未加载
评论 #28525578 未加载
stuff4benover 3 years ago
I haven&#x27;t touched Java since 8 but I&#x27;m itching to get back in it. Any good overviews of Java since 8 and what was added?
评论 #28525897 未加载
评论 #28530983 未加载
评论 #28527415 未加载
anonovaover 3 years ago
No releases for 17 yet, but checking the site, I discovered that AdoptOpenJDK was moved to the Eclipse Foundation and renamed to Adoptium: <a href="https:&#x2F;&#x2F;adoptium.net&#x2F;" rel="nofollow">https:&#x2F;&#x2F;adoptium.net&#x2F;</a>
评论 #28584596 未加载
评论 #28526844 未加载
ducktectiveover 3 years ago
Any news on JavaFX? I know it&#x27;s developed independently but is it an even option beside Qt, Electron, etc..?
评论 #28525840 未加载
评论 #28528121 未加载
评论 #28527618 未加载
评论 #28527613 未加载
eternalbanover 3 years ago
Great to see there is support for M1: <a href="https:&#x2F;&#x2F;openjdk.java.net&#x2F;jeps&#x2F;391" rel="nofollow">https:&#x2F;&#x2F;openjdk.java.net&#x2F;jeps&#x2F;391</a>
评论 #28526469 未加载
评论 #28526747 未加载
gjsman-1000over 3 years ago
Reportedly, not much &quot;big new stuff&quot; got into this release (maybe next time), but it&#x27;s an LTS so it&#x27;s not the best time for that anyway.
评论 #28525772 未加载
评论 #28525564 未加载
评论 #28526961 未加载
评论 #28525707 未加载
评论 #28527437 未加载
muhammedbashover 3 years ago
Something I would like to see in Java is for functions to return multiple (named?) values. I think it will reduce boiler plate code considerably.
评论 #28527120 未加载
评论 #28527911 未加载
评论 #28532654 未加载
评论 #28526984 未加载
azalemethover 3 years ago
I would like to ask a question, in order to elicit the detailed and considerate comment that HN is known for. It&#x27;s not intended to inflammatory in any way shape or form!<p>I am not a Java developer. I am one of those users who has a bad memory of using Java desktop apps in ~2001 where they ate a ton of ram, seemed horrendously slow, and had example &quot;Hello Worlds&quot; that are reminiscent of Enterprise FizzBuzz [1]. At some point in the last 20 years, Java has gone the other way -- it has a reputation (I think) of being &quot;boring&quot;, &quot;performant&quot; and used by businesses for doing server-side logic. Still, the only way I interact with it is with the occasional dependency install.<p>I&#x27;ve noticed:<p>-- There are a bunch of different JREs&#x2F;JDKs, most famously Sun&#x27;s&#x2F;Oracle&#x27;s own Java, OpenJDK, OpenJDK built by Other People™, and Random Other JDKs (Azul; Amazon Corretto).<p>-- People rail against Sun&#x2F;Oracle and what happened to Java.<p>-- For a bloody long time I had to download the JDK separately and&#x2F;or type in &quot;agree&quot; into a very un-friendly sounding license at the command line.<p>Can I therefore ask the HN meta-brain to either explain, or point me to a reference that explains:<p>-- What the ideological and <i>practical</i> differences are between the JDKs<p>-- <i>Why</i> there are different JDKs -- I get that that it&#x27;s good to have different language implementations, but there are really quite a lot!<p>-- <i>What Oracle did</i><p>-- And what was the beef with the whole open-source license was. Isn&#x27;t opener-better?<p>Thank you!<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;EnterpriseQualityCoding&#x2F;FizzBuzzEnterpriseEdition" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;EnterpriseQualityCoding&#x2F;FizzBuzzEnterpris...</a>
评论 #28527447 未加载
评论 #28530893 未加载
评论 #28528059 未加载
评论 #28528284 未加载
评论 #28528026 未加载
vitroover 3 years ago
Give me variable interpolation in strings and I&#x27;ll be happy.
评论 #28544043 未加载
filereaperover 3 years ago
I&#x27;ve been out of the loop with the Java ecosystem, but has the transition from Java 8 to 11 completed where most of folks here work?<p>I was also curious about large ecosystems like Hadoop and their moves from 8 to 11.
评论 #28530407 未加载
评论 #28527365 未加载
评论 #28534399 未加载
评论 #28531670 未加载
exabrialover 3 years ago
Java5 and Java8 were monumental changes to the language… this update probably will have the same legacy. Can’t wait to see the benchmarks out of this bad boy once they get the compilers tuned in.
评论 #28526994 未加载
评论 #28530126 未加载
cesarbover 3 years ago
I understand wanting to remove the overcomplicated Security Manager, but we have one use case which, as far as I can see, has not been mentioned at <a href="https:&#x2F;&#x2F;openjdk.java.net&#x2F;jeps&#x2F;411" rel="nofollow">https:&#x2F;&#x2F;openjdk.java.net&#x2F;jeps&#x2F;411</a> : we install a custom security manager to prevent the software, when run on a developer machine, from accidentally connecting to non-localhost network addresses (we actually use a whitelist). I wonder how we&#x27;ll do that after Java 17.
评论 #28528086 未加载
评论 #28536854 未加载
brapover 3 years ago
Is there a way to see top new Java features since version X? For example my company is stuck at version 9 I believe, and I’d like to see what I’m missing out of at a glance
评论 #28526397 未加载
评论 #28527740 未加载
deepsunover 3 years ago
Are they going to introduce zero-cost structs?<p>Kinda like Rust guarantees that Option&lt;T&gt; has the same size as T (aka free like in free beer).
评论 #28525843 未加载
评论 #28525796 未加载
评论 #28525657 未加载
评论 #28525946 未加载
评论 #28526979 未加载
avodonosovover 3 years ago
I am skeptical about the &quot;strong encapsulation&quot; and in general, of all cases whey people tell me about something: &quot;you don&#x27;t need it, it&#x27;s better for you to do it other way&quot;.<p>Usually I know better what I need. There were cases when I needed to access the internals, e.g. fixing a prod issue.<p>A quote from Thinking Forth comes to mind:<p>&gt; The newest traditional languages (such as Modula 2) bend over backwards to ensure that modules hide internal routines and data structures from other modules. The goal is to achieve module independence (a minimum coupling). The fear seems to be that modules strive to attack each other like alien antibodies. Or else, that evil bands of marauding modules are out to clobber the precious family data structures.<p>&gt; This is not what we’re concerned about. The purpose of hiding information, as we mean it, is simply to minimize the effects of a possible design-change by localizing things that might change within each component.
评论 #28526489 未加载
评论 #28525931 未加载
评论 #28525885 未加载
评论 #28528168 未加载
gigatexalover 3 years ago
The biggest hinderance to me adopting Java for anything meaningful was the build system. Too much XML and complexity. Maven for packages, ugh. Just give me a modern package manager. Does such a thing exist that is idiot proof?
评论 #28529949 未加载
评论 #28535111 未加载
dzongaover 3 years ago
as a node dev, I see people using typescript with node. I wonder why don&#x27;t those people just use java ? and let us clay potters shape plain js to our will. rather than pollute the node ecosystem with typescript
评论 #28528025 未加载
评论 #28529989 未加载
评论 #28533057 未加载
评论 #28544116 未加载
echopomover 3 years ago
Link with respectives JEP [0]<p>[0] <a href="https:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;17&#x2F;" rel="nofollow">https:&#x2F;&#x2F;openjdk.java.net&#x2F;projects&#x2F;jdk&#x2F;17&#x2F;</a>
geodelover 3 years ago
Lately I have insight similar to &#x27;what hardware improvements give, software bloat take it away&#x27;, &#x27;what JDK platforms give third party Java frameworks take it away.<p>I have this misfortune of dealing daily with a nasty Java framework which converts compile time errors into runtime errors, single error trace with multiple stack traces , most of them being from framework itself.<p>One thing that might improve situation is server side libraries instead of framework. However AFAIK there is nothing like that in Java world. Everything is bound to Servlet API at lowest level and app server&#x2F;frameworks on top of it.
评论 #28529691 未加载
评论 #28528867 未加载
评论 #28528738 未加载
评论 #28528024 未加载
dijitover 3 years ago
This is pretty big for me regarding IntelliJ.<p>This is the JDK version that ships with the wayland gui toolkits.<p>I’m psyched!
fractalbover 3 years ago
&gt; 414: Vector API (Second Incubator) Is it something like C++ vector class?
评论 #28527059 未加载
popotamongaover 3 years ago
Still no property literals :( Huge pain, C# has it so much better.
ianpurtonover 3 years ago
I&#x27;m curious if it would be possible to remove null from Java.<p>There&#x27;s already support for Optional.<p>I mean I guess a lot of code would stop compiling, or could it be deprecated somehow.
评论 #28526407 未加载
评论 #28527498 未加载
评论 #28526426 未加载
评论 #28530227 未加载
评论 #28528093 未加载
评论 #28527017 未加载
suyashover 3 years ago
anyone able to run Java 17 on a Pi ? wonder if there is an ARM release for Pi yet.
评论 #28527872 未加载
评论 #28527981 未加载
anonymousDanover 3 years ago
Oh man, I feel old.
评论 #28541547 未加载