Qual è la dimensione del buffer sensibile da utilizzare durante il trasferimento (indipendentemente da UP/DOWN) di file di grandi dimensioni (3-4 giga) con Java?Dimensione del buffer sensibile durante il download di file in Java
byte buf[] = new byte[1024]
o
byte buf[] = new byte[5 * 1024 * 1024]
A volte anche se si utilizza un buffer di grandi dimensioni e passare ad una lettura (array di byte []) Metodo questo non garantisce che si otterrà una piena 5 me tampone . Nei miei test ho osservato che la dimensione media è di solito 1.5kb per read() invocazione. Questo ha senso per le prestazioni? Sarei felice se qualcuno potesse indicarmi una risorsa che discute il problema con maggiori dettagli.
Hmz, buon punto. Non ho realmente preso in considerazione la MTU dello stack TCP. – LordDoskias
L'utilizzo di buffer più grandi ridurrà il numero di scambi tra codice Java e codice nativo e potrebbe avere un impatto sulle prestazioni, indipendentemente dalle dimensioni del pacchetto di rete. – jarnbjo
Come dimostra la mia esperienza il buffer da 8-100KB è abbastanza buono. – umbr