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次实例,新的覆盖旧的.始终是只占用一块内存.

java内存占用问题(一)的更多相关文章

  1. 如何在eclipse dump Java内存占用情况和打印GC LOG

     当使用java开发应用程序发生内存泄露的时候,经常会需要dump内存,然后使用内存分析工具,比如Eclipse Memory Analyzer(一般称作MAT)工具. 本文将介绍如何在eclipse ...

  2. 我这样减少了26.5M Java内存!

    WeTest 导读 历时五天的内存优化已经结束,这里总结一下这几天都做了什么,有哪些收获.优化了,或可以优化的地方都有哪些.(因为很多事还没做,有些结论需要一定样本量才能断定,所以叫一期)一期优化减少 ...

  3. 怎样使java程序减少内存占用(转载)

    本文收集网上关于减少java程序占用的一些小知识点 (1)别用new Boolean(). 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolea ...

  4. Java线上应用故障排查之二:高内存占用

    搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2.java.lang.OutOfMemoryError: Java ...

  5. Java性能优化权威指南-读书笔记(三)-JVM性能调优-内存占用

    新生代.老年代.永久代的概念不多说,这三个空间中任何一个不能满足内存分配请求时,就会发生垃圾收集. 新生代不满足内存分配请求时,发生Minor GC,老年代.永久代不满足内存分配请求时,发生Full ...

  6. Java程序内存分析:使用mat工具分析内存占用

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  7. java优化占用内存的方法(一)

    java做的系统给人的印象是什么?占 内存!说道这句话就会有N多人站出来为java辩护,并举出一堆的性能测试报告来证明这一点.其实从理论上来讲java做的系统并不比其他语言开发出来的 系统更占用内存, ...

  8. 一步步优化JVM四:决定Java堆的大小以及内存占用

    到目前为止,还没有做明确的优化工作.只是做了初始化选择工作,比如说:JVM部署模型.JVM运行环境.收集哪些垃圾回收器的信息以及需要遵守垃圾回收原则.这一步将介绍如何评估应用需要的内存大小以及Java ...

  9. Java程序占用的内存可能会大于Xmx

    很多人认为Xmx和-Xms参数指定的就是Java程序将会占用的内存,但是这实际上只是Java堆对象将会占用的内存.堆只是影响Java程序占用内存数量的一个因素. 除了堆,影响Java程序所占用内存的因 ...

随机推荐

  1. sql杂记

    Create procedure 存储过程的声明 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 通俗简单的说:PIVOT就是行转列,UNPIVOT就是列传行 ...

  2. 最大匹配算法 (Maximum Matching)

    之所以研究这个算法,是因为最近在研究NLP中文的分词,所谓分词就是将一个完整的句子,例如“计算语言学课程有意思”,分解成一些词组单元“计算语言学,课程,有,意思”. “最大匹配法” 在中文分词中有所应 ...

  3. java.util.Collection List与其子类 Set与其子类

    package com.Collection; import java.util.ArrayList; import java.util.Collection; import java.util.It ...

  4. 查询表名及列名长度超过一定长度的SQL

    apple=# select * from (select a.relname, char_length(a.relname) as tb_name_length, b.attname, char_l ...

  5. Kotlin Reference (四) Basic Types

    most from reference 基本类型 在kotlin中,一切都是对象,我们可以在任何变量上调用成员函数和属性.一些类型可以具有特殊的内部表示:例如,数字.字符和布尔值都可以在运行时被表示为 ...

  6. 真机调试watch的一系列bug

    真机调试watch的一系列bug 系列一 WatchKit 2.0 app's bundle ID com.jiaoshi.memoKB is not prefixed by the parent a ...

  7. 用with来打开文本文件

    with open ('text.txt') as f: for line in f.readlines(): print(line) 这种方法的好处就是如果出了异常也会自动提示报错.

  8. [javascript]复制到剪切板

    <!-- 一个简单的小栗子 --> <button class="copy-link" data-fulllink="要被复制的内容在这里-" ...

  9. day3 文件系统 内核模块 ctags

    nfs网络文件系统 smb   修改配置文件  sudo  vim /etc/samba/smb.conf    重启服务   /etc/init.d/samba restart 自制小的文件系统 1 ...

  10. ueditor编辑器【实际项目使用】

    [页面效果] [代码] 说明: ueditor插件的公共代码: 如果是一个可以放在对应模块的js代码中   如果有多个就要提到全局的高度(即提到公共部分) <script type=" ...