JDK 28

(openjdk.org)

39 points | by ejboy 2 hours ago

3 comments

  • jmarlow47 21 minutes ago
    It's really refreshing to see the pace of Java development pick up so much over the past few years.

    The last few years of server-side has been on Kotlin for me, however, modern Java is looking more and more like anything I'd need in a language.

    • brianwawok 8 minutes ago
      Yah but why? The things it was good at doesn’t really matter nearly as much post AI.
      • pron 2 minutes ago
        Quite the opposite. Java is almost all about an optimising runtime with deep telemetry, and it helps with exactly the things AI needs the most help: https://youtu.be/fXBGBovpH88
  • amelius 1 hour ago
    I'm not a Java person, but I'm curious how fast it is nowadays, and also the startup time. Can it be used to write shell commands with, for example?
    • azatom 22 minutes ago
      Sorry if it is trivial but bc you asked shell command and if meant the "java script.java" no compile way: even that is fast, but if you run in a shell script loop thousand times, then do not forget to compile.
    • __natty__ 39 minutes ago
      Very fast. And yes, it can be used for small apps too. With java problem now is not the performance but how verbose still it is. However, it's much better since Java 17 and each release make it even more compact and direct. Like in this release we got much better built-in support for JSON.
    • ww520 47 minutes ago
      I'm using JDK 21 (old) and the startup time is sub-second for small programs.
      • Havoc 29 minutes ago
        That’s not the flex you seem to think
        • ww520 27 minutes ago
          It wasn't meant to be a flex.
    • binary132 24 minutes ago
      JIT + hotspot optimization makes JVM pretty fast, but warmup time is usually the problem. However it does look like they’re addressing startup time with improvements in this release:

      - AOT compilation: https://openjdk.org/jeps/544 - ~100ms startup for ZGC: https://openjdk.org/jeps/545

    • jiggawatts 1 hour ago
      Every time I try, I keep going back to .NET, which has been optimising for faster startup time.

      Almost all Java benchmarks are for the "steady state" after half an hour of warm up time.

      • kg 51 minutes ago
        Doesn't Java have an AOT solution too? Is it not ready for prime time?
        • miroljub 41 minutes ago
          It is, but people like to bash Java ;)
  • MrBuddyCasino 49 minutes ago
    JEP 540: Simple JSON API

      > trailing commas and comments are not supported
    
    Be strict in what you produce, be lenient in what you accept. Grr.
    • chowells 2 minutes ago
      Fortunately, we now have 50 years of evidencee of the negative effects of this philosophy on the ecosystem. Being strict in both results in net positive effects for the entire ecosystem. Trying to be lenient in what you accept results in HTML5, where the exact parse tree for every possible input sequence is specified in order to enforce compatibility. It's no longer lenient, because that doesn't work.
    • mpyne 3 minutes ago
      From the JEP's goals: "Provide only those data types and operations required for strict conformance to RFC 8259, in order to facilitate machine-to-machine communication."

      In that case they made the right choice, as machines won't be inserting trailing commas or comments in the first place, and the risk of having consuming apps inadvertently accept invalid data would be high otherwise.