Java cargando archivos binarios

Por favor muéstrame los mejores / métodos rápidos para:

1) Carga de archivos binarios muy pequeños en la memoria. Por ejemplo iconos;

2) Carga / lectura de archivos binarios muy grandes de 512Mb +. ¿Quizás deba usar IO mapeado en memoria?

3) Su elección común cuando no quiere pensar en tamaño / velocidad pero debe hacer lo único: ¿leer todos los bytes en la memoria?

¡¡¡Gracias!!!

PD Perdón por una pregunta quizás trivial. Por favor no lo cierres;)

P.S.2.Espejo de pregunta analógica para C #;

Respuestas a la pregunta(2)

Su respuesta a la pregunta