Effective Java

Effective Java pdf epub mobi txt 电子书 下载 2025

出版者:人民邮电出版社
作者:[美] Joshua Bloch
出品人:
页数:346
译者:
出版时间:2009-9
价格:39.00元
装帧:
isbn号码:9787115211316
丛书系列:
图书标签:
  • Java
  • 编程
  • programming
  • 计算机
  • 软件开发
  • 技术
  • java
  • 混口饭吃
  • Effective Java
  • 编程
  • 设计模式
  • Java
  • 面向对象
  • 代码质量
  • 最佳实践
  • 开发
  • 高效
  • 可维护
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书介绍了在java编程中78条经典的、实用性极高的经验规则,这些经验规则可以帮助开发人员来解决每天都有可能面对的大多数问题。书中对java平台设计专家所使用的技术的介绍,揭示了如何事半功倍地的编写清晰、健壮和高效的代码。本书是经典图书effective java的第2版,涵盖了java 5中的重要变化,并删除了一些过时的内容。本书所介绍的每条规则,都以简明易懂的语言来阐释,并通过示例代码进一步加以说明。

本书内容翔实,层次分明,是一本可以帮助技术人员更深层次理解java的参考用书。

作者简介

Joshua Bloch是Google公司的首席Java构架师,也是Jolt图书大奖的获得者。他曾是Sun公司的杰出工程师和Transarc公司的高级系统设计师。Bloch带领着他的优秀团队,设计和实现过无数的Java平台特性,包括JDK5.0语言增强版和获奖的Java Collections Framework。

目录信息

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 overrideequals 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 toreadresolve 308
item 78: consider serialization proxies instead of serialized instances 312
appendix: items corresponding to first edition 317
references 321
index  327
· · · · · · (收起)

读后感

评分

评分

首先声明,这本书的中文翻译大体上还是过得去的,大方向上没问题。 ----------------------------分割线---------------------------- 1. p129 翻译:Java的枚举类型是功能十分齐全的类,功能比其他语言中的对等物要更强大得多,Java的枚举本质上是int值。 原文:Java's enum ...  

评分

很早就读过,当时就知道这本书很好,可惜当时功力尚浅,没什么收获。但近日再读时,确实很有收获,可以说此书虽不是深入骨髓,但也算入木三分。新手勿动!  

评分

1. Java程序员分两种,读过<Effective Java>的和没读过的,严格的来说,没读过的不算是Java程序员。 2. 书组织的不错,很适合在碎片时间看上一两条,然后再慢慢回味; ...  

评分

个人认为这本书和《Thinking in java》一样,并不适合刚入门JAVA的人。它是一本进阶教程,里面的多线程或者设计模式,是需要一定的功力才能够理解作者所举的示例的。每个示例解释得恰到好处,可以作为实际开发的指导原则了吧,若有一些开发经验或者将作者所举的原则应用到实际...  

用户评价

评分

重新看了一遍。比《Practical Java》要深一些,不适合入门者看。语言描述没有后者简洁,有些晦涩,需要仔细认真的阅读。

评分

看到译者有俞黎敏果断看了英文人民邮电版的,不知道为什么网上都没货了

评分

Effective 系列真是入门必备,期待Effective Java 8.(第一遍阅读20170212)

评分

书写的非常好,有条有理论据让人信服,但是不觉得这书需要通篇看第二遍。第四章Classes and Interfaces和第五章Generics是我全书最喜欢的章节,肯定会重看的,非常详细的讲述了java的多态和通用类型的使用,这也算是java的核心思想了,看完对java的设计思想开始有些理解了。总体感觉java是一个很繁琐的语言,特别是它的concurrency这一块,synchronize的使用简直awkward到想哭。不过这书第二版是java 1.5的,不是很记得后面几版这块有没有改进。非常好奇Go作为并发语言是怎样高雅的实现并发的。目前就自己所掌握的来看,akka的并发思想是自己最喜欢的。

评分

读完啦。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有