资讯专栏INFORMATION COLUMN

Effective Java 3rd.Edition 翻译

KoreyLee / 1467人阅读

摘要:推荐序前言致谢第一章引言第二章创建和销毁对象第项用静态工厂方法代替构造器第项遇到多个构造器参数时要考虑使用构建器第项用私有构造器或者枚举类型强化属性第项通过私有构造器强化不可实例化的能力第项优先考虑依赖注入来引用资源第项避免创建不必要的对象

推荐序 前言 致谢 第一章 引言 第二章 创建和销毁对象

第1项:用静态工厂方法代替构造器

第2项:遇到多个构造器参数时要考虑使用构建器

第3项:用私有构造器或者枚举类型强化Singleton属性

第4项:通过私有构造器强化不可实例化的能力

第5项:优先考虑依赖注入来引用资源

第6项:避免创建不必要的对象

第7项:消除过期的对象引用

[第8项:避免使用终结方法和清除方法]()

[第9项:try-with-resources优先于try-finally]()

第三章 对于所有对象都通用的方法

第10项:覆盖equals时请遵守通用约定

第11项:覆盖equals时总要覆盖hashCode

第12项:始终要覆盖toString

第13项:谨慎地覆盖clone

第14项:考虑实现Comparable接口

第四章 类和接口

第15项:使类和成员的可访问性最小化

第16项:要在公有类而非公有域中使用访问方法

第17项:使可变性最小化

第18项:复合优先于继承

第19项:要么设计继承并提供文档说明,要么禁止继承

第20项:接口优于抽象类

第21项:为后代设计接口

第22项:接口只用于定义类型

第23项:类层次优于标签类

第24项:静态成员类优于非静态成员类

第25项:限制源文件为单个顶级类

第五章 泛型

第26项:请不要使用原生态类型

第27项:消除非受检的警告

第28项:列表优于数组

第29项:优先考虑泛型

第30项:优先考虑泛型方法

第31项:利用有限制通配符来提升API的灵活性

第32项:谨慎并用泛型和可变参数

第33项:优先考虑类型安全的异构容器

第六章 枚举和注解

第34项:用enum代替int常量

第35项:用实例域代替序数

第36项:用EnumSet代替位域

第37项:用EnumMap代替序数索引

第38项:用接口模拟可扩展的枚举

第39项:注解优先于命名模式

第40项:坚持使用Override注解

第41项:用标记接口定义类型

第七章 Lambda和Stream

第42项:Lambda优先于匿名类

第43项:方法引用优先于Lambda

第44项:坚持使用标准的函数接口

第45项:谨慎使用Stream

第46项:优先选择Stream中无副作用的函数

第47项:Stream要优先用Collection作为返回类型

第48项:谨慎使用Stream并行

第八章 方法

第49项:检查参数的有效性

第50项:必要时进行保护性拷贝

第51项:谨慎设计方法签名

第52项:慎用重载

第53项:慎用可变参数

第54项:返回零长度的数组或者集合,而不是null

第55项:谨慎返回optinal

第56项:为所有导出的API元素编写文档注释

第九章 通用编程

第57项:将局部变量的作用域最小化

第58项:for-each循环优先于传统的for循环

第59项:了解和使用类库

第60项:如果需要精确的答案,请避免使用float和double

第61项:基本类型优先于装箱基本类型

第62项:如果其他类型更适合,则尽量避免使用字符串

第63项:了解字符串连接的性能

第64项:通过接口引用对象

第65项:接口优先于反射机制

第66项:谨慎地使用本地方法

第67项:谨慎地进行优化

第68项:遵守普遍接受的命名惯例

第十章 异常

第69项:只针对异常的情况才使用异常

第70项:对可恢复的情况使用受检异常,对编程错误使用运行时异常

第71项:避免不必要地使用受检异常

第72项:优先使用标准的异常

第73项:抛出与抽象对应的异常

第74项:每个方法抛出的所有异常都要建立文档

第75项:在细节消息中包含失败-捕获信息

第76项:努力使失败保持原子性

第77项:不要忽略异常

第十一章 并发

第78项:同步访问共享的可变数据

第79项:避免过度同步

第80项:executor、task和stream优先于线程

第81项:并发工具优先于wait和notify

第82项:线程安全性的文档化

第83项:慎用延迟初始化

第84项:不要依赖于线程调度器

第十二章 序列化

第85项:其他方法优先于Java序列化

第86项:谨慎地实现Serializable接口

第87项:考虑使用自定义的序列化形式

第88项:保护性地编写readObject方法

第89项:对于实例控制,枚举类型优先于readResolve

第90项:考虑用序列化代理代替序列化实例

附录 与第2版中项目的对应关系 参考文献


关注公众号获取同步更新

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73874.html

相关文章

  • 《On Java 8》中文版,又名《Java 编程思想》中文第五版

    摘要:基于版本基于版本。由于中英行文差异,完全的逐字逐句翻译会很冗余啰嗦。译者在翻译中同时参考了谷歌百度有道翻译的译文以及编程思想第四版中文版的部分内容对其翻译死板,生造名词,语言精炼度差问题进行规避和改正。 来源:LingCoder/OnJava8 主译: LingCoder 参译: LortSir 校对:nickChenyx E-mail: 本书原作者为 [美] Bru...

    BingqiChen 评论0 收藏0
  • 每天一本电子书 - Eloquent Javascript, 3rd Edition

    摘要:深入研究语言,向程序员展示如何编写优雅,有效的代码。第三版介绍了版的新功能,例如类符号,箭头函数,迭代器,异步函数,模板字符串和黑色范围。他围绕他的开源项目经营一家小企业。 Eloquent Javascript, 3rd Edition showImg(https://segmentfault.com/img/remote/1460000018029285); 作者: Marijn ...

    lbool 评论0 收藏0
  • Effective Java 第三版 全文翻译

    摘要:本章中的大部分内容适用于构造函数和方法。第项其他方法优先于序列化第项谨慎地实现接口第项考虑使用自定义的序列化形式第项保护性地编写方法第项对于实例控制,枚举类型优先于第项考虑用序列化代理代替序列化实例附录与第版中项目的对应关系参考文献 effective-java-third-edition 介绍 Effective Java 第三版全文翻译,纯属个人业余翻译,不合理的地方,望指正,感激...

    galois 评论0 收藏0
  • Java 高效编程(Effective Java)中文第三版

    摘要:来源前条来源一书英文版已经出版,这本书的第二版想必很多人都读过,号称四大名著之一,不过第二版年出版,到现在已经将近年的时间,但随着,,,甚至的发布,语言发生了深刻的变化。译者在这里第一时间翻译成中文版。供大家学习分享之用。 来源:sjsdfg/effective-java-3rd-chinese前 51 条来源:Effective Java, Third Edition 《Effec...

    ysl_unh 评论0 收藏0
  • 资源大放送

    摘要:这是我收集的一些资源,分享给大家,全部放在百度网盘,有需要的请转存到自己的网盘或者下载,以免网盘链接失效,另外还有几百的视频文件存在网盘,需要的加全部分享在空间,自己可以去下载与权威指南配套源码禅意花园高清源码基础教程权威指南参考手册锋利 这是我收集的一些资源,分享给大家,全部放在百度网盘,有需要的请转存到自己的网盘或者下载,以免网盘链接失效,另外还有几百G的视频文件存在网盘,需要的加...

    lidashuang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<