java是什么 Android(Java)游戏循环中频繁new对象怎么处理?
浏览量:2311
时间:2021-04-14 14:16:59
作者:admin
Android(Java)游戏循环中频繁new对象怎么处理?
首先要看代码逻辑是否可以优化。频繁的新对象不断地分配内存,然后垃圾收集器会不断地回收不在使用的内存,这将导致内存抖动和性能差。应该尽量避免。
如果无法避免新对象,可以使用对象池,它首先分配一段内存,然后在使用时从对象池中提取内存,而不是频繁使用新对象。
java中while(true)死循环会造成JVM内存溢出吗?
1. 在死循环中定义局部变量会导致堆栈溢出,例如以下定义:
while(true){
int x=1;
int arr[]=New int[10];
}]因为堆栈空间存储局部变量、参数和其他对象,所以堆栈有一个默认深度,我记得是128M(内存问题,请指出)如果错误)。
2. 在启动循环中定义对象会导致堆内存溢出,如以下定义:
(true){
person P=new person()
}
对象的生成会占用时间和空间,因为内存空间有限,迟早会导致堆内存溢出。
所以我们写代码是为了养成一个好习惯,不在特殊情况下,不在循环中定义局部变量和对象。
java是什么 for循环创建对象会被回收吗 java类与对象
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
虚拟主机容量 互联虚拟主机