¿Un conjunto de resultados carga todos los datos en la memoria o solo cuando se solicita?

Tengo una página .jsp donde tengo una tabla GUI que muestra registros de una base de datos Oracle. Esta tabla permite un comportamiento de paginación típico, como "PRIMERO", "SIGUIENTE", "ANTERIOR" y "ÚLTIMO". Los registros se obtienen de un objeto Java ResultSet que se devuelve al ejecutar una instrucción SQL.

Este ResultSet puede ser muy grande, así que mi pregunta es:

Si tengo un ResultSet que contiene un millón de registros pero mi tabla solo muestra los datos de los primeros diez registros en el ResultSet, son los datos que solo se obtienen cuando empiezo a solicitar datos de registros o todos los datos se cargan en la memoria por completo una vez que ResultSet se devuelve al ejecutar una instrucción SQL?

Respuestas a la pregunta(10)

Su respuesta a la pregunta