2013年6月25日

《Effective Java》读书笔记4

摘要: rule 13:使类和成员的可访问性最小化 设计良好的模块会隐藏所有的实现细节,把API与它的实现清晰地隔离开来。模块之间只通过API进行通信,模块不需要知道其他模块的内部细节。这个概念称为信息隐藏或封装。 因此,时刻记住:尽可能地使每个类或成员的可访问性最小化。 类的可访问性有两类:package-private, public,若某个类只是被本包中的一些其它类使用,外部不需要使用该类,则它应该被设为package-private,而不应该设计成public。这样的话,在以后的发行版中,你可以任意对它进行修改。而如果设计成public,则在修改时,必须考虑它的兼容性。 成员的可访问性... 阅读全文

posted @ 2013-06-25 18:59 ykcul 阅读(227) 评论(0) 推荐(0)

2013年6月23日

《Effective Java》读书笔记3

摘要: rule 9:覆盖equals总是覆盖hashcode 如果不这样做,会导致该类无法和所有基本散列的结合一起正常运作。 规则:相等的对象必须具有相同的散列码 如hashcode方法设计不当,导致分桶非常不均匀,会使容器的性能急剧下降。 hashcode方法的设计目标:为不相等的对象产生不同的散列码。 阅读全文

posted @ 2013-06-23 17:52 ykcul 阅读(177) 评论(0) 推荐(0)

2013年6月14日

《Effective Java》读书笔记2

摘要: rule 50: 若其它类型更适合,尽量避免使用String why? String不适合代替int/float/double/enum/聚集类型/... 不灵活、速度慢、容易出错 how? use other typerule 51:多个字符串拼接,使用StringBuilder/StringBuffer,而不是Stringrule 52:尽量使用接口引用对象,而不是类,这样会使你的程序更加灵活,当更换实现时,仅需修改少量的代码。rule 53:接口优于反射。 why? 反射丧失了编译时类型检查的好处; 执行反射的代码笨拙、冗长; 性能损失。rule... 阅读全文

posted @ 2013-06-14 16:20 ykcul 阅读(126) 评论(0) 推荐(0)

2013年6月9日

《Effective Java》读书笔记1

摘要: rule 45: 将局部变量的作用域最小化 why? 增强可读性,可维护性,减少错误发生的可能性。 how? 在第一次使用的地方声明; 尽量减少它的可见区域,防止在作用域外被意外使用; 若循环终止后就不再需要变量的内容,优先使用for,而不是while。rule 46:for-each优于传统的for why? 传统for需要额外的迭代器或索引变量,代码不简洁; 迭代器的next()在多重循环中容易被“无意”调用多次; how? 优先使用for-each。rule 47:尽量使用类库 why? 不要重新发明轮子。使用Random.nex... 阅读全文

posted @ 2013-06-09 20:05 ykcul 阅读(130) 评论(0) 推荐(0)

导航