Java编码建议-1
来源:互联网 发布:linux加ip 编辑:程序博客网 时间:2024/05/29 19:00
根据GC的工作原理,我们可以通过一些技巧和方式,让GC运行更加有效率,更加符合应用程序的要求。以下就是一些程序设计的几点建议。
- 最基本的建议就是尽早释放无用对象的引用。大多数程序员在使用临时变量的时候,都是让引用变量在退出活动域(scope)后,自动设置为null。我们在使用这种方式时候,必须特别注意一些复杂的对象图,例如数组,队列,树,图等,这些对象之间有相互引用关系较为复杂。对于这类对象,GC回收它们一般效率较低。如果程序允许,尽早将不用的引用对象赋为null。这样可以加速GC的工作。
- 尽量少用finalize函数。finalize函数是Java提供给程序员一个释放对象或资源的机会。但是,它会加大GC的工作量,因此尽量少采用finalize方式回收资源。
- 如果需要使用经常使用的图片,可以使用soft应用类型。它可以尽可能将图片保存在内存中,供程序调用,而不引起OutOfMemory。
- 注意集合数据类型,包括数组,树,图,链表等数据结构,这些数据结构对GC来说,回收更为复杂。另外,注意一些全局的变量,以及一些静态变量。这些变量往往容易引起悬挂对象(dangling reference),造成内存浪费。
- 当程序有一定的等待时间,程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。使用增量式GC可以缩短Java程序的暂停时间。
- Java编码建议-1
- java编码规范建议
- java编码建议
- Java良好的编码习惯建议
- JavaScript 编码规范建议
- 5.5 一些编码建议
- IOS 编码规范建议
- Objective-C 编码建议
- Objective-C 编码建议
- Objective-C 编码建议
- Objective-C 编码建议
- Objective-C 编码建议
- Objective-C 编码建议
- Objective-C 编码建议
- Objective-C 编码建议
- 编码规范建议
- JAVA 建议
- 高性能JavaScript 编码建议
- sdut-2725-The Urge to Merge-状压DP
- 笔试题二:冒泡排序算法实现
- poj 1742 coins_多重背包
- 第十四周自由练习项目——随意输入数从大到小输出
- 递归算法-汉诺塔问题
- Java编码建议-1
- 数据结构课程设计(约瑟夫环)
- 笔试题三:带头节点head链表逆序
- 将win7电脑无线网变身WiFi热点,让手机、笔记本共享上网
- linux zip/unzip命令
- NYOJ-275-队花的烦恼一-2013年10月23日22:51:57
- Java学习路线
- NYOJ-277-车牌号-2013年10月23日23:00:40
- 括号匹配