版权声明:本文为博主原创文章,可以随意转载,不过请加上原文链接。 https://blog.csdn.net/u014717036/article/details/80588806
前言

从去年的3月份起我就在开始读《Effective Java 第二版》,当然,我读的是中文版的;可能是我理解能力还不行,对于书中的内容总是感觉理解困难;就拿第一章的内容「创建和销毁对象」来说吧,这是我读的次数最多的一章,想必原因大家也是明白的,每次我读不下去的时候,我就从头开始读,所以,现在我对这本书的第一章是最为熟悉的了。后来,有一次我上网看到有网友说这本书确实和绝大部分的翻译书籍一样,对于有些原文中的内容翻译的不是很流畅,所以会导致阅读的人感觉难以理解;于是,我就斗胆下了本英文的原版来对照着来看,发现确实这样理解起来就更容易了,所以最后花了一两个月的时间就把整本书给啃完了(好吧,真实的情况是,这段时间我参与了几个项目,编程经验也因此积累了不少,所以对于《Effective Java》这本书里推荐的「最佳实践」有了一点点的思考与理解。)

其实,到目前为止,我还是会时不时地拿起这本书来翻看,每次读都感觉与上一次不一样,这也许就是「温故知新」的意思吧。
第三版新条目

上面的絮絮叨叨大家可以不用关心,现在我就来介绍下第三版中加入的一些新的条目。

大家可以先看下下面这张图,有个整体的概念。
Java新特性对照表

因为,《Effective Java 第二版》的原版是2008年出版的,至今(2018年)已经有十年了,Java 语言在这十年里也发展的比较迅速,对于第二版中提及的「最佳实践」有些已经不是特别推荐了 ,幸好作者 Joshua Bloch 大叔重操旧笔为我们这群麻瓜带来了最新的条目,同时也更新了原有的条目(看到有读者评论,让我指出在第二版中有哪些条目在第三版做更新了,这个实在有点惭愧,第三版还没啃完。立flag了,啃完之后,再更新。)

这本书的原版是去年完稿的(2017年12月18号),作者正好补充了 Java 7、Java 8 和 Java 9 的一些「最佳实践」。另外,想必关注 Java 发展的麻瓜们已经了解到了 Java 之后的发版规则改了,「Java版本发布周期变更为每六个月一次」。是不是一下子觉得有点紧张了啊,其实也没什么好担心的,新特性的快速添加,对我们也是好事,可以减少一些低效的操作,使用新特性来解放生产力。
Java 7 新特性

try-with-resources | 一种新的资源关闭处理方式
    @SafeVarargs | 忽略任何使用参数为泛型变量的方法或构造函数调用产生的警告

Java 8 新特性

Lambdas | 引入函数式编程
    Streams | 流式数据处理
    Optionals | 参考Google的Guava类库实现的,用来解决空指针异常(NullPointerException,NPE)问题
    Default methods in interfaces | 接口中可以有默认实现方法了

Java 9 新特性

Modules | 将 JDK 源代码重新组织为模块,对构建系统进行增强以使之支持对模块的编译,并在构建时强制对模块边界的应用

总结

这就是《Effective Java 第三版》新添加的条目,这篇文章只是大概的展示下新添加的条目,具体的内容还是需要读者去阅读书籍去了解,本人目前也在阅读当中,后续有什么阅读感悟会及时与诸君分享的。那么,重要的问题来了,如何去获取这本书籍的,因为中文翻译版本还没有那么快,如果,你对你的英文还感到有点自信,可以试试阅读原版。这里我就造福下你们了。下载地址:《Effective Java 第三版原版pdf》
参考资料

Oracle加快终止对以往Java版本的免费支持期
    JDK 官方发版说明
    JDK 8 新特性
    Java 8学习资料汇总
    《Effective Java 第三版原版pdf》    https://pan.baidu.com/s/1mTEtBGCSbZay9hy8k_rp-Q
---------------------
作者:crane.yuan
来源:CSDN
原文:https://blog.csdn.net/u014717036/article/details/80588806
版权声明:本文为博主原创文章,转载请附上博文链接!

《Effective Java 第三版》新条目介绍的更多相关文章

  1. Effective Java 第三版——44. 优先使用标准的函数式接口

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  2. Effective Java第三版(一) ——用静态工厂代替构造器

    此文做为<Effective Java>系列的第一篇,所以有必要大概说下此书的特点,当然很多人可能都看过,毕竟是有着Java四大名著之一的大名在外,不过总会有萌新不了解,例如我!<E ...

  3. Effective Java 第三版——1. 考虑使用静态工厂方法替代构造方法

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  4. Effective Java 第三版——3. 使用私有构造方法或枚类实现Singleton属性

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  5. Effective Java 第三版——7. 消除过期的对象引用

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  6. Effective Java 第三版——10. 重写equals方法时遵守通用约定

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  7. Effective Java 第三版——14.考虑实现Comparable接口

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  8. Effective Java 第三版——17. 最小化可变性

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  9. Effective Java 第三版——18. 组合优于继承

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

随机推荐

  1. VC++、MFC Sqlite3数据库的使用

    SQLite数据库是一种本地的轻型数据库,在存储一些本地的数据的时候,或者不需要用到Oracle,SQL2008之类的大型数据库的时候,Sqlite的优势就能够得到发挥.程序需要采集数据存储起来,可以 ...

  2. 神州数码OSPF路由协议

    实验要求:熟练掌握OSPF配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip addres ...

  3. net start/stop mysql access denied.拒绝访问

    转载:Mysql net start mysql启动,提示发生系统错误 5 拒绝访问 解决之道 为什么会出现这个问题呢?经过一番思考找到原因了,是因为当前用户的操作权限太低了,出了问题 出错问题截屏如 ...

  4. CC攻击原理及防范方法

    一. CC攻击的原理: CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数 ...

  5. 怎么解决mysql 执行SQL过长问题------------?

    Could not execute JDBC batch update mysql中,in语句中参数个数是不限制的.不过对整段sql语句的长度有了限制(max_allowed_packet). 默认 ...

  6. alpha冲刺(6/10)

    前言 队名:旅法师 作业链接 队长博客 燃尽图 会议 会议照片 会议内容 陈晓彬(组长) 今日进展: 召开会议 撰写博客 召集大家分析了一下后续的问题 问题困扰: 工程量太大,这周考试又很多,周末我让 ...

  7. Python开发 基礎知識 3.類別&方法 (bool & str) (未完待續)

    類別 可使用type()查看 內建 [ 布爾:bool (Boolen) 字串:str (String) 數字:int (Integer) 小數:float 列表:list 元祖:tuple 字典:d ...

  8. ScriptManager 发送错误到客户端

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...

  9. 程序猿大牛 Jeff Atwood 的两本中文书

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/happydeer/article/details/17094271 watermark/2/text ...

  10. Redis缓存系统(一)Java-Jedis操作Redis,基本操作以及 实现对象保存

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/jiangtao_st/article/details/37699473 源码下载: http://d ...