上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 终结方法通常是不可预测的,也是很危险的,一般情况下是不必要的。 如果我们为一个类重写写了Object类的终结方法,那么这个类的实例在被垃圾回收器回收之前会先执行终结方法, 在终结方法中,这个实例对象有可能会被重写引用,也可以用来释放一些资源文件等等,从而不被回收或者对象的善后工作。 终结方法的缺点在与不能保证会被及时的执行。当一个实例对象变得不可达,到这个实例的终结方法被执行,这之间 的时间是任意... 阅读全文
posted @ 2015-04-20 14:59 wangliyue 阅读(138) 评论(0) 推荐(0)
摘要: 消除过期的对象引用,可以让垃圾收集器更好的回收对象,从而避免不必要的内存泄露(memory leak)。在支持垃圾回收的语言中,内存泄露是很隐蔽的(称这类内存泄露为“无意识的对象保持”更为恰当)。如果一个对象引用被无意识地保留起来了,那个垃圾回收机制不仅不会处理这个对象,也不会处理被这个对象所引用的... 阅读全文
posted @ 2015-04-20 10:27 wangliyue 阅读(123) 评论(0) 推荐(0)
摘要: 最好能重用对象而不是每次需要的时候就创建一个相同功能的新对象。如果对象是不可变的,它就始终可以被重用,如String对象。 阅读全文
posted @ 2015-04-20 10:04 wangliyue 阅读(105) 评论(0) 推荐(0)
摘要: 有时候我们可能需要编写只包含静态方法和静态域的类,例如某些工具类。如java.lang.Math 或者 java.util.Arrays这样的工具类不希望被实例化,因为实例对于它们没有任何意义。如果不手写提供一个构造器,编译器会为这个类提供一个public的构造器,所以我们可以通过手写提供一个私有化... 阅读全文
posted @ 2015-04-16 17:08 wangliyue 阅读(155) 评论(0) 推荐(0)
摘要: Singleton类就是单例类,就是只能被实例化一次的类。需要注意的是,对于单例类变成可序列化,仅仅在声明上加上“implements Serializable” 是不够的,还要将所有的实例域(非static的域)声明为transient(瞬时)的,并提供一个readResolve方法。否则,我们反... 阅读全文
posted @ 2015-04-16 17:06 wangliyue 阅读(135) 评论(0) 推荐(0)
摘要: 遇到需要多个参数(参数可分为必需参数和非必需参数)才能实例化一个类的对象时,一般有三种方法:1.重叠构造器 重叠构造器的方式可行,但是当有许多参数的时候,客户端的代码会很难编写,而且很容器出错。 方便期间,假设这个类有五个Field需要赋值:2.JavaBean式的类 通过setter方法来为实例对... 阅读全文
posted @ 2015-04-13 17:23 wangliyue 阅读(131) 评论(0) 推荐(0)
摘要: 使用静态工厂方法代替构造器的几大优势:静态工厂方法具有名称。 可以通过它的名称来判断它返回的实例的大概信息。不必再每次调用时都创建一个新的实例。 例如单例类就使用了静态工厂方法。静态工厂方法可以返回原返回类型的任何子类型的对象实例。 如返回类型是Service,可以返回Service类型的任何子类... 阅读全文
posted @ 2015-04-13 15:19 wangliyue 阅读(169) 评论(0) 推荐(0)
摘要: 状态模式:允许对象在内部状态改变时,改变它的行为,对象看起来好像修改了它的类。状态模式将一个类的实例对象的状态封装成为独立的类,并把类的动作委托到代表当前状态的类去实现。这样当对象的状态发生改变时,这个对象就会呈现不同的动作表现。类图:糖果售卖机具有四种状态:没有25分钱状态,有25分钱状态,售出糖... 阅读全文
posted @ 2015-01-16 10:06 wangliyue 阅读(207) 评论(0) 推荐(0)
摘要: 组合模式:组合模式允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。组合模式让我们能用树形方式创建对象的结构,树里面包含了组合以及个别的对象。使用组合的结构,我们能把相同的操作应用在组合和个别对象上。换句话说,在大多数情况下,我们可以忽略对象组... 阅读全文
posted @ 2015-01-15 17:14 wangliyue 阅读(155) 评论(0) 推荐(0)
摘要: 迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。聚合对象可以是数组,也可以是集合等。遍历集合,我们可以使用for循环,foreach循环。遍历数组,可以使用for循环,foreach循环。但是使用上面这两种形式,我们都需要知道聚合对象是数组,还是集合。但是使用了迭代... 阅读全文
posted @ 2015-01-15 17:12 wangliyue 阅读(163) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页