HACKER Q&A
📣 abadger9

Best Books on the JVM?


I've worked on JVM languages for a decade, and know it from a practical standpoint, but would like to dive into the internals of garbage collection, memory pools (eden space, survivor space), and threads (virtual threads, green threads, etc)


  👤 filereaper Accepted Answer ✓
I strongly recommend following and listening to videos by Cliff Click who wrote HotSpot and worked on Azul and other VMs.

Cliff also has Coffee Compiler Club sessions on Fridays.

- https://mobile.twitter.com/cliff_click

- https://youtu.be/Hqw57GJSrac


👤 eatonphil
Optimizing Java is pretty good [0].

[0] https://www.goodreads.com/book/show/27015350-optimizing-java


👤 native_samples
It's not a book but Shipilev's Quarks are an excellent source for some of the more obscure corners:

https://shipilev.net/jvm/anatomy-quarks/

BTW green threads haven't been used for decades ;)


👤 62951413
The last book on the JVM itself (e.g. stack-based byte code, class file format) I saw was from nearly 20 years ago. I cannot think about anything more modern. It's a niche which used to be popular in FinTech circles mostly. As such valuable info was scattered across random blogs and the JVM spec itself.

"Garbage Collection: Algorithms for Automatic Dynamic Memory Management" (https://www.amazon.com/Garbage-Collection-Algorithms-Automat...) seems to cover GC algorithms up to the CMS.

"The Art of Multiprocessor Programming" (https://www.amazon.com/Art-Multiprocessor-Programming-Mauric...) is for those bored by JCiP. But it's not about threads per se. I imagine nobody cares about the original green threads and I wouldn't expect quality literature on the subject until project Loom goes to prod.


👤 stefanos82
I would recommend the following:

  https://github.com/edubart/nelua-lang/wiki/Useful-Links-for-Research
  The Garbage Collection Handbook: The Art of Automatic Memory Management [1] 
[1] https://www.amazon.com/dp/0367659247

👤 pramodbiligiri
Java Performance: The Definitive Guide, by Scott Oaks is great. https://www.oreilly.com/library/view/java-performance-the/97...