- 博客(12)
- 资源 (10)
- 收藏
- 关注
原创 组合优于继承
原文地址:http://leihuang.org/2014/11/18/composition-inheritance/为什么组合优于继承?这是一个很典型的设计模式的问题,Head First Design Pattern第一章好像就讲了,之前看得有点忘了。下面我把stackoverflow上面得分比较高的答案搬过来用一下,我觉得这样更容易理解些。两者区别
2014-11-18 23:51:38 1375
原创 最小化类和成员的访问能力
原文地址:http://leihuang.org/2014/11/17/minmize-accessibility/信息隐藏要想区别一个设计良好的模块与一个设计不好的模块,最重要的因素是,这个模块对于外部的其它模块而言,是否隐藏了内部的数据和其他的实现细节。换句话说,就是模块的设计者是否对其进行了良好的封装。对于顶层的(非嵌套的)类和接口,它们只有2种访问级
2014-11-17 00:58:05 1675
原创 Comparable和Comparator的区别
Comparable和Comparator都是用来实现集合中元素的比较、排序的,只是Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包 jav
2014-11-16 17:39:52 1881
原创 详解java中clone方法
原文地址:http://leihuang.org/2014/11/14/java-clone/In java, it essentially means the ability to create an object with similar state as the original object.什么是clone字典中的意思就是复制(强调跟原来的一模
2014-11-15 13:31:24 5376
原创 super.getClass()与this.getClass()
原文地址:http://leihuang.org/2014/11/14/getClass-method/首先看一段代码:import java.util.Date;public class Test extends Date{ public static void main(String[] args) { new Test().test()
2014-11-15 13:29:11 4170
原创 java对象的生命周期
原文地址:http://leihuang.net/2014/11/13/Object-Lifecycle/什么是对象对象是数据和行为的集合对象是类的一个实例对象有状态和行为创建对象使用new关键字创建对象是java中最常见的一种方法。对象生命周期CreatedIn useInvisibleUnreachableCollectedFin
2014-11-15 13:27:03 1564
原创 java对象循环依赖问题
原文地址:http://leihuang.net/2014/11/13/Cycular-Dependency/假设我们有一个类A,它包含了一个B的对象,同时类B也包含了一个A对象。那么此时不管你实例化哪一个类,都会出现StackOverflowError错误,这就是java对象循环依赖问题。类似于鸡和蛋的问题。首先我们看下面这段错误的代码,分析其错误的地方。pu
2014-11-15 13:26:02 7979 1
原创 禁止使用finalize方法
原文地址:http://leihuang.net/2014/11/13/Avoid-Finalizers/Don´t use Finalizers, mainly because are unpredictable and we don´t know when will be executed, "don't try to be smarter than the JVM"
2014-11-14 16:23:41 2812
原创 java内存泄露
原文地址:什么是内存泄露当某些对象不再被应用程序所使用,但是由于仍然被引用而导致垃圾收集器不能释放它们。下图中就是内存泄露的情形。 图中的中间部分就是内存泄露的发生地。为什么会内存泄露让我们来分析一下下图中的例子,看看为什么会发生内存泄露。对象A时B的引用。A的生命周期时t1-t4,而B的生命周期时t2-t3.所以当B
2014-11-14 16:21:34 1582
原创 不要创建非必要对象
原文地址:http://leihuang.org/2014/11/10/avoid-creating-unnecessary-objects/首先我们来看下面两个语句的区别:String s = new String("hello world!") ;String s = "hello world!" ;当你循环调用上面两个语句的时候,你会发现:第一条语
2014-11-14 16:20:07 1102
原创 构造器与工厂方法的区别
原文地址:http://leihuang.org/2014/11/09/Constructors-VS-Factory-Methods/首先看下面两者在创建对象上的区别// instantiating a class using constructorDog dog = new Dog(); // instantiating the class us
2014-11-14 16:17:36 2084
原创 建造模式
原文地址:http://leihuang.org/2014/11/09/Builder-Pattern/The builder pattern is a good choice when designing classes whose constructors or static factories would have more than a handful of parameter
2014-11-14 16:15:33 1256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人