I have Postgres DB, 7500 rows in Client table, -Xmx8m.
Query query = session.createQuery("select c from Client c");
ScrollableResults resultSet = query.setFetchSize(50).setCacheMode(CacheMode.IGNORE)
.scroll(ScrollMode.FORWARD_ONLY);
int i = 0;
while (resultSet.next()) {
Client client = (Client) resultSet.get(0);
System.out.println(client.getId());
i++;
if (i % 50 == 0) {
session.clear();
Thread.sleep(500);
}
}
session.clear();
resultSet.close();
When I run my app I got this : .... 4188 java.lang.OutOfMemoryError: GC overhead limit exceeded
Then I have set -Xmx1024m and run jvisualvm and got this -
Why I got a lot of strings ???? Who can explain why OutOfMemory is occurred ?