Node:SPTerm and Memory, Next:Java Threads, Previous:Java Exception Handling, Up:Mixing Java and Prolog
Java and Prolog have quite different memory management policies. In
Java, memory is reclaimed when the garbage collector can determine that
no code will ever use the object occupying the memory. In Prolog, the
garbage collector additionally reclaims memory upon failure (such as the
failure implied in the use of SPQuery.close()
and
SPQuery::nextSolution()
). This mismatch in the notion of memory
lifetime can occasionally cause problems.