Red de conocimiento informático - Aprendizaje de código fuente - ¿Hay alguna manera de optimizar aún más las llamadas Java?

¿Hay alguna manera de optimizar aún más las llamadas Java?

1. No inicialice variables repetidamente.

De forma predeterminada, al llamar al constructor de una clase, Java inicializará las variables a ciertos valores, todos los objetos se establecen en nulos, las variables enteras se establecen en 0, las variables flotantes y dobles se establecen en 0,0. El valor lógico se establece en falso. Esto es especialmente importante cuando una clase se deriva de otra clase, porque cuando se crea un objeto usando la nueva palabra clave, todos los constructores en la cadena de constructores se llaman automáticamente.

Aquí hay una nota: al establecer el valor inicial de una variable miembro pero llamar a otros métodos, es mejor ponerlo en un método como initXXX(), porque llamar directamente a la asignación del método puede causar que clase que no se inicializará. Para generar una excepción de puntero, public int state = this . getstate();

2.

Especialmente cuando se usan objetos de cadena, se debe usar StringBuffer cuando se produce una conexión de cadena, porque el sistema no solo dedica tiempo a generar objetos, sino que también dedica tiempo a recopilarlos y procesarlos. Por lo tanto, generar demasiados objetos puede tener un gran impacto en el rendimiento de su programa.

3. Intenta utilizar variables locales.

Los parámetros pasados ​​al llamar al método y las variables temporales creadas en la llamada se guardan en la pila, lo que es más rápido. Otras variables, como las variables estáticas y las variables de instancia, se crean en el montón, lo que es más lento.

4. Intenta usar el último modificador.

Las clases con modificador final no se derivan. En la API principal de JAVA, hay muchos ejemplos de aplicación de final. Por ejemplo, java.lang.String especifica final para la clase String para evitar que los usuarios anulen el método length(). Además, si una clase es final, todos los métodos de esa clase son finales. El compilador de Java buscará oportunidades para alinear todos los métodos finales (esto está relacionado con la implementación específica del compilador). Esto puede mejorar el rendimiento en un promedio del 50%. 5. En el desarrollo de sistemas de aplicaciones java + Oracle, el lenguaje SQL integrado en java debe capitalizarse tanto como sea posible para reducir la carga de análisis del analizador de Oracle.

6.Proceso de programación Java, conexión de base de datos, operación de flujo de E/S, cierre oportuno y liberación de recursos después de su uso. Porque las operaciones en estos objetos grandes causarán una gran sobrecarga del sistema.

7. La creación excesiva de objetos consumirá una gran cantidad de memoria del sistema y, en casos graves, puede provocar pérdidas de memoria. Por lo tanto, es de gran importancia garantizar el reciclaje oportuno de los artículos caducados.

El GC de la JVM no es muy inteligente. Se recomienda configurarlo manualmente como nulo después de usar el objeto.

8. Cuando utilice el mecanismo de sincronización, intente utilizar la sincronización de métodos en lugar de la sincronización de bloques de código.

9. Minimizar el cálculo repetido de variables.

Por ejemplo

for(int I = 0;i<list . size();i++)1

debe modificarse de la siguiente manera

for(int i=0, len = list . size();i<leni++)1

10 Adopte la estrategia de comenzar a crear solo cuando sea necesario.

Por ejemplo:

String str = " abcif(I == 1){ list . add(str);}12

Debe modificarse de la siguiente manera :

p>

if(I == 1){ String str = " Lista ABC ";