第69期:《Effective Java 中文版(原书第 3 版)》

第69期:《Effective Java 中文版(原书第 3 版)》-SpringForAll社区
第69期:《Effective Java 中文版(原书第 3 版)》
此内容为付费阅读,请付费后查看
40积分
付费阅读
Java 程序员们开年就有重磅好消息,《Effective Java 中文版(原书第 3 版)》要上市啦!
该书的第1版出版于 2001 年,当时就在业界流传开来,受到广泛赞誉。时至今日,已热销近20年,本书第 3 版已是 Java 程序员的必读神书,被誉为“Java 四大名著之一”,甚至连 Java 之父高司令(James Gosling) 都说:如果说我需要一本 Java 编程的书,那就是它了
在豆瓣平台上,原书第 3 版获得了高达 9.7 的评分,读者们纷纷表达了对这本书的敬意。有读者留言说“Java 程序员分两种,读过《Effective Java》的和没读过的,严格来说,没读过的不算是Java程序员。”

d2b5ca33bd20240329124500

d2b5ca33bd20240329124512

d2b5ca33bd20240329124521

为了帮助更多国内程序员学习这部神作,在经过精心翻译校对之后,《Effective Java 中文版(原书第 3 版)》保持了原著的高水准,将带领 Java 程序员展开经典之旅。

d2b5ca33bd20240329124532

 

 

市面上学习 Java 的书汗牛充栋,Java 技术也在不断发展变化,为什么这本神作却能畅销20多年?

01

Jolt 大奖神作

《Effective Java》在 2001 年就一举夺得当年度的 Jolt 大奖,这项“软件业界的奥斯卡奖”就是对这本书的价值,以及对作者 Joshua Bloch 超强技术功力的最好肯定。
本书结构独具匠心,一个关键知识点就是一条单独条目,在有些条目内也会交叉引用其他条目的知识,从而缀点成线,形成知识的网络。从第 1 版的 57 个条目扩展到第 2 版的 78 个条目,直至第 3 版达到了 90 条。
这些条目是作者总结出来的特定规则,并精心编写了代码示例,是为了帮助程序员改进程序和设计。所以对于有一些 Java 编程经验,却又不知如何提升代码水准的读者来说,这本书是 Java 编程的最佳实践指导
相比之前的版本,这一版增加了 Lambda 表达式、流、Optional 类、接口默认方法、try-with-resources、@SafeVarargs 注解、模块等 Java 7 及后续版本所引入的新特性。本书所涉及的特性都可以应用在目前国内主流 Java 环境中。
本书作者 Joshua Bloch 大神,2001 年度 Jolt 大奖得主,美国卡内基-梅隆大学(Carnegie Mellon University,CMU)教授,曾担任Google公司首席 Java 架构师、Sun 公司杰出工程师和 Transarc 公司高级系统设计师。

d2b5ca33bd20240329124619

 

Bloch 大神主导了 Java 平台多项特性的设计和实现,包括 JDK 5.0 语言增强版,以及通用容器 Java Collections Framework(JCF)。可以说,在 Java 语言的标准实现中,处处闪耀着 Bloch 大神的智慧。
得益于先后在 Sun 和 Google的工作经历,Bloch 大神既熟知 Java 的内部实现,又能从用户的角度来思考 Java 编程实践,无形中他成为跨越编程工具和实际应用的一座桥梁,《Effective Java》的横空出世也就是水到渠成之事。

d2b5ca33bd20240329124629

 

本书译者也是一名优秀的技术人,臧秀涛具有多年研发经验,曾先后在完美世界等公司从事软件开发工作。2014年开始从事技术内容方面的工作,曾在InfoQ担任会议内容总监,后在涛思数据负责开源项目TDengine的社区运营。他翻译出版过《Java性能权威指南》和《On Java 中文版》等技术图书。相信他能为中文读者们表达出《Effective Java》神作的精髓
这部神作到底有何天机?我们来领略一番吧。

02

学会这90条规则,成为真正的Java程序员

