Hacker News new | ask | show | jobs
by jbri 4659 days ago
I'm confused. At some points you talk about "The" JVM as if there is only one, yet in other places you suggest there are multiple ones that offer different tradeoffs.

When someone says "The JVM does that", are they talking about all JVM implementations? Just a subset of them? How do you tell them apart?

2 comments

Most JVM implementations are similar in their capabilities (with the exceptions being some hard real-time JVMs). So when people say "the JVM" they either mean all of them (the well-known ones, at least), or the HotSpot or OpenJDK VMs, which are almost identical. Usually it doesn't make a difference.

There exists at least one commercial JVM (that I know of) that guarantees no GC pauses over a few milliseconds. It is based on HotSpot, so it offers HotSpot's advantages as well. Another implementation, based on IBM's J9 JVM, also guarantees no pauses but may require configuration (that one also supports hard real-time uses IIRC).

Perhaps when it comes to nomenclature it's sort of like Lisp. There are many Lisps: Scheme, EmacsLisp, etc. But there is only one Lisp, and that is Common Lisp.

Likewise there are many JVMs. But there is only one "the JVM", and that is Hotspot.