Comment by nevdka

16 hours ago

Then there’s perl, which doesn’t free at all.

Perl frees memory. It uses refcounting, so you need to break heap cycles or it will leak.

(99% of the time, I find this less problematic than Java’s approach, fwiw).

doesn't java also?

I heard that was a common complaint for minecraft

  • Minecraft for somewhat silly reasons was largely stuck using Java8 for ~a decade longer than it should have which meant that it was using some fairly outdated GC algorithms.

    • "silly reasons" being Java breaking backwards compatibility

      decade seems a usual timescale for that, considering f.e. python 2->3

  • What do you mean - if Java returns memory to the OS? Which one - Java heap of the malloc/free by the JVM?

    • Java is pretty greedy with the memory it claims. Especially historically it was pretty hard to get the JVM to release memory back to the OS.

      To an outsider, that looks like the JVM heap just steadily growing, which is easy to mistake for a memory leak.

      10 replies →