O RandomAccessFile em java lê o arquivo inteiro na memória?

Eu preciso ler as últimas n linhas de um arquivo grande (digamos 2GB). O arquivo é codificado em UTF-8.

Gostaria de saber a maneira mais eficiente de fazer isso. Leia sobre o RandomAccessFile em java, mas o método seek () lê todo o arquivo na memória. Ele usa a implementação nativa para que eu não possa referir o código-fonte.

questionAnswers(2)

yourAnswerToTheQuestion