摘要:
Item 42 比起匿名类优先选择lambdas 1、在Java8中有一些只有一个抽象方法的接口值得被特殊对待。这些接口被称为函数接口。可以创建的这些接口的实例称为lambda表达式。 2、例子: 注意这个lamda的类型(Comparator<String>)、参数(s1,s2都是String)和 阅读全文
摘要:
恢复内容开始 Item 34 使用枚举代替 int常量 1、使用枚举类型代替int枚举模式。 2、Int枚举模式是常变量,很难转换成好的打印字符,没有可靠的方法迭代其中的常量以及获取size. 3、枚举类型: 4、枚举类型通过一个public static final 域输出其中每一个枚举常量。 5 阅读全文
摘要:
Item 27 不要使用原始类型 1、使用原始类型不会产生编译期错误,但会产生运行期错误,增加debug难度。 2、虽然使用原始类型是合法的,但是不应该这样做,这会丧失类型安全以及泛型在表达方面的优势。 3、必须使传递含有参数类型的实例 给 被设计为原始类型的方法 合法,反之亦然。这就是所谓的移植性 阅读全文
摘要:
Item 15 使类和成员的可访问性最小化 1、一个设计的好的组件应该隐藏它的所有实现细节,清晰地将它的 API 以及具体实现分开。 2、尽可能的使用低级别的访问级别,降低类和成员的可访问性。 3、如果一个包私有的顶层类或接口只被一个类使用,考虑将它变为私有的静态内部类。 3、设计类的时候首先设计你 阅读全文
摘要:
Item 10 遵守覆盖equals的约定 1、当类需要一个 逻辑相等 的功能时 覆盖equals()。 2、需要满足的性质: 自反性、对称性、传递性、一致性,参数为null时返回False。 3、没有办法在不违反equals约定的情况下,去通过添加新的值域来扩展一个实体类(子类化)。 4、使用复合 阅读全文
摘要:
Item1 考虑用静态工厂方法代替构造器 1、优点 可读性强。 不会每次调用就通过构造器创建一个新的实例。 可以返回原始类型的任何子类型。 2、缺点 只有私有构造器无法被子类化。 Item 2 遇到多个构造器参数考虑用构建器Builder 1、什么是构建器? 2、使用构建器的好处。 在多参数时写法优 阅读全文
摘要:
Alt+insert 快捷创建getter setter 构造器等 Alt+enter 加try catch 块 将光标放到类名上,按atl+enter键,就会提示生成serialVersionUID了。 Ctrl shift t 增加测试方法; Sout =System.out.print For 阅读全文
摘要:
一、切面配置 proxy-target-class 为true时使用CGLib代理 false时使用JDK. 环绕通知类需要注意 阅读全文
摘要:
1、选择创建一个maven项目。 2、在左侧视图的pom.xml进行配置 dependec 和 plugin。前往http://mvnrepository.com/ 搜索相应groupid和Artifactid。 3、右侧Maven Project中同时选中clean与install,点击绿色箭头开 阅读全文
摘要:
〇、整体架构 一、装配Bean 二、依赖注入 1、属性注入 必须提供默认(无参)构造函数,使用Setter方法进行注入 注意事项:属性配置匹配的是Setter方法而不是私有字段。p命名空间需要进行配置定义。 2、构造函数注入 必须提供带参构造器 注意事项:当有构造器有循环依赖调用,造成类似死锁的情况 阅读全文