码迷,mamicode.com
首页 > 编程语言 > 详细

近期学习Java的收获

时间:2016-04-03 00:25:57      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

1.系统不仅要花费时间来创建对象,而且要花时间对这些对象进行垃圾回收和处理,所以应尽量避免过多过常的创建对象,可用基本数据类型或数组来替代对象;

2. 当某个对象被定义为static变量所引用,这个对象所占有的内存不会被回收,所以应尽量避免随意使用静态变量;

3. 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快。其他变量,如静态变量、实例变量等,都在堆中创建,速度较慢。所以应尽量使用局部变量;

4. 通常,StringBuffer 的构造器会创建一个默认大小(16)的字符数组,使用时,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再将旧的数组丢弃。如果在创建 StringBuffer时指定大小,这样就避免了在容量不够的时候自动增长的情况,所以应尽量确定StringBuffer的容量;

5.二维数据占用的内存空间比一维数组多得多,所以应尽量避免使用二维数组;

6. 当创建一个异常时,需要收集一个用于描述异常是在何处创建的栈跟踪。构建这些栈跟踪时需要为运行时栈做一份快照,正是这一部分开销很大。当需要创建一个 Exception 时,会暂时停止入栈和出栈操作。即创建异常需要很大开销。所以要慎用异常。

近期学习Java的收获

标签:

原文地址:http://www.cnblogs.com/liuchunxia/p/5348551.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!