Advanced Web Machinery

advancedweb.hu · Personal blog · on HN since 2015

Hungarian consultancy blog on Java, JVM, JavaScript and DevOps, best known for a categorized list of Java features since JDK 8.

What HN saysHN commenters repeatedly recommend its categorized list of Java and JVM features since JDK 8 as a good overview of recent Java changes.
31HN people shared it
10linked it in comments
216stories submitted
1.3Kstory points
8 months agolast shared
2015people per year2026

Most-shared posts

  1. 1
  2. 2
    New language features since Java 8 to 17
    4 people · 345 points · first shared 2021 · 351 comments on HN
  3. 3
  4. 4
    One year with Vim
    3 people · 8 points · first shared 2016 · 1 comments on HN
  5. 5
    Fully automated dockerized Let's Encrypt reverse proxy
    2 people · 71 points · first shared 2016 · 15 comments on HN
  6. 6
  7. 7
    Ditch JS For loops
    2 people · 19 points · first shared 2017 · 12 comments on HN
  8. 8
    Profile-based optimization techniques in the JVM
    2 people · 10 points · first shared 2017 · discussion on HN
  9. 9
    JavaScript best practice: use return await
    2 people · 7 points · first shared 2025 · 6 comments on HN
  10. 10
    Parallel Processing in JS
    2 people · 5 points · first shared 2016 · discussion on HN
  11. 11
  12. 12
  13. 13
    Adding continuous rendering to the PlantUML server
    2 people · 3 points · first shared 2019 · discussion on HN
  14. 14
    Automated tests with Eclipse using MoreUnit
    2 people · 3 points · first shared 2015 · discussion on HN
  15. 15
    Working with the system clipboard in Vim
    2 people · 3 points · first shared 2018 · discussion on HN

What HN people wrote when they linked it

KronisLV · 2021-10-10
I sadly didn't write everything down, or didn't keep references to the GitHub issues, but here's a few of the things that i ran into. Here's a list of the things that were available in JDK 8 and no longer are: https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features… When you stumble upon something like that, at best you can import a Maven dependency with a version that has what you need, at worst you need to rewrite the code to use another library or set of libraries. If you have any low level logic like custom class loaders written against older JDK versions (think before 8), then they'll be forwards compatible until 8 for the most part, but will break afterwards. Coincidentally, reading code that deals with low level logic is also not easy to do, especially if it's not commented well. If you rely upon reflection, or use advanced language features (like the JasperReports framework for generating PDFs, which also has a build step for building the reports), in some cases things might compile but not work at runtime due to class mismatches. Many frameworks need new major versions to support newer releases than JDK 8, for example Spring Boot 1.5 needs to be upgraded, so you're also dealing with all the changes that are encapsulated by your dependencies. In another project that i also migrated, needed to rewrite a lot of web initialization code for Spring Boot 2.X. Not only that, but with those framework changes,…
pjmlp · 2025-03-26
Plenty, Up to Java 21, https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features… Remaining ones until Java 24, released last week, https://www.infoworld.com/article/2335077/jdk-22-the-new-features-in-j… https://www.infoworld.com/article/2336682/jdk-23-the-new-features-in-j… https://www.infoworld.com/article/3491404/jdk-24-the-new-features-in-j… Additionally, commercial AOT compilers have taken a big hit, as two great options are now freely available, https://www.graalvm.org (Basically LLVM, but in Java) https://eclipse.dev/openj9/docs/aot With them there is also the rise of AOT friendly frameworks like Quarkus and Micronaut.
dlandis · 2022-02-21
Also, it bears mentioning that there has been a lot of momentum around new language feature in the past 5 or so years. Good overview here: https://advancedweb.hu/new-language-features-since-java-8-to-17/ And many other changes in the pipeline too..
nooorofe · 2021-10-24
https://advancedweb.hu/new-language-features-since-java-8-to-17/#local… > Available since: JDK 11 (Without lambda support in JDK 10) TOC is missed up, there is no java-10 at all.
BoyRobot777 · 2021-09-14
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features… Only missing stuff from 17, but that's a short list.
mopierotti · 2021-09-14
Here's another similar summary, but with code examples and categories. https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features…
madisp · 2020-03-26
IIRC the JVM optimizes very aggressively based on runtime profile, and just adds traps to the optimized-out paths to collect new runtime profile. Imagine code like this, where at runtime foo is always null if (foo != null) { foo.bar(); foo.baz(); } if foo is always null the compiler will just remove all of the statements inside and places a trap there. If foo happens to be non-null (say, due to external environment changes) then the it hits the trap and the whole method is deoptimized and goes through the profiler again. The optimizations in the JVM are quite fascinating - https://advancedweb.hu/profile-based-optimization-techniques-in-the-jv… I imagine javascript engines employ similar techniques

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close