Red de conocimiento del abogados - Ley de patentes - Varias causas y soluciones del desbordamiento de memoria

Varias causas y soluciones del desbordamiento de memoria

Desbordamiento de memoria significa que hay memoria que no se puede reciclar o que se usa demasiada memoria en el sistema de la aplicación. Eventualmente, la memoria utilizada para ejecutar el programa es mayor que la memoria máxima que la máquina virtual puede proporcionar. .

La cantidad de datos cargados en la memoria es demasiado grande, como obtener demasiados datos de la base de datos a la vez, hay referencias a objetos en la clase de colección, que no se borran después de su uso, lo que hace que la JVM no puede reciclar; hay un bucle infinito en el código O el bucle genera demasiadas entidades de objetos duplicados en el software de terceros utilizado; el valor de la memoria del parámetro de inicio es demasiado pequeño;

Compruebe si hay una consulta para obtener todos los datos a la vez en la consulta de la base de datos. En términos generales, si se recuperan cien mil registros en la memoria a la vez, puede provocar un desbordamiento de la memoria. Este problema está relativamente oculto. Antes de conectarse, había menos datos en la base de datos y era menos probable que causara problemas. Después de conectarse, había más datos en la base de datos y una sola consulta puede causar un desbordamiento de memoria. Por lo tanto, intente utilizar paginación para consultas de bases de datos.

Comprueba si hay bucles infinitos o llamadas recursivas en el código.