Este será un artículo más malvado. En el mundo de Java, el desbordamiento de la memoria es solo un error que puede introducir en este caso. Sus víctimas pasarán unos días o incluso unas pocas semanas de noches para dormir en la oficina.
En este artículo, presentaré dos tipos de métodos de desbordamiento, que son más fáciles de entender y reproducir. Y todos son estudios de casos del proyecto fuente, pero para que te hagas agarrar claramente, los simplifico.
Pero tenga la seguridad de que después de encontrar y resolvimos el error desbordante, los casos similares serán más comunes de lo que imagina.
Primero ingresemos al estado.
Clase KeySessEntry {Key de clase estática {ID de Integer; Args) {map m = new HashMap (); "Número:" "" + i);}}Cuando ejecuta el código anterior, puede esperar que nunca tenga un problema para ejecutar. Sin embargo, este no es el caso. Los elementos siempre crecerán, porque la categoría clave no implementa un método adecuado igual () después de hashcode ().
La solución es simple, siempre que agregue un método igual como el siguiente ejemplo. Pero antes de encontrar el problema, debe haber gastado muchas células cerebrales valiosas.
@OverridePublic boolean iguales (objeto o) {respuesta boolean = false; El siguiente que debes recordar a tus amigos es lidiar con la cadena. Su rendimiento será extraño, especialmente cuando se combina la diferencia de versión JVM. El mecanismo de trabajo interno de String se ha cambiado en JDK 7U6, por lo que si encuentra que el entorno del producto es solo la diferencia entre un número de versión pequeño, entonces está listo para las condiciones. Tarze el código similar al siguiente código y luego pregúntele por qué este error solo aparece en el producto.
Class Stringer {Static final int mb = 1024*512; nanotime ()); = CreateLongString (MB);¿Qué pasa con el código anterior? Cuando se ejecuta antes de la versión del JDK 7U6, la cadena devuelta guardará una referencia a la cadena de aproximadamente 1 m de tamaño. Combinado con las diferencias entre plataformas y versiones en su entorno experimental, ocurren cosas que lastiman las escrituras del cerebro.
Ahora, si desea encubrir sus huellas, podemos introducir algunos conceptos más avanzados. Por ejemplo
Espero que le déle algunas materias primas que piensen y algunos materiales cuando desea reparar a alguien. Esto traerá una depuración interminable. A menos que su amigo use Plumbr para encontrar la ubicación desbordante.