La Red de Conocimientos Pedagógicos - Currículum vitae - Búfer de optimización del rendimiento del programa Java (1)

Búfer de optimización del rendimiento del programa Java (1)

? Componentes y métodos de optimización más utilizados

Esta sección presenta principalmente los componentes y las ideas de optimización del rendimiento que se pueden utilizar para la optimización del rendimiento del sistema, centrándose en los dos componentes de almacenamiento en búfer y caché, y Además, también se presentarán varias ideas de optimización de uso común, como agrupar objetos en paralelo en lugar de equilibrio de carga en serie y tiempo por espacio y espacio por tiempo

  Buffer (Buffer) ().

Búfer El propósito de abrir un búfer en un área de memoria específica es mejorar el rendimiento del sistema al aliviar la diferencia de rendimiento entre las capas superior e inferior de la aplicación. Una aplicación típica del almacenamiento en búfer en la vida diaria. ¿El embudo es como se muestra en la figura

Imagen? Diagrama esquemático del almacenamiento en búfer

La imagen muestra el escenario de uso del embudo como búfer. El sistema como una tetera y el sistema inferior como una botella de agua ahora necesitan verter el agua de la tetera en la botella de agua. Esto es como escribir los datos en la memoria en el disco duro. Al igual que una tetera, la lata de agua. se descarga muy rápidamente. Sin embargo, la boca de la botella de agua es muy delgada, por lo que forma un cuello de botella de rendimiento. Para verter toda el agua en la botella, debe esperar a que el agua de la boca de la botella fluya hacia abajo. Para acelerar, puedes utilizar un embudo (amortiguador).

El diámetro inicial del embudo es grande y tiene cierta capacidad. Por lo tanto, el agua de la tetera se puede verter primero en el embudo. Al igual que los datos de la memoria se escriben primero en un búfer, siempre que la capacidad del embudo sea lo suficientemente grande, el agua de la tetera se derramará rápidamente. En este punto, el sistema superior ha completado su trabajo y puede manejar otra lógica empresarial. En este momento, el agua no ha entrado completamente en la botella y la mayor parte se acumula en el embudo. Esto puede ser procesado lentamente por el sistema inferior hasta que el agua entre completamente en la botella y el embudo (búfer) se vacíe. >

Tenga en cuenta que el búfer puede coordinar la diferencia de rendimiento entre el componente superior y el componente inferior. Cuando el rendimiento del componente superior es mejor que el del componente inferior, puede reducir efectivamente el tiempo de espera del componente superior. el componente inferior

Según esta estructura, el componente de la aplicación de la capa superior no necesita esperar a que el componente de la capa inferior reciba todos los datos antes de volver a la operación, lo que acelera la velocidad de procesamiento. del componente de capa superior y mejorando así el rendimiento general del sistema

El almacenamiento en búfer es el más utilizado. El escenario es aumentar la velocidad de E/S. Por esta razón, muchos componentes de E/S en el JDK. proporciona funciones de almacenamiento en búfer. Por ejemplo, el código para las operaciones de escritura de archivos cuando se usa FileWriter es el siguiente

Writer Writer = new FileWriter (new File (file txt))

long start=System. currentTimeMillis ()

for (int i = ; i lt; CIRCLE; i ) {

escritor escribir (i) //Escribir archivo

}

writer close()

Sistema fuera println( testFileWriter gasta: (System currentTimeMillis() start))

Para la optimización de E/S, puede agregar almacenamiento en búfer a FileWriter

Escritor escritor = nuevo BufferedWriter (nuevo FileWriter (nuevo archivo (archivo txt))) // Almacenamiento en búfer agregado

p>

long start=System currentTimeMillis()

for (int i = ; i lt; CIRCLE; i ) {

escritor escribe (i)

< p

>}

writer close()

Sistema fuera println(testFileWriterBuffer gasta: (System currentTimeMillis() start))

El código anterior usa BufferedWriter para agregar el objeto FileWriter La función de almacenamiento en búfer El objeto BufferedWriter tiene dos constructores

public BufferedWriter (Writer out)

public BufferedWriter (Writer out int sz)

¿Volver al directorio? La optimización del rendimiento del programa Java hace que su programa Java sea más rápido y estable

Recomendación del editor

?Videotutorial de capacitación en programación Java

Videotutorial de capacitación práctica del marco avanzado J EE

Video de enseñanza práctica sobre desarrollo móvil J ME

Desarrollo de tecnología de audio/vídeo Visual C y combate práctico

Tecnología Oracle Index lishixinzhi/Article/program/Java/ gj/201311/27807