网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 EFFECTIVEJAVA中文版(原书第3版)(赠品版)
分类 教育考试-考试-计算机类
作者 [美]约书亚·布洛克(JoshuaBloch)
出版社 人民邮电出版社
下载
简介
编辑推荐
1.Java之父James Gosling鼎力推荐,Jolt获奖作品全新升级,与《Java编程思想》和《Java核心技术》(Core Java)齐名,针对Java 7、8、9全面更新,Java程序员推荐参考书。
2.本书大部分内容都不是讨论性能的,而是关心如何编写出清晰、正确、可用、健壮、灵活和可维护的程序。包含大量完整的示例代码和透彻的技术分析,通过90条经验法则,探索新的设计模式和语言习惯用法,帮助读者更加有效地使用Java编程语言及其基本类库。
3.附赠额外的项目源码和文档,以及对应的视频讲解。
内容推荐
本书是Jolt获奖作品Effective Java的第3版,对上一版进行了全面更新,涵盖了从Java 5到Java 9的种种特性,是Java开发人员不可缺少的一本参考书。
本书分为12章,包含90个条目,形式简洁。每个条目中都讲述了对Java的独到见解,阐明了如何编写高效、优雅的程序,并且提供了清晰、易懂的示例代码。与上一版相比,本书增加了Lambda表达式、流、Optional类、接口默认方法、try-with-resources、@SafeVarargs注解、模块等Java 7及以后所引入的新特性。本书介绍了如何充分利用泛型、枚举、注解、自动装箱、for-each循环、可变参数、并发机制等各种特性,帮助读者更加有效地使用Java编程语言及其基本类库(java.lang、java.util和java.io,以及子包,如java.util.concurrent和java.util.function等)。
目录
第 1章 引言\t1
第 2章 创建和销毁对象\t4
条目1:用静态工厂方法代替构造器\t4
条目2:当构造器参数较多时考虑使用
生成器\t7
条目3:利用私有构造器或枚举类型强化
Singleton属性\t13
条目4:利用私有构造器防止类被实例化\t14
条目5:优先考虑通过依赖注入来连接
资源\t15
条目6:避免创建不必要的对象\t17
条目7:清除过期的对象引用\t19
条目8:避免使用终结方法和清理方法\t21
条目9:与try-finally相比,优选
try-with-resources\t25
第3章 对所有对象都通用的方法\t28
条目10:在重写equals方法时要遵守通用
约定\t28
条目11:重写equals方法时应该总是重写
hashCode方法\t37
条目12:总是重写toString方法\t41
条目13:谨慎重写clone方法\t43
条目14:考虑实现Comparable接口\t49
第4章 类和接口\t54
条目15:最小化类和成员的可访问性\t54
条目16:在公有类中,使用访问器方法,
而不使用公有的字段\t57
条目17:使可变性最小化\t58
条目18:组合优先于继承\t63
条目19:要么为继承而设计并提供文档
说明,要么就禁止继承\t68
条目20:与抽象类相比,优先选择接口\t72
条目21:为传诸后世而设计接口\t75
条目22:接口仅用于定义类型\t77
条目23:优先使用类层次结构而不是
标记类\t78
条目24:与非静态成员类相比,优先选择
静态成员类\t81
条目25:将源文件为单个顶层类\t83
第5章 泛型\t85
条目26:不要使用原始类型\t85
条目27:消除unchecked类型的警告\t89
条目28:列表优先于数组\t91
条目29:优选泛型类型\t94
条目30:优选泛型方法\t98
条目31:使用有的通配符增加API的
灵活性\t100
条目32:谨慎混用泛型和可变参数\t105
条目33:考虑类型安全的异构容器\t108
第6章 枚举和注解\t113
条目34:使用enum代替int常量\t113
条目35:使用实例字段代替序号\t121
条目36:使用EnumSet代替位域\t122
条目37:不要以序号作为索引,使用
EnumMap代替\t123
条目38:使用接口模拟可扩展的枚举\t127
条目39:与命名模式相比优选注解\t130
条目40:始终使用Override注解\t136
条目41:使用标记接口来定义类型\t138
第7章 Lambda表达式和流\t140
条目42:与匿名类相比,优先选择Lambda
表达式\t140
条目43:与Lambda表达式相比,优先选择
方法引用\t143
条目44:优选标准的函数式接口\t144
条目45:谨慎使用流\t147
条目46:在流中优选没有副作用的
函数\t152
条目47:作为返回类型时,优选Collection
而不是Stream\t156
条目48:将流并行化时要谨慎\t160
第8章 方法\t163
条目49:检查参数的有效性\t163
条目50:必要时进行保护性复制\t165
条目51:仔细设计方法签名\t168
条目52:谨慎使用重载\t170
条目53:谨慎使用可变参数\t174
条目54:返回空的集合或数组,而不是
null\t176
条目55:谨慎返回Optional\t177
条目56:为所有导出的API元素编写文档
注释\t181
第9章 通用编程\t186
条目57:最小化局部变量的作用域\t186
条目58:与传统的for循环相比,优选
for-each循环\t188
条目59:了解并使用类库\t190
条目60:如果需要准确的答案,避免使用
float和double\t192
条目61:优选基本类型,而不是其
封装类\t194
条目62:如果其他类型更适合,就不要使用
字符串\t196
条目63:注意字符串拼接操作的性能\t198
条目64:通过接口来引用对象\t198
条目65:与反射相比,优选接口\t200
条目66:谨慎使用本地方法\t202
条目67:谨慎进行优化\t203
条目68:遵循普遍接受的命名惯例\t205
第 10章 异常\t208
条目69:异常机制应该仅用于异常的
情况\t208
条目70:对于可恢复的条件,使用检查型
异常;对于编程错误,使用运行时
异常\t210
条目71:避免不必要地使用检查型
异常\t211
条目72:优先使用标准异常\t212
条目73:抛出适合于当前抽象的异常\t214
条目74:将每个方法抛出的所有异常都写在
文档中\t215
条目75:将故障记录信息包含在详细
信息中\t216
条目76:努力保持故障的原子性\t218
条目77:不要忽略异常\t219
第 11章 并发\t220
条目78:同步对共享可变数据的访问\t220
条目79:避免过度同步\t223
条目80:与线程相比,优选执行器、
任务和流\t228
条目81:与wait和notify相比,优选
高级并发工具\t229
条目82:将线程安全性写在文档中\t233
条目83:谨慎使用延迟初始化\t235
条目84:不要依赖线程调度器\t237
第 12章 序列化\t239
条目85:优先选择其他序列化替代方案\t239
条目86:在实现Serializable接口时要
特别谨慎\t241
条目87:考虑使用自定义的序列化形式\t243
条目88:保护性地编写readObject
方法\t248
条目89:对于实例受控的类,优选枚举类型
而不是readResolve\t253
条目90:考虑使用序列化代理代替序列化
实例\t256
附录 与第 2版中条目的对应关系\t259
参考文献\t262
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/4/6 20:39:56