视频加载失败

new一个对象的引用在循环里与循环外的区别

166 字
1 分钟
new一个对象的引用在循环里与循环外的区别
new一个对象的引用在循环里与循环外的区别
for(int i=0;i<100;i++){
Object obj = new Object();
}
Object obj;
for(int i=0;i<100;i++){
obj = new Object();
}

以上分别为在循环里与循环外new对象。

在循环里就相当于为100个引用了100个对象分配内存,直到内存不足会被GC释放。

在循环外使用1个引用分别100次调用了100个对象所以当后一个对象init后,前一个对象已经是“无引用状态”,会很快的被GC自动回收(在你的循环还未结束时,可能已经进行了多次GC回收,这点很重要)。

也就是说第二种方法能更好的管理内存。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
new一个对象的引用在循环里与循环外的区别
https://rehtt.com/posts/19/
作者
Rehtt
发布于
2018-02-14
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Rehtt
Hello, I'm Rehtt.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
150
分类
17
标签
73
总字数
67,772
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0

当前页面没有目录

文章目录

当前页面没有目录