>> JVM does global stop-the-world garbage collection
Does it? Back when I was in HFT, we were definitely running a JVM with background thread GC.
Does it? Back when I was in HFT, we were definitely running a JVM with background thread GC.
It is really a fantastic piece of technology:
http://www.azulsystems.com/zing/pgc
Even just marveling at the complexity and how they got it working.
Otherwise, besides those tricks, how would you do it when you have multiple threads accessing objects on a shared heap?
Erlang's VM is another even wonderful piece of engineering. Each little process lives in its own memory heap. Then pauseless garbage collection become trivial. It has many other really cool and unique features (hot code reloading, inter-node distribution, ability to load C code, etc etc...)