BufferedOutputStream vs ByteArrayOutputStream
-
26-10-2019 - |
Domanda
C'è qualche vantaggio in avvolgendo un BufferedOutputStream intorno a un ByteArrayOutputStream invece di utilizzare il ByteArrrayOutputStream da sola?
Soluzione
In generale BufferedOutputStream involucro è in gran parte utilizzato per evitare frequenti operazioni di scrittura su disco o di rete. Può essere molto più costoso per separatamente scrivere un sacco di piccoli pezzi di fare diverse operazioni piuttosto grandi. Il ByteArrayOutputStream opera in memoria, quindi penso che l'involucro è inutile.
Se volete sapere la risposta esatta, cercare di creare una semplice applicazione prestazioni di misurazione.
Altri suggerimenti
Assolutamente nessuno. Anche se BufferedWriter e BufferedReader offrono funzionalità extra stavi essere operativo sulle stringhe.
ByteArrayOutputStream non è consigliata se si vuole ottenere prestazioni elevate, ma una caratteristica interessante è quello di inviare un messaggio con la lunghezza sconosciuta. Per una migliore comprensione di come questi due metodi funzionano, vedi http://java-performance.info/ java-io-ByteArrayOutputStream / .