作者:
Joshua Bloch
出版社: 机械工业出版社
原作名: Effective Java Second Edition
译者: 俞黎敏
出版年: 2009-1-1
页数: 287
定价: 52.00元
装帧: 平装
丛书: Sun公司核心技术丛书
ISBN: 9787111255833
出版社: 机械工业出版社
原作名: Effective Java Second Edition
译者: 俞黎敏
出版年: 2009-1-1
页数: 287
定价: 52.00元
装帧: 平装
丛书: Sun公司核心技术丛书
ISBN: 9787111255833
内容简介 · · · · · ·
本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。
作者简介 · · · · · ·
Joshua Bloch是Google公司的首席Java架构师。是Jolt大奖的获得者。他曾是Sun公司的杰出工程师,和Transarc公司的高级系统设计师。Bloch曾带领团队设计和实现过无数的Java平台特性,包括JDK 5.0语言增强版和获奖的Java Collections Framework。他的著作还包括:《Java Puzzlers》、《Java Concurrency in Practive》等。
目录 · · · · · ·
译者序
序
前言
致谢
第1章 引言
第2章 创建和销毁对象
第1条:考虑用静态工厂方法代替构造器
第2条:遇到多个构造器参数时要考虑用构建器
第3条:用私有构造器或者枚举类型强化Singleton属性
第4条:通过私有构造器强化不可实例化的能力
第5条:避免创建不必要的对象
第6条:消除过期的对象引用
第7条:避免使用终结方法
第3章 对于所有对象都通用的方法
第8条:覆盖equals时请遵守通用约定
第9条:覆盖equals时总要覆盖hashCode
第10条:始终要覆盖toString
第11条:谨慎地覆盖clone
第12条:考虑实现Comparable接口
第4章 类和接口
第13条:使类和成员的可访问性最小化
第14条:在公有类中使用访问方法而非公有域
第15条:使可变性最小化
第16条:复合优先于继承
第17条:要么为继承而设计,并提供文档说明,要么就禁止继承
第18条:接口优于抽象类
第19条:接口只用于定义类型
第20条:类层次优于标签类
第21条:用函数对象表示策略
第22条:优先考虑静态成员类
第5章 泛型
第23条:请不要在新代码中使用原生态类型
第24条:消除非受检警告
第25条:列表优先于数组
第26条:优先考虑泛型
第27条:优先考虑泛型方法
第28条:利用有限制通配符来提升API的灵活性
第29条:优先考虑类型安全的异构容器
第6章 枚举和注解
第30条:用enum代替int常量
第31条:用实例域代替序数
第32条:用EnumSet代替位域
第33条:用EnumMap代替序数索引
第34条:用接口模拟可伸缩的枚举
第35条:注解优先于命名模式
第36条:坚持使用Override注解
第37条:用标记接口定义类型
第7章 方法
第38条:检查参数的有效性
第39条:必要时进行保护性拷贝
第40条:谨慎设计方法签名
第41条:慎用重载
第42条:慎用可变参数
第43条:返回零长度的数组或者集合,而不是:null
第44条:为所有导出的API元素编写文档注释
第8章 通用程序设计
第45条:将局部变量的作用域最小化
第46条:for-each循环优先于传统的for循环
第47条:了解和使用类库
第48条:如果需要精确的答案,请避免使用float和double
第49条:基本类型优先于装箱基本类型
第50条:如果其他类型更适合,则尽量避免使用字符串
第51条:当心字符串连接的性能
第52条:通过接口引用对象
第53条:接口优先于反射机制
第54条:谨慎地使用本地方法
第55条:谨慎地进行优化
第56条:遵守普遍接受的命名惯例
第9章 异常
第57条:只针对异常的情况才使用异常
第58条:对可恢复的情况使用受检异常,对编程错误使用运行时异常
第59条:避免不必要地使用受检的异常
第60条:优先使用标准的异常
第61条:抛出与抽象相对应的异常
第62条:每个方法抛出的异常都要有文档
第63条:在细节消息中包含能捕获失败的信息
第64条:努力使失败保持原子性
第65条:不要忽略异常
第10章 并发
第66条:同步访问共享的可变数据
第67条:避免过度同步
第68条:executor和task优先干线程
第69条:并发工具优先于wait和notify
第70条:线程安全性的文档化
第71条:慎用延迟初始化
第72条:不要依赖于线程调度器
第73条:避免使用线程组
第11章 序列化
第74条:谨慎地实现Serializable接口
第75条:考虑使用自定义的序列化形式
第76条:保护性地编写readObject方法
第77条:对于实例控制,枚举类型优先于readResolve
第78条:考虑用序列化代理代替序列化实例
附录 第1版与第2版条目对照
中英文术语对照
参考文献
· · · · · · (收起)
序
前言
致谢
第1章 引言
第2章 创建和销毁对象
第1条:考虑用静态工厂方法代替构造器
第2条:遇到多个构造器参数时要考虑用构建器
第3条:用私有构造器或者枚举类型强化Singleton属性
第4条:通过私有构造器强化不可实例化的能力
第5条:避免创建不必要的对象
第6条:消除过期的对象引用
第7条:避免使用终结方法
第3章 对于所有对象都通用的方法
第8条:覆盖equals时请遵守通用约定
第9条:覆盖equals时总要覆盖hashCode
第10条:始终要覆盖toString
第11条:谨慎地覆盖clone
第12条:考虑实现Comparable接口
第4章 类和接口
第13条:使类和成员的可访问性最小化
第14条:在公有类中使用访问方法而非公有域
第15条:使可变性最小化
第16条:复合优先于继承
第17条:要么为继承而设计,并提供文档说明,要么就禁止继承
第18条:接口优于抽象类
第19条:接口只用于定义类型
第20条:类层次优于标签类
第21条:用函数对象表示策略
第22条:优先考虑静态成员类
第5章 泛型
第23条:请不要在新代码中使用原生态类型
第24条:消除非受检警告
第25条:列表优先于数组
第26条:优先考虑泛型
第27条:优先考虑泛型方法
第28条:利用有限制通配符来提升API的灵活性
第29条:优先考虑类型安全的异构容器
第6章 枚举和注解
第30条:用enum代替int常量
第31条:用实例域代替序数
第32条:用EnumSet代替位域
第33条:用EnumMap代替序数索引
第34条:用接口模拟可伸缩的枚举
第35条:注解优先于命名模式
第36条:坚持使用Override注解
第37条:用标记接口定义类型
第7章 方法
第38条:检查参数的有效性
第39条:必要时进行保护性拷贝
第40条:谨慎设计方法签名
第41条:慎用重载
第42条:慎用可变参数
第43条:返回零长度的数组或者集合,而不是:null
第44条:为所有导出的API元素编写文档注释
第8章 通用程序设计
第45条:将局部变量的作用域最小化
第46条:for-each循环优先于传统的for循环
第47条:了解和使用类库
第48条:如果需要精确的答案,请避免使用float和double
第49条:基本类型优先于装箱基本类型
第50条:如果其他类型更适合,则尽量避免使用字符串
第51条:当心字符串连接的性能
第52条:通过接口引用对象
第53条:接口优先于反射机制
第54条:谨慎地使用本地方法
第55条:谨慎地进行优化
第56条:遵守普遍接受的命名惯例
第9章 异常
第57条:只针对异常的情况才使用异常
第58条:对可恢复的情况使用受检异常,对编程错误使用运行时异常
第59条:避免不必要地使用受检的异常
第60条:优先使用标准的异常
第61条:抛出与抽象相对应的异常
第62条:每个方法抛出的异常都要有文档
第63条:在细节消息中包含能捕获失败的信息
第64条:努力使失败保持原子性
第65条:不要忽略异常
第10章 并发
第66条:同步访问共享的可变数据
第67条:避免过度同步
第68条:executor和task优先干线程
第69条:并发工具优先于wait和notify
第70条:线程安全性的文档化
第71条:慎用延迟初始化
第72条:不要依赖于线程调度器
第73条:避免使用线程组
第11章 序列化
第74条:谨慎地实现Serializable接口
第75条:考虑使用自定义的序列化形式
第76条:保护性地编写readObject方法
第77条:对于实例控制,枚举类型优先于readResolve
第78条:考虑用序列化代理代替序列化实例
附录 第1版与第2版条目对照
中英文术语对照
参考文献
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
Item 57: Use exceptions only for exceptional conditions Item 58: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors Item 59: Avoid unnecessary use of checked exceptions Item 60: Favor the use of standard exceptions Item 61: Throw exceptions appropriate to the abstraction Item 62: Document all exceptions thrown by each method Item 63: Include failure-capture information in detail messages Item 64: Strive for failure atomicity Item 65: Don’t ignore exceptions (查看原文) —— 引自第241页 -
Errors are reserved for use by the JVM to indicate resource defi-ciencies, invariant failures, or other conditions that make it impossible to continue execution (查看原文) —— 引自第241页
> 全部原文摘录
丛书信息
· · · · · ·
Sun公司核心技术丛书(共38册),
这套丛书还有
《JAVA2核心技术,卷II》《J2EE平台上的EJB组件开发》《Java EE 5权威指南-(原书第3版)(附光盘)》《Java2核心技术<卷Ⅰ>基础知识(第6版)》《Solaris 9技术大全》
等
。
喜欢读"Effective java 中文版(第2版)"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"Effective java 中文版(第2版)"的人也喜欢 · · · · · ·
Effective java 中文版(第2版)的书评 · · · · · · ( 全部 50 条 )


