zoukankan      html  css  js  c++  java
  • 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自动回收.

    结论:

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

  • 相关阅读:
    8.26 树状数组
    8.27 神异之旅
    8.26 雇佣
    8.28 Jack与Rose
    8.28 ISN
    保存和加载网络
    快速搭建网络
    分类网络
    torch中的回归
    pytorch中的Variable
  • 原文地址:https://www.cnblogs.com/sinosoft/p/12614645.html
Copyright © 2011-2022 走看看