代码改变世界

随笔档案-2018年10月

最好覆盖toString

2018-10-24 15:02 by 摘花, 131 阅读, 收藏,
摘要: Object的toString只是输出一个“类名+@+一串字符串”,能给人的信息极其有限,我们需要覆盖soString方法去更好的描述对象。 阅读全文

适时覆盖equals,覆盖equals是要覆盖hasdCode

2018-10-24 14:55 by 摘花, 342 阅读, 收藏,
摘要: 符合以下情况是不需要覆盖equals的: 需要覆盖equals的类只有一种情况,我们关心的是对象里面的值,这个类有自己本身的‘值’相等逻辑,此时我们需要去覆盖equals,而且应遵守下列原则: 自反 对称 传递 一致 非NULL 对象和NULL作比较时,返回NULL 为了避免在覆盖让equals之后 阅读全文

消除过期的对象引用

2018-10-23 10:38 by 摘花, 169 阅读, 收藏,
摘要: 1,自己管理内存的类:我理解为类中有有属性保存了对象的指针,而没有及时的将指针指向NULL。 2,缓存造成内存泄漏. 3,监听器和其他回调. 阅读全文

避免创建不必要的对象

2018-10-23 09:28 by 摘花, 227 阅读, 收藏,
摘要: 我感觉我自己应该要避免的就是 1,在循环里面或者使用频繁的工具类里面创建对象,造成了不必要的开销。 2,用封装类型代替了基本数据类型。 两个大忌~ 阅读全文

私有化构造器强化不可实例化的能力

2018-10-23 09:23 by 摘花, 190 阅读, 收藏,
摘要: 读了这条之后,我以我浅薄的Java知识想了一下,这个貌似用虚类也可以做到,还不用写一个构造器~,不知道有什么疏漏,希望大家不吝赐教。 阅读全文

使用枚举去实现单例模式

2018-10-23 09:09 by 摘花, 983 阅读, 收藏,
摘要: 现在就我这个新手所知道的实现单例模式的写法就已经有6、7种了,但是不管是饿汉模式、懒汉模式、双重检验、静态内部类,都在抵御序列化和反射攻击时不够出色,而通过底层实现了防御序列化和反射攻击的枚举模式就是很完美的选择了,所以,直接枚举就好。 阅读全文

遇到多个构造器参数时考虑使用构建器

2018-10-23 09:04 by 摘花, 144 阅读, 收藏,
摘要: 书中说的非常有道理,JavaBean模式确实做不到线程安全,而且是可变的,但是这个可变的属性在web系统中却显得很重要,我们需要知道针对同一对象的属性地改变, 而不是每次都构建一个新的对象,数据没有互通性,那就没有意义了。 思路是很棒的,我们要针对目的去使用。 阅读全文

考虑用静态工厂代替构造方法

2018-10-19 14:19 by 摘花, 223 阅读, 收藏,
摘要: 在看之前,我自己思考了一下静态工厂相对于构造方法的优点 1,首先肯定是不需要每次都创建一个新的对象。 写了一条之后,我发现我只能得出这个结论 看书: 静态工厂有自己的名称:这个有什么好处呢,能够使方法的可读性更好, 可以返回原返回类型的子类对象:构造方法只能构造本类的对象,而静态工厂可以灵活的在代码 阅读全文