
Effective Java读书笔记
Effective Java 一书的读书笔记
卓修武
- 程序猿
- 健身
- 看书
展开
-
EffectiveJava-8所有类都通用的方法-equals()、hashCode()、toString()
对所有对象都通用的方法 本章主要讲述 Object 类的 equals()、hashCode()、toString()方法的意义和作用,在什么时候应该重写该方法,而什么时候不要这样做。在想重写该方法时 应该注意的事项什么时候不用覆盖 equls 方法类的每个实例本质上都是唯一的。 对于代表活动实体而不是值(value) 的类来说确实如此,比如TThread。Object提供的equls实现对于这原创 2016-03-18 00:33:25 · 608 阅读 · 0 评论 -
Effective9- 使类和成员的可访问性最小化
使类和成员的可访问性最小化标签(空格分隔): EffectiveJava迪米特原则 该篇章讲述的也是面向对象的原则之一:迪米特原则,也称最少知识原则。一个好的设计模块,对于使用者来说应该隐藏内部数据和实现细节,通过简单的API 把实现清晰的隔离开俩,这样可以有效的解除系统的各个模块之间的耦合关系,使得这些模块可以独立开发、测试、优化、使用、理解和修改。Java语言中的实现细节 规则很简单,尽可能原创 2016-03-23 23:43:20 · 560 阅读 · 0 评论 -
EffectiveJava-7 J避免使用 finalizer方法
避免使用 finalizer 方法 实际上在实际项目开发中,我基本没有使用到过该方法,原文中介绍了该方法的缺陷,和介绍了显示终结方法的实例,以及 该方法在实际开发中的正确用途,如果真的要使用该方法应该主要的事项finalizer方法的缺陷 finalizer 方法通常是不可预的,也是很危险的额,一般情况下是不必要的,Java 语言规范不仅不保证 finalizer 方法会被及时执行,而且根本原创 2016-03-15 23:49:00 · 783 阅读 · 0 评论 -
EffectiveJava-6 内存泄漏-清楚过期对象的引用
清楚过期的引用 Java虚拟机具有自动垃圾回收的功能,程序员不需要像 C/C++ 一样,手动释放内存,但是这并不意味着你不需要注意不再需要使用的对象的内存空间的释放问题。只要类是自己管理内存,程序员就应该警惕内存泄露问题考虑以下一端简单的栈实现的代码 public class Stack{ private Object[] elements; private原创 2016-03-15 23:11:21 · 660 阅读 · 0 评论 -
EffectiveJava-避免创建不必要的对象
这章讲的其实是 Java 语言的一些细节,比如重用不可变的对象 Stirng s = new String("hello");//每次都创建了一个新的对象,实际情况中,应该没人会这样写 Stirng s = "hello"; 每次都重用的一个对象重用已知不会被修改的对象 假设我们需要 检验一个人是否是出生在1946-1964年之间 public class Person{原创 2016-03-12 14:40:41 · 833 阅读 · 0 评论 -
用私有构造器或者枚举类型强化 Singleton属性
本章讲解的其实是 单例模式 的实现方式,单例模式一般的实现是有以下几种 私有化构造函数的形式 通过私有化构造函数,使客户端不能通过 new 关键字的形式来创建对象,同时我们需要提供静态方法来使得外部能够通过调用调用静态方法取得该类的唯一实例,其中这又分成了经常说的 饿汉式 和懒汉式的实现// 饿汉式,就是一口吃个饱,在类被加载器加载的时候 就创建了 这个实例 public class原创 2016-03-12 13:58:57 · 806 阅读 · 0 评论 -
EffeciveJava-2 遇到多个参数时考虑使用构建器
遇到多个构造器参数时要考虑用构建器重叠构造器 这一章的内容很好理解,相信大家在写 Java 程序的时候也遇到过,使用一个 类 ,而这个类有多个重载的构造函数,当然一般开发的 API 设计的还是比较合理,不会有多余的参数,一些比较强大的框架 API 可选参数多的时候也会提供一个默认的实现。一句话:重叠构造器模式可行,但是当哟u许多参数的时候,客户端代码会很难编写,并且难以阅读,你需要很好的查看文档,原创 2016-03-07 23:07:17 · 962 阅读 · 0 评论 -
Effective Java 第一条:考虑用静态工厂方法替代构造器
考虑用静态工厂方法替代构造器 对于类而言,为了让客户端获得它自身的一个实例,最常用的方法就是提供一个 公有 的构造器,除了这种方式外,另外一种实现方式 是为类提供一个公有的的静态工厂方法静态工厂方法的优势公有构造器的方式的缺点只能通过new className() 的方式来实现每次调用必然返回一个新的对象返回类型就是该类使用静态工厂方法的优势静态工厂方法是有名称的 它可以描述返回对象的原创 2016-03-06 11:35:30 · 1338 阅读 · 0 评论