2016 - 2024

感恩一路有你

Java中出现的死循环代码 java中while(true)死循环会造成JVM内存溢出吗?

浏览量:3030 时间:2021-04-12 14:16:16 作者:admin

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

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

while(true){

int x=1;

int arr[]=New int[10];

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

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

(true){

person P=new person()

}

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

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

java程序死循环了怎么办?

首先,您需要找出哪个进程被卡住了

打开控制器,输入PS-EF命令找到相应的java进程,或者使用top查看CPU占用率高的进程,然后杀死该进程。

在编写程序时,应特别注意存在生死循环的地方,例如while(true)。尽量不要使用它们,或者添加一些控件,例如超时处理,或者使用多个线程等待和通知。这应该是一个相对简单的处理方法。如果您需要更进一步,您仍然需要根据业务使用判断逻辑。此外,我们需要在后期上线之前测试覆盖这些条件的方法。只有当没有死循环时才是合格的程序。

java中while true为什么是死循环?

这是while语句的特征。while语句的执行顺序是先判断条件是否成立。如果它成立,循环体将被执行。如果它站不住脚,它就会退出。如果while中的判断条件为真,则它将始终为真,并且循环体将始终被执行,因此它是一个死循环。

Java中出现的死循环代码 java死循环跟无限循环 java死循环运行出错

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。