So "automatic garbage collection" is a lie?
On 11/25/20 6:40 AM, Tim Cutts wrote:
Except of course, you do really. Java applications can end up with
huge memory leaks because the programmers really need to understand
the mechanism when objects get moved from Eden and Survivor space into
Tenured space.
Tenured space never decreases, so every object which ends up there is
allocated memory for the life of the process. If that was actually an
ephemeral object, tough, you’ve lost the memory.
So ideally, the programmer needs to understand the size of their pile
of ephemeral objects and make sure the Eden/Survivor spaces are large
enough, otherwise they will have a memory leak. If they make the
ephemeral spaces too large, though, garbage collection takes more time
and performance decreases, so it’s a balance.
I’m not sure you can ever actually really get rid of the need to
understand memory allocation… you just push the problem around!
Tim
On 24 Nov 2020, at 18:32, Prentice Bisbal via Beowulf
<beowulf@beowulf.org <mailto:beowulf@beowulf.org>> wrote:
Also, with Java, you don't have to worry about low-level issues like
freeing and allocating memory and doing pointer arithmetic. Not
having to worry about those low-level issues allows a student to
focus more on the programming concepts. I knew I screw up
dereferencing pointers A LOT when learning C and C++
-- The Wellcome Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
--
Prentice Bisbal
Lead Software Engineer
Research Computing
Princeton Plasma Physics Laboratory
http://www.pppl.gov
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing
To change your subscription (digest mode or unsubscribe) visit
https://beowulf.org/cgi-bin/mailman/listinfo/beowulf