这个问题是从headfirst java看到的。 

 

需求:

一个移动电话用的java通讯簿管理系统,要求最有效率的内存使用方法.

下面两段程序的优缺点,哪个占用内存更少。

第一段:

1 Contact[]ca = new Contact[10];
2      while(x<10){
3         ca[x]=new Contact();
4         x=x+1;
5     }
6 //执行其余复杂工作

第二段:

1 Contact refc;
2 While(x<10){
3     refc = new Contact();
4     x=x+1;
5     }
6 //执行其余复杂的工作

 

书上的解答: 

第二段有个重大缺陷.其所占用的内存是比较少,但是除了最后一个Contact对象外其它的都没办法存取. 因为从头到尾只有一个引用变量.此变量最后只能引用到最新建立出的对象.

相关文章:

  • 2021-10-28
  • 2021-10-07
  • 2021-08-30
  • 2022-01-14
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2021-05-17
猜你喜欢
  • 2021-08-30
  • 2021-11-29
  • 2021-06-08
  • 2021-12-15
  • 2022-12-23
  • 2021-08-09
  • 2021-05-18
相关资源
相似解决方案