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


第一种:
    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自动回收.

结论:

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM