Perché non usi le prese pure?
Un socket sulla stessa macchina invierà i dati piuttosto rapidamente.
Supponendo di poter inviare 100 MB \ s, dovresti riuscire a inviare 1 MB
in circa 10 ms. Ottenere velocità più alte di questa sarà un po '
difficile. Se disponevi di una buona scheda, potresti portarla a meno di 5 ms.
Se è possibile serializzare i dati, è possibile inviarli abbastanza facilmente. Vedi questo per l'invio di oggetti su socket.
L'uso dei file ti dà una media di circa 80-160 MB / se 12 ms - 6,25 ms per inviare 1 MB, ma dovresti leggerlo di nuovo che richiederà più tempo.
Potresti usare un file mappato in memoria per leggere solo il file una volta e averlo memorizzato in memoria in modo che qualsiasi macchina virtuale possa leggerlo dalla memoria. Mantenere un file in memoria con un MappedByteBuffer fornirà un accesso efficiente ma tu Dovresti prima leggere il file. Questo è anche un po 'più complicato dell'invio su socket o della scrittura / lettura da un file.