Details
Description
I'd like to iterate over a ResultSet that is larger than the amount of memory available to my application. I thought this would be possible with a ResultSet.TYPE_FORWARD_ONLY but memory usage appears to increase as I loop through the results and not be GC'd. Is my understanding correct? I've tried this using the H2 database and it appears to do this.
I've attached a sample program to illustrate this. It creates a large table then iterates over it logging out the memory usage as it goes. There is a pause at the end of the iteration to allow the user to attach a debugger (such as jvisualvm) to inspect memory usage and request GC.