zoukankan      html  css  js  c++  java
  • java内存占用问题(一)

    Nocturne 2012-12-24

    java数组内存占用问题.

    30

    Contact[] ca = new Contact[10];

      while(x<10){

        ca[x]=new Contact();

        x++;

      }
    Contact refc;
    while(x<10){
        refc=new Contact();
        x++;

    }
    哪条比较好?哪条内存用的比较少?为什么?

    满意答案

    €◈亽☢.☣亼№ 13级 2012-12-24

    下面这种只有一个变量的占内存少
    上面的数组,在你开始循环之前,必须先分配10个Contact类型的变量空间出来,
    但是下面那样做只是用了1个Contact类型空间

    满意答案

    JAVA中国 中级团 合作回答者:1人 2012-12-25

    第一段代码等于:
    Contact ca1=new Contact();
    Contact ca2=new Contact();
    Contact ca3=new Contact();
    Contact ca4=new Contact();
    Contact ca5=new Contact();
    Contact ca6=new Contact();
    Contact ca7=new Contact();
    Contact ca8=new Contact();
    Contact ca9=new Contact();
    Contact ca10=new Contact();
    第二段代码等于:
    Contact ca=new Contact(); ca=new Contact(); 
    ca=new Contact();
    ca=new Contact();
    ca=new Contact();
    ca=new Contact();
    ca=new Contact();
    ca=new Contact();
    ca=new Contact();
    ca=new Contact();
    第一段是给10个对象创建了10个不同的实例,他们占用不同的内存区域.
    第二段是给1个对象重复创建10次实例,新的覆盖旧的.始终是只占用一块内存.

  • 相关阅读:
    【洛谷P1119】灾后重建
    【洛谷P1462】通往奥格瑞玛的道路
    【洛谷P1991】无线通讯网
    poj 2892(二分+树状数组)
    hdu 1541(树状数组)
    hdu 5059(模拟)
    hdu 5056(尺取法思路题)
    poj 2100(尺取法)
    hdu 2739(尺取法)
    poj 3320(尺取法)
  • 原文地址:https://www.cnblogs.com/langlove/p/3377225.html
Copyright © 2011-2022 走看看