人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

Effective Java (第3版 英文版)

74.90
运费: ¥ 0.00-20.00
Effective Java (第3版 英文版) 商品图0
Effective Java (第3版 英文版) 商品图1
Effective Java (第3版 英文版) 商品图2
Effective Java (第3版 英文版) 商品图3
Effective Java (第3版 英文版) 商品图4
Effective Java (第3版 英文版) 商品缩略图0 Effective Java (第3版 英文版) 商品缩略图1 Effective Java (第3版 英文版) 商品缩略图2 Effective Java (第3版 英文版) 商品缩略图3 Effective Java (第3版 英文版) 商品缩略图4

商品详情

书名:Effective Java:第3版:英文
定价:99.8
ISBN:9787115628992
作者:约书亚·布洛克(Joshua Bloch)
版次:第1版
出版时间:2024-02

内容提要:
本书是*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等。 本书并非面向Java初学者,而是要求读者有一定的Java编程经验。对于在Java开发方面已经积累一定经验的读者而言,本书可以帮助其更深入地理解Java编程语言,以成为更*、*的Java开发人员。



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

目录:
目录
序言 6
前言 7
第3版前言 7
第 2版前言 7
第 1版前言 8
致谢 9
第3版致谢 9
第 2版致谢 10
第 1版致谢 11
第 1章 引言 13
第 2章 创建和销毁对象 16
条目1:用静态工厂方法代替构造器 16
条目2:当构造器参数较多时考虑使用生成器 19
条目3:利用private构造器或枚举类型实现单件 26
条目4:利用private构造器防止类被实例化 28
条目5:优先考虑通过依赖注入来连接资源 29
条目6:避免创建不*要的对象 31
条目7:*过期的对象引用 34
条目8:避免使用终结方法和清理方法 36
条目9:与try-finally相比,*try-with-resources 41
第3章 所有对象通用的方法 44
条目10:在重写equals方法时要遵守通用约定 44
条目11:重写equals方法时应该总是重写hashCode方法 55
条目12:总是重写toString方法 59
条目13:谨慎重写clone方法 61
条目14:考虑实现Comparable接口 68
第4章 类和接口 74
条目15:*小化类和成员的可访问性 74
条目16:在公开类中,使用访问方法,而不使用public的字段 77
条目17:使可变性*小化 79
条目18:组合优先于继承 85
条目19:要么为继承而设计并提供文档说明;要么*禁止继承 90
条目20:与抽象类相比,优先选择接口 95
条目21:为传诸后世而设计接口 99
条目22:接口仅用于定义类型 101
条目23:优先使用类层次结构而不是标记类 102
条目24:与非静态成员类相比,优先选择静态成员类 105
条目25:限制在一个源文件中放一个顶层类 107
第5章 泛型 109
条目26:不要使用原始类型 110
条目27:*unchecked类型的警告 114
条目28:列表优先于数组 116
条目29:*泛型类型 120
条目30:*泛型方法 124
条目31:使用有限制的通配符增加API的灵活性 128
条目32:谨慎混用泛型和可变参数 133
条目33:考虑类型*的异构容器 137
第6章 枚举和注解 142
条目34:使用enum代替int常量 142
条目35:使用实例字段代替序号 152
条目36:使用EnumSet代替位域 153
条目37:不要以序号作为索引,使用EnumMap代替 154
条目38:使用接口模拟可扩展的枚举 159
条目39:与命名模式相比*注解 162
条目40:始终使用Override注解 169
条目41:使用标记接口来定义类型 171
第7章 Lambda表达式和流 173
条目42:与匿名类相比,优先选择Lambda表达式 173
条目43:与Lambda表达式相比,优先选择方法引用 176
条目44:*标准的函数式接口 178
条目45:审慎地使用流 181
条目46:在流中*没有副作用的函数 187
条目47:作为返回类型时,*集合类而不是流 191
条目48:将流并行化时要谨慎 196
第8章 方法 200
条目49:检查参数的有效性 200
条目50:*要时进行保护性拷贝 203
条目51:仔细设计方法签名 207
条目52:谨慎使用重载 208
条目53:谨慎使用可变参数 214
条目54:返回空的集合或数组,而不是null 215
条目55:谨慎返回Optional 217
条目56:为所有导出的API元素编写文档注释 221
第9章 通用编程 227
条目57:*小化局部变量的作用域 227
条目58:与传统的for循环相比,*for-each循环 230
条目59:了解并使用库 232
条目60:如果需要*的答案,避免使用float和double 235
条目61:*基本类型,而不是其封装类 237
条目62:如果其他类型更适合,*不要使用字符串 239
条目63:注意字符串连接操作的性能 241
条目64:通过接口来引用对象 242
条目65:与反射相比,*接口 244
条目66:谨慎使用本地方法 246
条目67:谨慎进行优化 247
条目68:遵循普遍接受的命名惯例 249
第 10章 异常 253
条目69:异常机制应该仅用于异常的情况 253
条目70:对于可恢复的条件,使用检查型异常;对于编程错误,使用运行时异常 255
条目71:避免不*要地使用检查型异常 256
条目72:优先使用标准异常 258
条目73:抛出适合于当前抽象的异常 260
条目74:将每个方法抛出的所有异常*写在文档中 261
条目75:将故障记录信息包含在详细信息中 263
条目76:努力保持故障的原子性 264
条目77:不要忽略异常 266
第 11章 并发 267
条目78:同步对共享可变数据的访问 267
条目79:避免过度同步 271
条目80:与线程相比,*执行器、任务和流 276
条目81:与wait和notify相比,**并发工具 278
条目82:将线程*性写在文档中 282
条目83:谨慎使用惰性初始化 285
条目84:不要依赖线程调度器 287
第 12章 序列化 290
条目85:优先选择其他序列化替代方案 290
条目86:在实现Serializable接口时要特别谨慎 293
条目87:考虑使用自定义的序列化形式 295
条目88:防御性地编写readObject方法 301
条目89:对于实例受控的类,*枚举类型而不是readResolve 306
条目90:考虑使用序列化代理代替序列化实例 310
附录 与第 2版中条目的对应关系 314
参考文献 317
人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信公众号认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

Effective Java (第3版 英文版)

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:renyoushe
人民邮电出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