4 ms·
> Java is a language that basically outsourced memory management entirely to its garbage collector. This turned out to be a big mistake. Given that Java is not
by esarbe 5y ago
> Java is a language that basically outsourced memory management entirely to its garbage collector. This turned out to be a big mistake.
Given that Java is not far behind C and C++ for many kinds of workload and in quite some scenarios can outperform C code, I'm not sure that I buy this line of reasoning.
> Doing these updates requires freezing all threads.
Eh, what? There are multi-threaded GCs, what is this article even talking about?
> However, this does not put C# and Java on equal footing with languages like Go and C/C++ in terms of memory management flexibility
In which world are Go and C in the same worlds when it comes to memory management flexibility? That's like comparing a language that uses a Garbage Collector to one that requires manual memory management. Because - it is.
> Modern Languages Don’t Need Compacting GCs
> If need be, the Pacer slows down allocation while speeding up marking.
So, you just traded in one drawback for another?
Heck, I get it. The JVM is not a thin graceful fawn. It's a complicated beast that requires years of experience to tame it - and even then it will come back from time to time an bite you. There are many good points to critique the JVM - but I don't get the feeling that the author of this article has spent much time with modern JVMs because he's not pointing out any of them.