I think I know the answer to this, but I want an informed opinion. I've looked through the JLS and API, and as best I can tell, objects created by a native call (meaning objects that might be created by a C++ program that was called from a Java app) are not garbage collected by the JVM. Is this a correct assertion?
If you use the Java Native Interface (JNI) API to make C calls, the garbage collector might see something in memory created by the C code that looks like a pointer, but is actually garbage. In this case, the memory is not garbage collected because the Java VM is conservative and does not reclaim memory that looks like it could be allocated to a pointer.
[ April 15, 2002: Message edited by: Valentin Crettaz ]