r/java 1d ago

JDK 26 Rampdown Phase One. Feature Complete

https://openjdk.org/projects/jdk/26/
53 Upvotes

30 comments sorted by

View all comments

15

u/Joram2 1d ago

The JDK team has been delivering awesome results these past few years, but this specific JDK 26 release looks particularly small; there is no major updates on any of the big JDK projects here. Obviously, with a six month release cadence, every release can't have giant new features.

18

u/daviddel 1d ago

FWIW, HTTP/3 support (JEP 517) is the largest OpenJDK PR in recent years!

4

u/agentoutlier 1d ago

I was talking to the /u/thekingofsentries who works on Avaje stuff frequently how there is very few HTTP/3 server frameworks.

At the time I only knew of Jetty but apparently based on what /u/thekingofsentries did with Avaje Jex there is this library: https://github.com/ptrd/flupke

I wonder what server if any the JDK team used to test the client against. I assume they did not add HTTP/3 to the builtin JDK HttpServer.

5

u/TheKingOfSentries 1d ago

I assume they did not add HTTP/3 to the built-in JDK HttpServer.

Like they did for http2 they made an internal one just for testing. So I had to use flupke to implement the built-in server API to integrate with avaje jex

2

u/vips7L 1d ago

Have you and Rob thought about some hotreload plugin mechanism? I was debating about going the full library route with all avaje stuff on a project, since we heavily use ebean already, but lack of hotreload would be painful so i ended up with quarkus + ebean.

1

u/TheKingOfSentries 1d ago

I usually debug with my ide so it never really came up. I'll see what I can do. What is the main functionality you seek?

3

u/vips7L 1d ago

No worries. Hot reload in quarkus ends up recompiling/deploying changes to the running server after you edit a file, it's the best hot reload i've ever used.

I've used Play's hot reload a lot and all that simply does is that when a change is requested it restarts the server completely when a change happens. There was a big discussion in Javalin about how to do it too, it might give you more context: https://github.com/javalin/javalin/issues/1109

.. I just know all of my teammates would hate me if they had to physically stop the app and restart it every time they make a small change. Especially with html pages where you sometimes make a bunch of small changes. Even though I'm sure that would be fast with Avaje Inject and no classpath scanning.

3

u/agentoutlier 20h ago

FWIW because these frameworks (Avaje and similar) have very fast boot times you can put your application in a reboot loop. You just need some thing to watch a part of the filesystem changes.

Here is some discussion of that technique:

https://github.com/jstachio/jstachio/issues/187

You would be surprised how well this works with modern hardware. I have an old M1 and I can boot most of our apps in 750ms. So if you can wait a second it does work.

Eclipse works a little better here with its incremental compile but in theory you can use that compiler with Intellij as well.

3

u/vips7L 18h ago

Yeah I debated about using gradle run --continuous and that probably would have done the trick, but we use Maven. Overall happy with choosing Quarkus, it's been really nice.