热门搜索: 中考 高考 考试 开卷17
服务电话 024-23945002/96192
 

Effective Java中文版(原书第3版)(赠品版)

编号:
wx1203425326
销售价:
¥85.83
(市场价: ¥99.80)
赠送积分:
86
数量:
   
商品介绍

1.Java之父James Gosling鼎力推荐,Jolt获奖作品全新升级,与《Java编程思想》和《Java核心技术》(Core Java)齐名,针对Java 7、8、9全面更新,Java程序员必备参考书。
2.本书大部分内容都不是讨论性能的,而是关心如何编写出清晰、正确、可用、健壮、灵活和可维护的程序。包含大量完整的示例代码和透彻的技术分析,通过90条经验法则,探索新的设计模式和语言习惯用法,帮助读者更加有效地使用Java编程语言及其基本类库。
3.附赠额外的项目源码和文档,以及对应的视频讲解。

自Java 6发布后不久,本书第2版出版。此后Java又发生了巨大的变化。这本Jolt获奖作品现在已经更新至Java7、8和9,以充分运用最新的Java编程语言及其库特性。目前的Java编程语言支持多种泛型类型,这使得Java程序员对具体的最佳实践的需求大大增加,本书也正是为此而生的。

与之前的版本一样,本书的每章由多个“条目”组成,每个条目都以独立短文的形式呈现,提供具体建议,展示Java平台的细节和更新后的代码范例。每个条目的全面描述和解释都阐明了要做什么,不要做什么以及为什么要这样做。

本书内容涵盖了Java7、8和9中新增的语言和库特性,包括在其面向对象根部添加的函数式编程构造。本书还新增了许多条目,其中包括一个专门讲解Lambda表达式和流的章节。

约书亚·布洛克(Joshua Bloch)是美国卡内基-梅隆大学教授,曾是Google公司首席Java架构师、Sun公司杰出工程师和Transarc公司高级系统设计师。他带领团队设计和实现过无数的Java平台特性,包括JDK 5.0语言增强版和获奖的Java Collections Framework。他拥有哥伦比亚大学的计算机科学学士学位和卡内基-梅隆大学的计算机科学博士学位。他的作品还包括Java Puzzlers和《Java并发编程实战》(Java Concurrency in Practice,曾获Jolt大奖提名)等。

第1章引言1

第2章创建和销毁对象4

条目1:用静态工厂方法代替构造器4

条目2:当构造器参数较多时考虑使用生成器7

条目3:利用私有构造器或枚举类型强化Singleton属性13

条目4:利用私有构造器防止类被实例化14

条目5:优先考虑通过依赖注入来连接资源15

条目6:避免创建不必要的对象17

条目7:清除过期的对象引用19

条目8:避免使用终结方法和清理方法21

条目9:与try-finally相比,首选try-with-resources25

第3章对所有对象都通用的方法28

条目10:在重写equals方法时要遵守通用约定28

条目11:重写equals方法时应该总是重写hashCode方法37

条目12:总是重写toString方法41

条目13:谨慎重写clone方法43

条目14:考虑实现Comparable接口49

第4章类和接口54

条目15:最小化类和成员的可访问性54

条目16:在公有类中,使用访问器方法,而不使用公有的字段57

条目17:使可变性最小化58

条目18:组合优先于继承63

条目19:要么为继承而设计并提供文档说明,要么就禁止继承68

条目20:与抽象类相比,优先选择接口72

条目21:为传诸后世而设计接口75

条目22:接口仅用于定义类型77

条目23:优先使用类层次结构而不是标记类78

条目24:与非静态成员类相比,优先选择静态成员类81

条目25:将源文件限制为单个顶层类83

第5章泛型85

条目26:不要使用原始类型85

条目27:消除unchecked类型的警告89

条目28:列表优先于数组91

条目29:首选泛型类型94

条目30:首选泛型方法98

条目31:使用有限制的通配符增加API的灵活性100

条目32:谨慎混用泛型和可变参数105

条目33:考虑类型安全的异构容器108

第6章枚举和注解113

条目34:使用enum代替int常量113

条目35:使用实例字段代替序号121

条目36:使用EnumSet代替位域122

条目37:不要以序号作为索引,使用EnumMap代替123

条目38:使用接口模拟可扩展的枚举127

条目39:与命名模式相比首选注解130

条目40:始终使用Override注解136

条目41:使用标记接口来定义类型138

第7章Lambda表达式和流140

条目42:与匿名类相比,优先选择Lambda表达式140

条目43:与Lambda表达式相比,优先选择方法引用143

条目44:首选标准的函数式接口144

条目45:谨慎使用流147

条目46:在流中首选没有副作用的函数152

条目47:作为返回类型时,首选Collection而不是Stream156

条目48:将流并行化时要谨慎160

第8章方法163

条目49:检查参数的有效性163

条目50:必要时进行保护性复制165

条目51:仔细设计方法签名168

条目52:谨慎使用重载170

条目53:谨慎使用可变参数174

条目54:返回空的集合或数组,而不是null176

条目55:谨慎返回Optional177

条目56:为所有导出的API元素编写文档注释181

第9章通用编程186

条目57:最小化局部变量的作用域186

条目58:与传统的for循环相比,首选for-each循环188

条目59:了解并使用类库190

条目60:如果需要精确的答案,避免使用float和double192

条目61:首选基本类型,而不是其封装类194

条目62:如果其他类型更适合,就不要使用字符串196

条目63:注意字符串拼接操作的性能198

条目64:通过接口来引用对象198

条目65:与反射相比,首选接口200

条目66:谨慎使用本地方法202

条目67:谨慎进行优化203

条目68:遵循普遍接受的命名惯例205

第10章异常208

条目69:异常机制应该仅用于异常的情况208

条目70:对于可恢复的条件,使用检查型

异常;对于编程错误,使用运行时异常210

条目71:避免不必要地使用检查型异常211

条目72:优先使用标准异常212

条目73:抛出适合于当前抽象的异常214

条目74:将每个方法抛出的所有异常都写在文档中215

条目75:将故障记录信息包含在详细信息中216

条目76:努力保持故障的原子性218

条目77:不要忽略异常219

第11章并发220

条目78:同步对共享可变数据的访问220

条目79:避免过度同步223

条目80:与线程相比,首选执行器、任务和流228

条目81:与wait和notify相比,首选高级并发工具229

条目82:将线程安全性写在文档中233

条目83:谨慎使用延迟初始化235

条目84:不要依赖线程调度器237

第12章序列化239

条目85:优先选择其他序列化替代方案239

条目86:在实现Serializable接口时要特别谨慎241

条目87:考虑使用自定义的序列化形式243

条目88:保护性地编写readObject方法248

条目89:对于实例受控的类,首选枚举类型而不是readResolve253

条目90:考虑使用序列化代理代替序列化实例256

附录与第2版中条目的对应关系259

参考文献262

商品参数
基本信息
出版社 人民邮电出版社
ISBN 104174339
条码 104174339
编者 (美)约书亚·布洛克(Joshua Bloch) 著 臧秀涛 译
译者
出版年月 2024-03-01 00:00:00.0
开本 16开
装帧 平装
页数 284
字数 417000
版次 1
印次 4
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]