Fork me on GitHub
#off-topic
<
2021-06-13
>
Dimitar Uzunov15:06:16

Hey guys I hope it is not too rude to crowdsource a recommendation for a JVM book. I’m hoping to learn enough to understand things like what do the different GC options mean, what the different types of memory are, how to tune the JVM and the different tradeoffs. Ideally it is not written for people with PhDs 🙂

👀 6
Dimitar Uzunov15:06:33

I should mention that I’m looking for info about java the platform, not java the language (unsurprisingly for a clojure forum)

p-himik18:06:01

I can't recommend a book but here are some relevant links that other people here have recommended before: http://www.cs.umd.edu/~pugh/java/memoryModel/ https://gpetri.github.io/publis/jmm-vamp07.pdf https://shipilev.net/blog/2014/jmm-pragmatics/ http://gee.cs.oswego.edu/dl/jmm/cookbook.html This one is a book with a separate chapter about the memory model: https://jcip.net/

👏 4
2
p-himik18:06:33

A comment by Alex Miller about the JCiP book in particular: “[...] a great book [...], well worth reading even if you’re not using Java”

👍 4
Dimitar Uzunov18:06:24

Thank you for your recommendations!

vemv06:06:46

My real advice is to learn this topic like any other topic: little by little, from easier to harder and driven by real needs. You don't need a book to google the most common GC options, to read up an overview of the different available GCs, etc. GCs are a constantly changing topic anyway in JVM land Finally, one of the best things I've ever done in my years of clojuring is paying for a personal Yourkit license. Around xmas it will be cheaper they always have the same xmas campaign. Having the best product, with the best UI and the most in-depth options will encourage you to actually use it. I still do on a daily basis (basically I tweak my tooling to always attach Yourkit beforehand to every JVM I spawn)

👍 6