码迷,mamicode.com
首页 > 编程语言 > 详细

java循环创建对象应该在循环体内还是循环体外

时间:2020-04-01 19:28:05      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:class   init   for   应该   color   style   java   pre   code   

第一种:
    for(int i = 0; i < 100; i++) {
        Object obj = new Object()
    }

第二种:
    Object obj = null
    for(int i = 0; i < 10000; i++) {
        obj = new Object()
    }

第一次:

  Object obj = new Object();//写在100个循环内等于你有100个引用对应了100个对象

  所以100个对象在一段时间内都是会占用内存,直到内存不足GC主动回收.

第二次:
  obj = new Object();//写在100个循环内等于你使用1个引用分别100次调用了100个对象

  所以当后一个对象init后,前一个对象已经是“无引用状态”,会很快的被GC自动回收.

结论:

  第二种方法能更好的管理内存。

java循环创建对象应该在循环体内还是循环体外

标签:class   init   for   应该   color   style   java   pre   code   

原文地址:https://www.cnblogs.com/sinosoft/p/12614645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!