Effective Java英文版PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:(美)JOSHUABLOCH著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2009
- ISBN:9787115211316
- 页数:346 页
1 Introduction 1
2 Creating and Destroying Objects 5
Item 1:Consider static factory methods instead of constructors 5
Item 2:Consider a builder when faced with many constructor parameters 11
Item 3:Enforce the singleton property with a private constructor or an enum type 17
Item 4:Enforce noninstantiability with a private constructor 19
Item 5:Avoid creating unnecessary objects 20
Item 6:Eliminate obsolete object references 24
Item 7:Avoid finalizers 27
3 Methods Common to All Objects 33
Item 8:Obey the general contract when overriding equals 33
Item 9:Always override hashCode when you override equals 45
Item 10:Always override toString 51
Item 11:Override clone judiciously 54
Item 12:Consider implementing Comparable 62
4 Classes and Interfaces 67
Item 13:Minimize the accessibility of classes and members 67
Item 14:In public classes,use accessor methods,not public fields 71
Item 15:Minimize mutability 73
Item 16:Favor composition over inheritance 81
Item 17:Design and document for inheritance or else prohibit it 87
Item 18:Prefer interfaces to abstract classes 93
Item 19:Use interfaces only to define types 98
Item 20:Prefer class hierarchies to tagged classes 100
Item 21:Use function objects to represent strategies 103
Item 22:Favor static member classes over nonstatic 106
5 Generics 109
Item 23:Don't use raw types in new code 109
Item 24:Eliminate unchecked warnings 116
Item 25:Prefer lists to arrays 119
Item 26:Favor generic types 124
Item 27:Favor generic methods 129
Item 28:Use bounded wildcards to increase API flexibility 134
Item 29:Consider typesafe heterogeneous containers 142
6 Enums and Annotations 147
Item 30:Use enums instead of int constants 147
Item 31:Use instance fields instead of ordinals 158
Item 32:Use EnumSet instead of bit fields 159
Item 33:Use EnumMap instead of ordinal indexing 161
Item 34:Emulate extensible enums with interfaces 165
Item 35:Prefer annotations to naming patterns 169
Item 36:Consistently use the Override annotation 176
Item 37:Use marker interfaces to define types 179
7 Methods 181
Item 38:Check parameters for validity 181
Item 39:Make defensive copies when needed 184
Item 40:Design method signatures carefully 189
Item 41:Use overloading judiciously 191
Item 42:Use varargs judiciously 197
Item 43:Return empty arrays or collections,not nulls 201
Item 44:Write doc comments for all exposed API elements 203
8 General Programming 209
Item 45:Minimize the scope of local variables 209
Item 46:Prefer for-each loops to traditional for loops 212
Item 47:Know and use the libraries 215
Item 48:Avoid float and double if exact answers are required 218
Item 49:Prefer primitive types to boxed primitives 221
Item 50:Avoid strings where other types are more appropriate 224
Item 51:Beware the performance of string concatenation 227
Item 52:Refer to objects by their interfaces 228
Item 53:Prefer interfaces to reflection 230
Item 54:Use native methods judiciously 233
Item 55:Optimize judiciously 234
Item 56:Adhere to generally accepted naming conventions 237
9 Exceptions 241
Item 57:Use exceptions only for exceptional conditions 241
Item 58:Use checked exceptions for recoverable conditions and runtime exceptions for programming errors 244
Item 59:Avoid unnecessary use of checked exceptions 246
Item 60:Favor the use of standard exceptions 248
Item 61:Throw exceptions appropriate to the abstraction 250
Item 62:Document all exceptions thrown by each method 252
Item 63:Include failure-capture information in detail messages 254
Item 64:Strive for failure atomicity 256
Item 65:Don't ignore exceptions 258
10 Concurrency 259
Item 66:Synchronize access to shared mutable data 259
Item 67:Avoid excessive synchronization 265
Item 68:Prefer executors and tasks to threads 271
Item 69:Prefer concurrency utilities to wait and notify 273
Item 70:Document thread safety 278
Item 71:Use lazy initialization judiciously 282
Item 72:Don't depend on the thread scheduler 286
Item 73:Avoid thread groups 288
11 Serialization 289
Item 74:Implement Serializable judiciously 289
Item 75:Consider using a custom serialized form 295
Item 76:Write readObject methods defensively 302
Item 77:For instance control,prefer enum types to readResolve 308
Item 78:Consider serialization proxies instead of serialized instances 312
Appendix:Items Corresponding to First Edition 317
References 321
Index 327
- 《卓有成效的管理者 中英文双语版》(美)彼得·德鲁克许是祥译;那国毅审校 2019
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《跟孩子一起看图学英文》张紫颖著 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《复分析 英文版》(中国)李娜,马立新 2019
- 《张世祥小提琴启蒙教程 中英文双语版》张世祥编著 2017
- 《生物化学 本科临床 英文版》张晓伟 2018
- 《理想国 全英文原版》(古希腊)柏拉图著 2017
- 《Dreamweaver CC 2018标准实例教程 中文版》杨雪静,胡仁喜编著 2019
- 《Flash CC动画制作实用教程 中文版》麓山文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019