4 ms·
Interesting parallel to the “nightly reboot”, the Java community’s dirty little secret ... memory management is hard.
by rusk 6y ago
Interesting parallel to the “nightly reboot”, the Java community’s dirty little secret ... memory management is hard.
- DaiPlusPlus 6y agoWhy Java though? Java uses object handles, not raw pointers, so a stop-the-world GC in a JVM can relocate and defragment memory whenever it wants.
- rusk 6y agoJava because GC lures people into a false sense of security. You can still leak memory by failing to release references here and there and in a heavily used system this can rack up quite considerably over a 24 hour period and it's often more pragmatic just to reboot the application than get somebody to fix it. I suppose most other languages/environments could suffer this but with Java it's drummed into you from the very start that "you can't get memory leaks" so people just don't worry about those things.
- MaxBarraclough 6y agoI'm reminded of the way GitLab built a whole architecture to cope with their serious memory leaks, rather than fixing the leaks. [0] This is despite that GitLab is written in Ruby, a garbage-collected language. [0] https://docs.gitlab.com/ee/administration/operations/unicorn.html https://docs.gitlab.com/ee/administration/operations/unicorn...