Java Virtual Machine
Ranked 3 of 11 language runtimes by recommenders
Mature, fast runtime with strong garbage collection, tooling and an ecosystem that runs many languages. Critics point to slow startup, warm-up and heavy memory use.
Mature, fast runtime with strong garbage collection, tooling and an ecosystem that runs many languages. Critics point to slow startup, warm-up and heavy memory use.
65 people gave an opinion
- recommend it
- 42
- criticize it
- 23
- approval share
- 65%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 42 people recommend itNeeds 10 or more, met.
- 1.8 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Strong performance and JIT compilation
“The JVM proved to the mainstream that a virtual machine good be as fast (sometimes even faster) than a compiled binary.”
Comment from 8 Dec 2025 in “Applets are officially gone, but Java in the browser is better” “it provides absurdly good performance and more packages than pretty much all three of these languages combined”
Comment from 13 Jul 2026 in “Zig Creator Calls Spade a Spade, Anthropic Blows Smoke” “It's one of the fastest VMs out there and is one of the most customizable ones as well.”
Comment from 9 Jun 2026 in “H2JVM – A Haskell Library for Writing JVM Bytecode” - Comment from 18 May 2026 in “Jank now has its own custom IR”
- Comment from 10 Jun 2026 in “H2JVM – A Haskell Library for Writing JVM Bytecode”
- Comment from 10 Sep 2026 in “JEP 544: Ahead-of-Time Code Compilation”
- Comment from 9 Jun 2026 in “H2JVM – A Haskell Library for Writing JVM Bytecode”
Mature GC, tooling and ecosystem
“The productivity the JVM provides is second to none, including observability and state of the art GCs.”
Comment from 27 Sep 2026 in “Go Concurrency Distilled” “The JVM in particular is a very robust host and there's a large ecosystem for it.”
Comment from 27 Nov 2025 in “Penpot: The Open-Source Figma” “Threads that really work and a good garbage collector for instance.”
Comment from 16 Apr 2026 in “Ask HN: Why Hasn't Clojure Caught On?” - Comment from 16 Sep 2026 in “Java 27”
- Comment from 2 Nov 2025 in “Lisp: Notes on its Past and Future (1980)”
Runs many languages on many platforms
“The value, of course, comes from having a generic machine that you can then compile down into whatever machine code you want.”
Comment from 8 Dec 2025 in “Applets are officially gone, but Java in the browser is better” “Where you can run JVM, there's a pretty good chance you can run your app.”
Comment from 15 Sep 2026 in “Java 27” “Garbage collection is also an option. Lots of backends on the JVM!”
Comment from 21 Oct 2026 in “Today's PHP security release, and how we're strengthening security” - Comment from 19 Jun 2026 in “Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28”
Stable and backward compatible
“Whatever you produce that can run on the JVM will still be runnable in 30 years.”
Comment from 3 May 2026 in “Windows API Is Successful Cross-Platform API” “the platform itself is extremely backwards compatible”
Comment from 1 May 2026 in “Functional Programmers need to take a look at Zig”
What people warn about
Each mark is one comment
Slow startup and warm-up
“It loads slowly, takes a while to warm up, generally needs a lot of memory and the runtime is large and idiosyncratic.”
Comment from 14 Apr 2026 in “Someone Bought 30 WordPress Plugins and Planted a Backdoor in All of Them” “The only thing worse than launching the JVM from the command line, with it's looooooooooooong and inexplicable load time”
Comment from 8 Dec 2025 in “Applets are officially gone, but Java in the browser is better” “Java's vm does not start in milliseconds nor has dozen independent implementations in every ecosystem”
Comment from 11 Jun 2026 in “The Road to the WASM Component Model 1.0” - Comment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”
Heavy memory use
“It loads slowly, takes a while to warm up, generally needs a lot of memory and the runtime is large and idiosyncratic.”
Comment from 14 Apr 2026 in “Someone Bought 30 WordPress Plugins and Planted a Backdoor in All of Them” “And it hogs all your RAM or runs out of heap space, and online help says to pass more -Xmxwhatever flags”
Comment from 8 Dec 2025 in “Applets are officially gone, but Java in the browser is better” “the lack of value types is a big contributor to why Java uses so much memory”
Comment from 29 Mar 2026 in “Everything old is new again: memory optimization” - Comment from 30 Dec 2025 in “Binaries”
Slower than native code
“The JVM is amazing technology for what it is, but what it is still limits how fast it can go.”
Comment from 30 Oct 2026 on Hacker News “it's still so immensely wasteful compared to something well written running native”
Comment from 19 Sep 2026 in “Saving another 100TB of RAM” “why JVM sucks, and why GO's approach to minimize GC pause latency is far superior”
Comment from 1 Aug 2026 in “Golang proposal: container/: generic collection types” Crashes across versions and platforms
“JVM straight up crashed when Rosetta 2 was released and few years later it worked but with huge performance drop.”
Comment from 16 Dec 2025 in “Native vs. emulation: World of Warcraft game performance on Snapdragon X Elite” “Minor version differences in the JVM result in unpredictable crashes.”
Comment from 30 Apr 2026 in “Functional Programmers need to take a look at Zig”
Other language runtimes people recommend
The four most recommended other language runtimes, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| .NET | 293 | 148 | 66% | 12 | 10 yrs28 owners | — |
| BEAM (Erlang VM) | 80 | 25 | 76% | 11 | — | Approved |
| Java Virtual MachineThis page | 42 | 23 | 65% | 12 | — | — |
| JVM | 39 | 22 | 64% | 11 | — | — |
| GraalVM | 33 | 18 | 65% | 12 | — | — |
What people said
40 of the 84 comments that mention it, newest first. Each links to the original comment.
“The JVM is amazing technology for what it is, but what it is still limits how fast it can go.”
“Garbage collection is also an option. Lots of backends on the JVM!”
“I don't necessarily like the JVM, it's just the most popular system-independent bytecode virtual machine”
“The productivity the JVM provides is second to none, including observability and state of the art GCs.”
“it's still so immensely wasteful compared to something well written running native”
“the performance, reliability & ecosystem of the JVM is unmatched”
“Where you can run JVM, there's a pretty good chance you can run your app.”
“Meanwhile when I run tests on my JVM projects it can take 30 seconds just to start”
“The JVM is arguably one of the most advanced and capable JITing runtimes.”
“Java compiles very fast because javac does little more than type checking”
“Where imho the JVM rocks, is that you can instrument it in production”
“why JVM sucks, and why GO's approach to minimize GC pause latency is far superior”
“Outside the browser there is hardly any value, just use JVM or CLR directly.”
“it provides absurdly good performance and more packages than pretty much all three of these languages combined”
“it's pretty easy to run a bunch of language on the JVM”
“Java's vm does not start in milliseconds nor has dozen independent implementations in every ecosystem”
“It's a proven mechanism to getting more performance and better optimizations.”
“It's one of the fastest VMs out there and is one of the most customizable ones as well.”
“unparalleled combination of performance, productivity, and observability”
“the claim that Erlang or Go are outright superior to the JVM doesn't really stand up”
“Not to compete but to beat, and not too much, but the right amount.”
“once it gets warmed up, the modern JVM has state of the art dynamic compilation and GC”
“The JVM can boot up in microseconds you just have to tune it a bit.”
“Whatever you produce that can run on the JVM will still be runnable in 30 years.”
“the platform itself is extremely backwards compatible”
“Minor version differences in the JVM result in unpredictable crashes.”
“Threads that really work and a good garbage collector for instance.”
“It loads slowly, takes a while to warm up, generally needs a lot of memory and the runtime is large and idiosyncratic.”
“the lack of value types is a big contributor to why Java uses so much memory”
“the JVM is a marvel of engineering with millions of hours that were poured in by smart people”
“It's used by lots all round the world, and solves real problems, just not the ones we were hoping it would solve.”
“I had to reserve 6gig of memory so that the jvm could actually start”
“JVM straight up crashed when Rosetta 2 was released and few years later it worked but with huge performance drop.”
“And it hogs all your RAM or runs out of heap space, and online help says to pass more -Xmxwhatever flags”
“The value, of course, comes from having a generic machine that you can then compile down into whatever machine code you want.”
“The JVM proved to the mainstream that a virtual machine good be as fast (sometimes even faster) than a compiled binary.”
“The only thing worse than launching the JVM from the command line, with it's looooooooooooong and inexplicable load time”
“the JVM can implement user-mode threads more efficiently than low-level languages can”
“The JVM in particular is a very robust host and there's a large ecosystem for it.”
“The JVM is an amazing mature runtime with a boatload of tooling.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.