Hacker News new | past | comments | ask | show | jobs | submit login

Alternatively: any medium sized high throughput Java app needs somebody with a PhD in garbage collection tuning, because otherwise the app will just grind to a halt regularly :(



Two things:

- I became the JVM whisperer for a fairly large company a whole year out of college. JVM tuning is not that complex, nor is the Java memory model. Shipilev's talk on the JMM[1] is almost everything you could ever need to know, and you can refer to it when you need it.

- That you actually can meaningfully tune the JVM GC is something you can't say about a lot of the alternatives. Like, I love the CLR, but the "self-tuning" nature of the garbage collector has bitten me more than once in the past.

[1] - https://shipilev.net/blog/2014/jmm-pragmatics/


Thanks for that link! Very timely. I have been trying to gain a solid understanding of the java memory model.


It's not really that bad. And on the plus side, VisualVM helps a ton because you can connect to a running JVM and actually see what's happening with the garbage collector (among other things).


I've seen high throughput apps doing 45 second "stop the world" garbage collection cycles because of high disk I/O and enabled GC logging (the process just sat there waiting for some I/O time to flush the GC log file).

So in theory tuning GC isn't thaaaaaat complicated. In practice however I've seen horrible things :(


Sure, I'm not saying pathological cases can't come up. Just that JVM GC tuning isn't usually that big a deal. IOW, it isn't some "black art" that only uber-wizards can comprehend..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: