Ett standardantal rader (inte hela resultatuppsättningen) kommer att hämtas i ditt lokala minne. När du kommer till den sista raden av de hämtade raderna (säg genom att göra next() och försöker komma åt nästa rad) och om det finns fler rader i resultatet, kommer ett nytt anrop tur och retur att göras till databasen för att hämta nästa parti rader.
EDIT 1:
Du kan se hur många rader din resultatuppsättning hämtar åt gången genom att göra detta (vänligen verifiera syntaxen):
rs.beforeFirst(); // will put cursor before the first row
rs.last(); // will put cursor after the last line
int noOfRows = rs.getRow(); // will give you the current row number
EDIT 2:
Om du vill få fler rader i det lokala minnet än vanligt kan du överväga CachedRowSet . Även detta kommer att göra rundresor, men i allmänhet mindre än normalt resultat. Du bör dock överväga att göra några prestandakontroller för dina applikationer.