易截截图软件、单文件、免安装、纯绿色、仅160KB

Effective Java 学习笔记 (6)

及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏.
如有一个stack, 其pop函数如下.
public Object pop()
{
               if( Element.length() == 0) return null;
               return Element[size—];
}
这样的代码初看好像没有什么问题, 当栈增加再减少后, 原来的数组中仍然存在被POP的那个对象的引用! 正确答案应该是:
public Object pop()
{
               if( Element.length() == 0) return null;
               Object ele = Element[—size];
               Element[size] =null;
                return ele;
}
然而实际上,我们不用在程序中写满类似XXX=null的情况, 类似这样的处理应该是例外的少数做法而不能看成常规做法, 否则程序的结构就不够清晰.
一般说来,只有当一个类自己管理内存时,才要小心内存泄漏.
还两个地方,一个是缓存, 被缓存的物体经常被遗忘.
还有就是listener和callback的函数, 经常是注册后, 在不使用了,忘记了"derigster”, 导致这块相关的内存不无清除
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mutsinghua/archive/2010/01/23/5245558.aspx


相关文档:

设计模式之Factory,Java工厂方法

术语名称:Factory
术语解释:工厂模式,用来提供创建对象的接口.
工厂模式功能的详细解释:
工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。
为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象 ......

Java:在RCP中实现用托拽打开Editor

工作台窗口的Editor区域默认是显示的,而且它支持拖拽操作。在Eclipse里面,把一个文件拖到Editor区域,就会自动打开该文件的
Editor.该特性是在IWorkbenchWindowConfigurer 中设置。
 
    在PassWord Gate中,当拖动Password Gate View中的一个Group 或者
Service到Editor区域,会在Editor显示该 ......

一个java程序员应掌握的十项技术

1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、
HtmlConverter、jar、
java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命 ......

Effective Java 学习笔记(9)

通常,有一类问题的产生都是由于没有重载hashCode这个方法. 当你重载equals后,hashCode必须重载,否则在使用HashMap, HashSet, Hashtable的时候,会出错.
对于hashCode有几个原则.
1. 不管什么时候调用hashCode,如果同一个对象与hashCode相关的字段没有修改的话,这个方法的返回值必须相同. 但不必和另一个应用程序中的值相等 ......

从C++干到转型为java是退步,正确与否?

今天在逛论坛的时候看到有人津津乐道:从C++干到转型为java是退步
我不认为是这样,首先应该一个人的兴趣,加上这门语言,这门工作是否符合你
干自己喜欢的语言编码才是最重要的,当然java比较容易点,我也是这样认为的
但是java并不是大家所说的那么容易,当今社会谁不敢说自己会ssh,当是自己问心自己学得有多好,
在 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号