Java carregando arquivos binários

Mostre-me os melhores / métodos rápidos para:

1) Carregando arquivos binários muito pequenos na memória. Por exemplo ícones;

2) Carregamento / leitura de arquivos binários muito grandes, com tamanho de 512Mb +. Talvez eu deva usar E / S mapeadas na memória?

3) Sua escolha comum quando você não quer pensar em tamanho / velocidade, mas deve fazer apenas uma coisa: ler todos os bytes na memória?

Obrigado!!!

P.S. Desculpe por talvez pergunta trivial. Por favor, não feche;)

P.S.2.Espelho da pergunta analógica para C #;

questionAnswers(2)

yourAnswerToTheQuestion