易截截图软件、单文件、免安装、纯绿色、仅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方法调用效率差别

  最近需要做一些JAVA底层操作,为了尽可能提高效率做了如下测试。
  在同一个类中建立普通的PUBLIC方法和PUBLIC STATIC 方法两种,并使用JUnit进行多次循环。最终证明使用对象的方式调用效率高。
  上结果。
起始时间Fri Mar 05 10:15:37 CST 2010结束时间Fri Mar 05 10:15:38 CST 2010时间间隔891
起始时间Fri ......

java环境变量配置

windows xp下配置JDK环境变量:
      1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;
  2.安装完成后,右击“我的电脑”,点击“属性”;
      3.选择“高级”选项卡,点击“ ......

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面试题,有空做做看

转另一个论坛的帖子:
迅雷面试回来,用了整整一下午(不知道怎么说了,其中等待时间都快2小时了),自己感觉笔试和上机还可以,但技术面谈这一关答得不太好,现在再次感觉互联网公司与一般软件公司的区别了,其中一点就是互联网应用在性能上要求很高,谈了一个小时大部分题目感觉都在谈论性能问题,自己在方面一直是弱项 ......

利用Lucene搜索Java源代码

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