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

《Effective Java》笔记

第一章 引言
(By wind5shy:http://blog.csdn.net/wind5shy)
 
第二章 创建和销毁对象
(By wind5shy:http://blog.csdn.net/wind5shy)
第1条:考虑用静态工厂方法代替构造函数
 
好处:
静态工厂方法有名字,表达更清楚。
不需创建新的对象。
可以返回原返回类型的子类型对象。应用:1.返回类型定义为接口,则返回的所有实例对象的细节都可以被隐藏,如Collections。2.返回对象所属的类在写该静态方法时可以不存在。
缺点:
类如果不含public或者protected构造函数,就不能被子类化,如不能实例化Collections的任一实现类。
与其他静态方法没有区别,不像构造函数一样明显。但使用标准的命名习惯:valueOf和getInstance,可以客服一定的缺点。
 
第2条:使用私有构造函数强化singleton属性
 
将构造函数设为private是为了避免其他类调用已确保唯一性(不写显示构造函数则系统提供默认构造函数且为public!)。
两种实现singleton的方法:
1.
public static final Singleton INSTANCE = new Singleton();
private Singleton(){}
构造方法只在初始化INSTANCE时被调用一次。
2.
private static final Singleton INSTANCE = new Singleton();
private Singleton(){}
public static getInstance(){ return INSTANCE};
1好处在于类成员明确表明了类是一个singleton;而2则提供了灵活性,允许在不改变API的情况下改变类是否为singleton。
singleton类在序列化的时候需要提供readResolve()确保singleton性,否则一个序列化的实例在每次反序列化的时候,都会导致创建一个新的实例。
private Object readResolve() throws ObjectStreamException{ return INSTANCE;}
 
第3条:通过私有构造函数强化不可实例化的能力
 
       缺点:类不能被子类化,因为子类的构造函数需要调用超类的构造函数。
 
第4条:避免创建重复的对象
 
       String s = “s”;优于String s = new String(“s”);因为后者每次都创建新的对象而前者不是。
       同时提供静态工厂函数和构造函数的非可变类,使用静态工厂函数可以避免每次创建新的对象,如Boolean.valueOf(String)优于Boolean(String)。
       不会被修改的可变类
  &nbs


相关文档:

java基础入门学习笔记(一):bubblesort算法个人学习


public class bubblesort {
 public static void main(String[] args) {
 
   int array[]=new int[]{1,5,9,4,6,2};   
   
   int m;
  
   for(int i=0;i<array.length;i++){
    System.out.print(arra ......

java事务


事务处理总结
来源:http://space.itpub.net/13956325/viewspace-598381
一、什么是Java 事务
通常的观念认为,事务仅与数据库 相关。
事 务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性表示事务 ......

Java可变参数列表

public class TestClass{
public static void main(String args[]){
VarArgs(1, "one");
VarArgs(2, "one", "two");
VarArgs(3, "one", "two", "three");
VarArgs(0); // Attention!
}
static void VarArgs(int nRequired, String... trailing){
System.out.print("Required: " + nRequired + " "); ......

利用Lucene搜索Java源代码

某些网站允许软件开发社团通过发布开发者指南、白皮书、FAQs【常见问题解答】和源代码以实现信息的共享。随着信息量的增长,和几个开发者贡献出自己的知识库,于是网站提供搜索引擎来搜索站点上现有的所有信息。虽然这些搜索引擎对文本文件的搜索可以做的很好,但对开发者搜索源代码做了比较严格的限制。搜索引擎认为源代码 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号