java读取大文件内存溢出 java线程死锁和内存溢出,该怎么解决?

java线程死锁和内存溢出,该怎么解决?Java线程死锁或线程太多:1。获取java进程IDPS-EF | grep java2。导出线程堆栈(32494被上一步中找到的进程ID替换)jstack-L

java线程死锁和内存溢出,该怎么解决?

Java线程死锁或线程太多:

1。获取java进程ID

PS-EF | grep java

2。导出线程堆栈(32494被上一步中找到的进程ID替换)

jstack-L 32494>>/usr/local/client/log20180116。日志

java中while(true)死循环会造成JVM内存溢出吗?

1。在死循环中定义局部变量将导致堆栈溢出,如以下定义:

while(true){

int x=1;

int arr[]=new int[10];

}]由于堆栈空间存储局部变量、参数和其他对象,堆栈具有默认深度。我记得它是128M(内存问题,请指出如果错误)。

2. 在启动循环中定义对象会导致堆内存溢出,如以下定义:

(true){

person P=new person()

}

对象的生成会占用时间和空间,因为内存空间有限,迟早会导致堆内存溢出。

所以我们写代码是为了养成一个好习惯,不在特殊情况下,不在循环中定义局部变量和对象。