本书的 90 个条目分布在 11 个主题中,包括创建和销毁对象、类和接口、Lambda 表达式和流等。这些条目讲透了高效使用 Java 编程语言及其基础类库 java.lang、java.util 和 java.io,以及诸如 java.util.concurrent 和 java.util.function 等子包。
读者不用按顺序阅读,可以根据自己的问题查找主题,再对某个条目细读。当然,如果读者闲暇时间充裕,对这 90 条规则都能学习实践,那么Java 编程功力一定暴涨。
针对上一版本增加的新特性,书中列出了这些主要特性会在哪些条目中讲解,读者可以参考下表。

d2b5ca33bd20240329124650

 

我们来纵览一下这 11 个主题与一些关键知识。

1. 创建和销毁对象:用静态工厂方法代替构造器;优先考虑通过依赖注入来连接资源;与 try-finally 相比,首选 try-with-resources。

2. 对所有对象都通用的方法:在重写 equals 方法时要遵守通用约定;总是重写 toString 方法。

3. 类和接口:组合优先于继承;与抽象类相比,优先选择接口;为传诸后世而设计接口。

4. 泛型:列表优先于数组;首选泛型方法;使用有限制的通配符增加 API 的灵活性。

5. 枚举和注解:使用 enum 代替 int 常量;使用接口模拟可扩展的枚举。

6. Lambda 表达式和流:与匿名类相比,优先选择 Lambda表达式;首选标准的函数式接口。

7. 方法:检查参数的有效性;仔细设计方法签名;为所有导出的 API 元素编写文档注释。

8. 通用编程:与传统的 for 循环相比,首选 for-each 循环;首选基本类型,而不是其封装类;通过接口来引用对象。

9. 异常:异常机制应该仅用于异常的情况;优先使用标准异常;抛出适合当前抽象的异常。

10. 并发:同步对共享可变数据的访问;与线程相比,首选执行器、任务和流;将线程安全性写在文档中。

11. 序列化:在实现 Serializable 接口时要特别谨慎;考虑使用序列化代理代替序列化实例。

程序员在进行代码设计遇到举棋不定的难题时,就可以直接翻开这本书,找到与问题相关的主题,定能豁然开朗,找到最佳实践方案。

03

结语

《Effective Java 中文版(原书第 3 版)》真的是很值得 Java 程序员 N 刷的经典,本书每个条目都讲述了 Bloch 大神对 Java 的独到见解,阐明了如何编写高效、优雅的程序,并且提供了清晰、易懂的示例代码
对于书中的代码,有个突出的特点,就是包含了很多用来说明设计模式(Design Pattern)和习惯用法(Idiom)的代码示例。对这些示例,书中还提供了与这一领域的神作《设计模式:可复用面向对象软件的基础》一书的交叉引用

d2b5ca33bd20240329124705

 

精彩书摘
这就是说,对于非 Java 语言的程序员,本书同样极具参考价值。所以通用性也是本书能够经久不衰的原因,代码设计的诸多原则都是共通的,看懂这一本书,在其他语言上都可以复用这些最佳编程实践。

d2b5ca33bd20240329124717

 

本书配套资源丰富,包含实战项目源码、视频教程、资源文件等,新版赠送了Java学习效率手册(电子版)。读者在阅读过程中结合使用这些资源,可以将知识融汇贯通,在工作中应用起来更加得心应手。

社区赠书

本次福利将送出:《Effective Java 中文版(原书第 3 版)》* 5,点击链接也可优惠购买

截止时间还需要支付积分,就还有赠书额度,先到先得

领取方式

  1. 支付积分即可兑换,复制“ 积分支付订单号 ”
  2. 在本站中私信我这些内容:积分支付订单号、活动书名、快递信息(姓名、电话、地址)

没有积分怎么办?

社区鼓励高质量的技术交流,所以只要发布有价值内容均可获得积分!

哪些内容算高质量?

1. 高质量的技术分享,原创、翻译、转载均可

2. 高质量的提问与回答,注意阅读《提问的艺术》

3. 分享优质Java与Spring的相关开源项目

另外,内容不错,获得精华贴、或者热门帖还有额外加分哦

THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容