读书笔记
Jredreamer
这个作者很懒,什么都没留下…
展开
-
effective java读书笔记一
第1条:考虑用静态工厂方法(static factory method)替代构造函数 好处一: 静态工厂方法有自己的名字,可以根据静态工厂方法的名字而不是构造函数的个数或者顺序来创建不同的对象,可以使类更容易被使用同时相应的客户代码更容易阅读。 好处二: 静态工厂方法每次被调用的时候不要求非得创建一个新对象,可以使用一个预先创建好的实例(一些非可变类)或者把已有的实例缓存起来,避免不必原创 2012-06-25 17:03:04 · 543 阅读 · 0 评论 -
effective java读书笔记二
第3条:通过私有构造函数强化不可实例化的能力 对于某些工具类,比如java.lang.Math,java.util.Arrays,java.util.Collections可以把操作在实现特定接口的对象上的方法阻止起来。 但是这些类被实例化是没有任何意义的。 企图通过讲一个类做成抽象类来强制该类不能被实例化是行不通,因为该类的子类可以被实例化,并且可能会误导用户以为该类就是被设计用来继承的。原创 2012-06-25 17:54:20 · 453 阅读 · 0 评论 -
effective java读书笔记四
第7条:在改写equals的时候请遵守通用约定: 通用约定如下: 1、反身性(reflexive):对于任意 x,x.equals(x)必定传回 true。 2、对称性(symmetric):对于任意 x,y,当且仅当y.equals(x)传回 true,则x.equals(y)传回 true。 3、递移性(transitive):对于任意 x,y,z,如果 x.equals(y)传原创 2012-06-28 16:16:15 · 871 阅读 · 0 评论 -
effective java读书笔记三
第5条:消除过期的对象引用 考虑下面的代码: // Can you spot the "memory leak"? public class Stack { private Object[] elements; private int size = 0; public Stack(int initialCapacity) {原创 2012-06-27 14:58:07 · 753 阅读 · 0 评论 -
effective java读书笔记六
第11条:考虑实现Comparable接口 1、Java平台库库的所有值类(value classes)都实现了 Comparable接口。比较某对象与另指定对象的顺序。当这个物件小于、等于、大于 指定对象时,分别传回负整数、0、正整数。如果指定对象的型别不允许与这个对象进行比较,就抛出ClassCastException异常。 2、运用 compareTo()所做的相等性测试必须遵原创 2012-06-29 16:43:38 · 1096 阅读 · 0 评论 -
effective java读书笔记五
第10条:谨慎改写clone方法 如果某个class实现了Cloneable接口,则Object的clone方法返回该对象的主域拷贝,否则跑出CloneNotSupportedException异常. 1、影子clone Object类中clone()方法产生的效果是:先在内存中开辟一块和原始对象一样的空间,然后原样拷贝原始对象中的内 容。对基本数据类型,这样的操作是没有问题的,但对转载 2012-06-29 11:59:28 · 618 阅读 · 0 评论