Quick answer - I don't know a lot about how the GC in the JDK works.
There must be good articles written on it somewhere, check that
Javaorld article
  http://www.javaworld.com/javaworld/jw-11-1999/jw-11-performance.html
it's got a few pointers.

>>The VSZ for a Java process is just going to be the maximum heap.
>But that's not the case - at least not on my Linux 2.2.12 system
>with Blackdown 1.2preV2.

Oh, maybe JDK 1.2 returns memory to the system? That's nice of it. I
don't think JDK 1.1 does that.

>At the end of the print process all the Image objects are released,
>yet the memory-used doesn't drop at all - I have to do an explicit
>gc(). When does java's normal garbage collection cycle kick in?

Java doesn't specify when the GC process kicks in. My impression is
that the JDK 1.1 runs a light garbage collection step occasionally,
maybe only when there's idle time. It also seems to have a heavier
version that runs when the system is almost out of memory.

>What are the mechanics of garbage collection?  I would have thought
>that a single pass would free up everything that isn't referenced.

Nope - production GC is usually much more complex than that. Awhile
back I learned a lot from this paper:
  ftp://ftp.cs.utexas.edu/pub/garbage/bigsurv.ps
it's from 1994, so may be out of date, but it was quite interesting.

                                                  [EMAIL PROTECTED]
.       .      .     .    .   .  . . http://www.media.mit.edu/~nelson/


----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to