图书介绍
Effective Java英文版PDF|Epub|txt|kindle电子书版本网盘下载
![Effective Java英文版](https://www.shukui.net/cover/23/34990433.jpg)
- (美)JOSHUABLOCH著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115211316
- 出版时间:2009
- 标注页数:346页
- 文件大小:14MB
- 文件页数:363页
- 主题词:JAVA语言-程序设计-英文
PDF下载
下载说明
Effective Java英文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1 Introduction1
2 Creating and Destroying Objects5
Item 1:Consider static factory methods instead of constructors5
Item 2:Consider a builder when faced with many constructor parameters11
Item 3:Enforce the singleton property with a private constructor or an enum type17
Item 4:Enforce noninstantiability with a private constructor19
Item 5:Avoid creating unnecessary objects20
Item 6:Eliminate obsolete object references24
Item 7:Avoid finalizers27
3 Methods Common to All Objects33
Item 8:Obey the general contract when overriding equals33
Item 9:Always override hashCode when you override equals45
Item 10:Always override toString51
Item 11:Override clone judiciously54
Item 12:Consider implementing Comparable62
4 Classes and Interfaces67
Item 13:Minimize the accessibility of classes and members67
Item 14:In public classes,use accessor methods,not public fields71
Item 15:Minimize mutability73
Item 16:Favor composition over inheritance81
Item 17:Design and document for inheritance or else prohibit it87
Item 18:Prefer interfaces to abstract classes93
Item 19:Use interfaces only to define types98
Item 20:Prefer class hierarchies to tagged classes100
Item 21:Use function objects to represent strategies103
Item 22:Favor static member classes over nonstatic106
5 Generics109
Item 23:Don't use raw types in new code109
Item 24:Eliminate unchecked warnings116
Item 25:Prefer lists to arrays119
Item 26:Favor generic types124
Item 27:Favor generic methods129
Item 28:Use bounded wildcards to increase API flexibility134
Item 29:Consider typesafe heterogeneous containers142
6 Enums and Annotations147
Item 30:Use enums instead of int constants147
Item 31:Use instance fields instead of ordinals158
Item 32:Use EnumSet instead of bit fields159
Item 33:Use EnumMap instead of ordinal indexing161
Item 34:Emulate extensible enums with interfaces165
Item 35:Prefer annotations to naming patterns169
Item 36:Consistently use the Override annotation176
Item 37:Use marker interfaces to define types179
7 Methods181
Item 38:Check parameters for validity181
Item 39:Make defensive copies when needed184
Item 40:Design method signatures carefully189
Item 41:Use overloading judiciously191
Item 42:Use varargs judiciously197
Item 43:Return empty arrays or collections,not nulls201
Item 44:Write doc comments for all exposed API elements203
8 General Programming209
Item 45:Minimize the scope of local variables209
Item 46:Prefer for-each loops to traditional for loops212
Item 47:Know and use the libraries215
Item 48:Avoid float and double if exact answers are required218
Item 49:Prefer primitive types to boxed primitives221
Item 50:Avoid strings where other types are more appropriate224
Item 51:Beware the performance of string concatenation227
Item 52:Refer to objects by their interfaces228
Item 53:Prefer interfaces to reflection230
Item 54:Use native methods judiciously233
Item 55:Optimize judiciously234
Item 56:Adhere to generally accepted naming conventions237
9 Exceptions241
Item 57:Use exceptions only for exceptional conditions241
Item 58:Use checked exceptions for recoverable conditions and runtime exceptions for programming errors244
Item 59:Avoid unnecessary use of checked exceptions246
Item 60:Favor the use of standard exceptions248
Item 61:Throw exceptions appropriate to the abstraction250
Item 62:Document all exceptions thrown by each method252
Item 63:Include failure-capture information in detail messages254
Item 64:Strive for failure atomicity256
Item 65:Don't ignore exceptions258
10 Concurrency259
Item 66:Synchronize access to shared mutable data259
Item 67:Avoid excessive synchronization265
Item 68:Prefer executors and tasks to threads271
Item 69:Prefer concurrency utilities to wait and notify273
Item 70:Document thread safety278
Item 71:Use lazy initialization judiciously282
Item 72:Don't depend on the thread scheduler286
Item 73:Avoid thread groups288
11 Serialization289
Item 74:Implement Serializable judiciously289
Item 75:Consider using a custom serialized form295
Item 76:Write readObject methods defensively302
Item 77:For instance control,prefer enum types to readResolve308
Item 78:Consider serialization proxies instead of serialized instances312
Appendix:Items Corresponding to First Edition317
References321
Index327