This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-06-13
Channels
- # babashka (1)
- # beginners (11)
- # cider (8)
- # clj-kondo (7)
- # clojure (35)
- # clojure-italy (2)
- # clojurescript (6)
- # conjure (5)
- # datomic (10)
- # duct (7)
- # fulcro (9)
- # helix (2)
- # introduce-yourself (5)
- # lsp (3)
- # malli (7)
- # meander (3)
- # off-topic (8)
- # pathom (3)
- # podcasts-discuss (2)
- # portal (9)
- # reitit (7)
- # releases (3)
- # shadow-cljs (43)
- # sql (25)
- # tools-deps (3)
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 🙂
I should mention that I’m looking for info about java the platform, not java the language (unsurprisingly for a clojure forum)
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/
A comment by Alex Miller about the JCiP book in particular: “[...] a great book [...], well worth reading even if you’re not using Java”
Thank you for your recommendations!
Also flew by on twitter this week: https://docs.oracle.com/en/java/javase/16/gctuning/introduction-garbage-collection-tuning.html#GUID-326EB4CF-8C8C-4267-8355-21AB04F0D304
(disclaimer: have not read) https://www.oreilly.com/library/view/optimizing-java/9781492039259/
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)