看书前不建议直接看评论
对于一本好书的评判是由自己决定的。在没看书之前就先看别人怎么议论这本书,你心里就会产生偏差。特别是你买了之后,回过头来看评论,看到那些差评,你是否会产生芥蒂。那这本书看还是不看。 对这本书的翻译问题大多数都是吐槽的。但是只限于吐槽,让别人心生厌恶罢了。如果真...
(展开)
> 更多书评 50篇
论坛 · · · · · ·
java100套毕设 链接:https://pan.baidu.com/s/1R9... | 来自冰雨 | 2018-10-24 14:35:56 | |
Effective Java Second Edition中文版勘误列表专用贴 | 来自YuLimin | 2 回应 | 2016-02-08 14:24:02 |
极品 | 来自半兽人 | 2010-11-03 09:43:57 | |
即使看过第一版也值得再看第二版 | 来自我有分寸 | 2010-10-25 22:31:15 | |
如何写出符合Java特性的代码?如何写出符合英语特... | 来自Bourne | 1 回应 | 2010-08-23 00:25:10 |
> 浏览更多话题
这本书的其他版本 · · · · · · ( 全部13 )
-
Addison-Wesley (2008)9.3分 282人读过
-
机械工业出版社 (2003)8.9分 1093人读过
-
机械工业出版社 (2018)8.9分 327人读过
-
Addison-Wesley Professional (2018)9.6分 170人读过
以下书单推荐 · · · · · · ( 全部 )
- 千评9分书 (Sheryl)
- 豆瓣评分>9的计算机图书 (whg)
- 闲着没事读读书(四) (鹿小羽)
- Java修炼之道 (威廉他)
- 交互设计师养成书单 (LimboMinaïss)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Effective java 中文版(第2版)的评论:
feed: rss 2.0
2 有用 corpsefire 2009-05-18 16:22:50
翻译错误很多
0 有用 丸子(^.^)v 2016-06-24 12:43:17
为了面试 也是豁出去了 @@
28 有用 机动美少年高興 2014-05-31 11:28:35
能把 pop 和 push 搞反、把 生产者 和 消费者 搞反,这已经不是翻译质量的问题了好伐,这是根本就没有用心。原作赛高,中文版 sucks!
18 有用 ring 2015-04-16 17:45:12
败给翻译了,完全看不下去
1 有用 吃西瓜放糖 2010-12-16 14:01:10
学java必看。通过这本书也知道java有很多缺陷,不要只限于一门编程语言,多接触其他语言。
0 有用 黄浦Brahms 2022-12-28 21:50:59 上海
比较深
0 有用 只喝可乐的猫 2022-10-16 14:19:48 广东
圖書質量較差。內容可以!
0 有用 shakespace 2022-10-07 23:43:10 上海
从没看过这么可怕的译文版……译者的语文水平真的很差…… 生产者消费者都搞反,与示例代码矛盾都没校对出来…… 把flexible翻译成可伸缩也是挺高级,又不是在讲UI布局…… 建议看原版或者网上的中英对照版。
0 有用 or 1=1 2022-07-16 16:15:34
很早之前读过,看标记是 15 年标记的,不过当年才刚入门,很多书都比较囫囵吞枣,这本书当时读的也比较吃力,毕竟其实很多都是工程方面的最佳实践,没有真正去参与大型工程项目,只是自己小打小闹的话,对于真正理解这本书的一些实践,还是比较困难的。
0 有用 y.chou 2022-07-01 00:35:59
适合工作两三年的同学阅读。