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)
I strongly recommend following and listening to videos by Cliff Click who wrote HotSpot and worked on Azul and other VMs.<p>Cliff also has Coffee Compiler Club sessions on Fridays.<p>- <a href="https://mobile.twitter.com/cliff_click" rel="nofollow">https://mobile.twitter.com/cliff_click</a><p>- <a href="https://youtu.be/Hqw57GJSrac" rel="nofollow">https://youtu.be/Hqw57GJSrac</a>
Optimizing Java is pretty good [0].<p>[0] <a href="https://www.goodreads.com/book/show/27015350-optimizing-java" rel="nofollow">https://www.goodreads.com/book/show/27015350-optimizing-java</a>
It's not a book but Shipilev's Quarks are an excellent source for some of the more obscure corners:<p><a href="https://shipilev.net/jvm/anatomy-quarks/" rel="nofollow">https://shipilev.net/jvm/anatomy-quarks/</a><p>BTW green threads haven't been used for decades ;)
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.<p>"Garbage Collection: Algorithms for Automatic Dynamic Memory Management" (<a href="https://www.amazon.com/Garbage-Collection-Algorithms-Automatic-Management/dp/0471941484" rel="nofollow">https://www.amazon.com/Garbage-Collection-Algorithms-Automat...</a>) seems to cover GC algorithms up to the CMS.<p>"The Art of Multiprocessor Programming" (<a href="https://www.amazon.com/Art-Multiprocessor-Programming-Maurice-Herlihy/dp/0124159508" rel="nofollow">https://www.amazon.com/Art-Multiprocessor-Programming-Mauric...</a>) 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.
I would recommend the following:<p><pre><code> https://github.com/edubart/nelua-lang/wiki/Useful-Links-for-Research
The Garbage Collection Handbook: The Art of Automatic Memory Management [1]
</code></pre>
[1] <a href="https://www.amazon.com/dp/0367659247" rel="nofollow">https://www.amazon.com/dp/0367659247</a>
Java Performance: The Definitive Guide, by Scott Oaks is great.
<a href="https://www.oreilly.com/library/view/java-performance-the/9781449363512/" rel="nofollow">https://www.oreilly.com/library/view/java-performance-the/97...</a>