《Effect Java》 归纳总结】的更多相关文章

读<Effect Java中文版> 译者序 序 前言 第1章引言 1   第2章创建和销毁对象 4 第1条:考虑用静态工厂方法代替构造函数 4 第2条:使用私有构造函数强化singleton属性 8 第3条:通过私有构造函数强化不可实例化的能力 10 第4条:避免创建重复的对象 11 第5条:消除过期的对象引用 14 第6条:避免使用终结函数 17   第3章对于所有对象都通用的方法 21 第7条:在改写equals的时候请遵守通用约定 21 第8条:改写equals时总是要改写hashCod…
目录: 一.创建和销毁对象 (1 ~ 7) 二.对于所有对象都通用的方法 (8 ~ 12) 三.类和接口 (13 ~ 22) 四.泛型 (23 ~ 29) 五.枚举和注解 (30 ~ 37) 六.方法 (38 ~ 44) 七.通用程序设计 (45 ~ 56) 八.异常 (57 ~ 65) 九.并发 (66 ~ 73) 十.序列化 (74 ~ 78)   正文:   第一章: 创建和销毁对象 1.考虑用静态工厂方法代替构造器 优: ① 有名称 ② 不必在每次调用它们的时候都创建一个对象 ③ 可以放…
第二章 创建和销毁对象 1.考虑用静态工厂方法代替构造器 四大优势: i. 有名称 ii. 不必在每次调用它们的时候都创建一个新的对象:   iii. 可以返回原返回类型的任何子类型的对象: JDBC(Java Database Connectivity) 服务提供者框架(Service Provider Framework) 服务接口.提供者注册API.服务访问API.服务提供者接口(负责创建其服务实现的实例): iv. 在创建参数类型实例的对象,它们使代码变得更加简洁 下面是一个Boolea…
1. Pattern类 public class PatternExample { /** * public static String quote(String s) * 返回指定字符串的字面值模式, 也就是说字符串序列中的元字符和转义序列将不具有特殊含义. * 会使用\Q \E包裹, \Q \E中间的字符是字面意思, 不具有特殊含义. * * public static Pattern compile(String regex, int flag) * 编译给定正则表达式 * flag: 匹…
Java中的Object对象为所有对象的直接或间接父对象,里面定义的几个方法容易被忽略却非常重要.以下来自Effective Java 对Object中几个关键方法的应用说明. public class PhoneNumber implements Cloneable, Comparable<PhoneNumber> { private final short linNum, prefix, areaCode; public PhoneNumber(int number, int prefix…
我看别人的面经中有一道题目就问到了Exception,即java的异常处理的,我曾经也学了java的异常处理,可是我查了下,看了别人的博客关于写的exception异常处理.我发现,自己学的不坚固,仅仅学到了一点皮毛而已,在看了那么多博客和资料后.我做下总结吧,不然我大脑都混乱了. java的中异常祖先是Throwable,Throwable的直接子类是Exception和Error. Error通过单词我们就知道,是错误的意思.这样的错误通常是jvm执行产生的错误,出现这样的错误,我们的程序不…
make:进入目录'/opt/FriendlyARM/tiny4412/05android/android-4.1.2'target Dex: framework trouble writing output: Too many methods: 65540; max is 65536. By package:    26 android   145 android.accessibilityservice   702 android.accounts   436 android.animati…
Static 方法的问题 今天在看EhCache源码的时候,发现有一个这样的方法   这个是个典型的单例模式的工具类,但我所知道的单例模式的写法不是这样的,虽然<effect java>中推荐的方法是用枚举,static方法类似于枚举方法,但觉得这种单例模式确实值得学习学习.   看我的测试结果: 总共两个类 /** * 测试单例类 * @author wu * */ public class StaticClass {          public static Integer id =…
可以使用三种注解来引入DAO层的接口到spring容器中.1.@Mapper,写在每一个DAO层接口上,如下: 2.@MapperScan和@ComponentScan两者之一.前者的意义是将指定包中的所有接口都标注为DAO层接口,相当于在每一个接口上写@Mapper.后者则是代替所有 //指定这是一个操作数据库的mapper@Mapperpublic interface DepartmentMapper { @Select("select * from department where id=…
1.代码里面包含PASSWORD.PWD 'PWD' detected in this expression, review this potentially hardcoded credential. 2.父子类或者同一个类有同名的变量名(类方法.类变量.实例方法或者实例变量) Rename method "ENCRYPTMethod" to prevent any misunderstanding/clash with method "encryptMethod"…