Go to file
2019-02-14 17:02:46 +08:00
01. 考虑使用静态工厂方法替代构造方法.md no message 2018-11-16 22:10:13 +08:00
02. 当构造方法参数过多时使用builder模式.md no message 2018-11-16 22:10:13 +08:00
03. 使用私有构造方法或枚类实现Singleton属性.md Update 03. 使用私有构造方法或枚类实现Singleton属性.md 2018-12-24 13:38:44 +08:00
04. 使用私有构造方法执行非实例化.md Update 04. 使用私有构造方法执行非实例化.md 2018-12-24 13:39:31 +08:00
05. 使用依赖注入取代硬连接资源(hardwiring resources).md Update 05. 使用依赖注入取代硬连接资源(hardwiring resources).md 2018-12-24 13:37:15 +08:00
06. 避免创建不必要的对象.md Update 06. 避免创建不必要的对象.md 2018-12-24 13:36:51 +08:00
07. 消除过期的对象引用.md Update 07. 消除过期的对象引用.md 2018-12-24 13:36:22 +08:00
08. 避免使用Finalizer和Cleaner机制.md Update 08. 避免使用Finalizer和Cleaner机制.md 2018-12-24 13:34:46 +08:00
09. 使用try-with-resources语句替代try-finally语句.md Update 09. 使用try-with-resources语句替代try-finally语句.md 2018-12-24 13:35:24 +08:00
10. 重写equals方法时遵守通用约定.md Update 10. 重写equals方法时遵守通用约定.md 2018-12-24 13:34:01 +08:00
11. 重写equals方法时同时也要重写hashcode方法.md Update 11. 重写equals方法时同时也要重写hashcode方法.md 2018-12-24 13:28:29 +08:00
12. 始终重写 toString 方法.md Update 12. 始终重写 toString 方法.md 2018-12-24 13:26:49 +08:00
13. 谨慎地重写 clone 方法.md Update 13. 谨慎地重写 clone 方法.md 2018-12-24 13:26:01 +08:00
14. 考虑实现Comparable接口.md Update 14. 考虑实现Comparable接口.md 2018-12-24 13:23:36 +08:00
15. 使类和成员的可访问性最小化.md Update 15. 使类和成员的可访问性最小化.md 2018-12-24 13:38:31 +08:00
16. 在公共类中使用访问方法而不是公共属性.md Update 16. 在公共类中使用访问方法而不是公共属性.md 2018-12-24 13:38:10 +08:00
17. 最小化可变性.md no message 2018-11-16 22:10:13 +08:00
18. 组合优于继承.md no message 2018-11-16 22:10:13 +08:00
19. 如使用继承则设计,应当文档说明,否则不该使用.md no message 2018-11-16 22:10:13 +08:00
20. 接口优于抽象类.md no message 2018-11-16 22:10:13 +08:00
21. 为后代设计接口.md no message 2018-11-16 22:10:13 +08:00
22. 接口仅用来定义类型.md no message 2018-11-16 22:10:13 +08:00
23. 优先使用类层次而不是标签类.md no message 2018-11-16 22:10:13 +08:00
24. 优先考虑静态成员类.md no message 2018-11-16 22:10:13 +08:00
25. 将源文件限制为单个顶级类.md no message 2018-11-16 22:10:13 +08:00
26. 不要使用原始类型.md no message 2018-11-16 22:10:13 +08:00
27. 消除非检查警告.md no message 2018-11-16 22:10:13 +08:00
28. 列表优于数组.md no message 2018-11-16 22:10:13 +08:00
29. 优先考虑泛型.md no message 2018-11-16 22:10:13 +08:00
30. 优先使用泛型方法.md no message 2018-11-16 22:10:13 +08:00
31. 使用限定通配符来增加API的灵活性.md no message 2018-11-16 22:10:13 +08:00
32. 合理地结合泛型和可变参数.md no message 2018-11-16 22:10:13 +08:00
33. 优先考虑类型安全的异构容器.md no message 2018-11-16 22:10:13 +08:00
34. 使用枚举类型替代整型常量.md 34. 使用枚举类型替代整型常量 2018-11-16 22:08:18 +08:00
35. 使用实例属性替代序数.md 35. 使用实例属性替代序数 2018-11-24 15:06:35 +08:00
36. 使用EnumSet替代位属性.md 36. 使用 EnumSet 替代位属性 2018-11-25 09:11:12 +08:00
37. 使用EnumMap替代序数索引.md 37. 使用 EnumMap 替代序数索引 2018-12-01 19:25:56 +08:00
38. 使用接口模拟可扩展的枚举.md 38. 使用接口模拟可扩展的枚举 2018-12-15 15:28:10 +08:00
39. 注解优于命名模式.md 39. 注解优于命名模式 2018-12-16 21:44:47 +08:00
40. 始终使用Override注解.md 40. 始终使用 Override 注解 2018-12-22 13:27:54 +08:00
41. 使用标记接口定义类型.md Update 41. 使用标记接口定义类型.md 2018-12-29 18:06:36 +08:00
42. lambda表达式优于匿名类.md 42. lambda 表达式优于匿名类 2018-12-29 18:05:45 +08:00
43. 方法引用优于lambda表达式.md 43. 方法引用优于 lambda 表达式 2018-12-31 19:56:42 +08:00
44. 优先使用标准的函数式接口.md Update 44. 优先使用标准的函数式接口.md 2019-01-02 19:34:20 +08:00
45. 明智审慎地使用Stream.md 45. 明智审慎地使用 Stream 2019-01-03 11:37:40 +08:00
46. 优先考虑流中无副作用的函数.md 46. 优先考虑流中无副作用的函数 2019-01-04 15:43:20 +08:00
47. 优先使用Collection而不是Stream来作为方法的返回类型.md 47. 优先使用 Collection 而不是 Stream 来作为方法的返回类型 2019-01-05 15:59:44 +08:00
48. 谨慎使用流并行.md 48. 谨慎使用流并行 2019-01-15 15:06:31 +08:00
49. 检查参数有效性.md 49. 检查参数有效性 2019-02-14 16:43:42 +08:00
50. 必要时进行防御性拷贝.md update 2019-02-14 17:02:46 +08:00
LICENSE Create LICENSE 2019-01-18 11:22:05 +08:00
README.md Update README.md 2018-12-16 21:49:32 +08:00
SUMMARY.md Update SUMMARY.md 2018-12-05 13:58:58 +08:00

README

effctive-java-3rd-chinese

文章翻译来源地址:https://www.jianshu.com/c/ce8cf0e13b23

个人主要想把文章内容存成 markdown 格式 并且转换成为对应的 pdf便于离线阅读。

每日一更

about this repository

本来以为只是个直接搬运的活,实际上不是。主要工作如下:

  • 改进排版,原有博文排版不太优秀,根据markdwon 排版指北重新排版。
  • 内容修改,原作者在翻译过程中有笔误(可能打字太快了),这里进行修改。
  • 等待内容搬运完成,使用cmd markdown生成 pdf 离线文件

markdown 文件以及英文版原版链接也都放在了 github 上面,希望小伙伴也可以中英文对照,给出一些意见。

额外资源