首页 > 学院 > 开发设计 > 正文

Java 8 学习资料汇总【转载】

2019-11-15 00:10:31
字体:
来源:转载
供稿:网友
java 8 学习资料汇总【转载】

原文地址

  • 2014年3月18日,Java SE 8 发布,而 Java 9 预期2016年发布;
  • 2011年7月7日,Java 7 发布,是2009年4月20日被Oracle 以74亿美元收购首次推出,不过,Oracle 将2015年4月停止Java 7的公共更新;
  • 2009年12月,Java EE 6 发布;
  • 2004年9月,J2SE 1.5 发布;
  • 2000年5月,JDK1.3、JDK1.4 相继发布;
  • 1996年1月,JDK1.0 发布;
  • 1995年5月23日,Java 语言正式诞生。

版本

正式发布日期

停用日期

使用寿命

距离上个版本

与上个版本共存

3(1.3)

2000.5

2006

6

2

--

4(1.4)

2002.2

2008.10

6

2

4

5

2004.5

2009.12

5

2

4

6

2006.12

2013.2

6

2

3

7

2011.7

2015.4

4

5

1.5

8

2014.3

2017.5*

3

3

1

9

2016.9*

待定

待定

2

1

本文首发于 jOOQ博客的 Java 8 Friday系列,经原作者 Data Geekery GmbH 授权由InfoQ中文站编译并分享。

Java 8 发布已经有一段时间,它被认为是 Java 5 发布以来最大的一次版本升级。Java 8 提供的新特性主要集中在 Java 编译器、类库、开发工具以及 JVM(Java 虚拟机)等方面。其中,Lambda 表达式、默认方法、并行 API 等都受到了开发者的追捧,社区上关于 Java 8 的学习资料如雨后春笋般出现。下面是一些优秀的学习资料汇总:

    Brian Goetz 在 Stack Overflow 上的回答

    Brian 是《Java 并发编程实战》的作者之一,有 20 多年的软件咨询行业经验。Brian 是 JSR 335的带头者,他和他的专家团队的努力为 Java 8 的成功做出了重大贡献。下面是 Brian 在 Stack Overflow 上关于 Java 8 相关问题的一些精彩回答:

      • 为什么在Java 8中“synchronized”关键字不能用于接口方法?

      • 为什么“final”关键字不允许在接口方法中使用?

      • 《Java 并发编程实战》仍然适用吗?

      • 如何正确确定一个对象是 Lambda?

      • 为什么 Iterable 不提供 stream() 和 parallelStream() 方法?

      • 在 Java 8 的并行流方法中使用 semaphore 可能会导致死锁,这是一个 Bug 吗?

      • 为什么不允许把从 java.lang.Object 中继承的方法定义为默认方法?

      • 如何比较闭包(Lambda 表达式)?

      • Java 8 串行流与并行流的性能对比

      • 如何使用 Java 8 JDK 将 Iterable 转换为 Stream?

        Baeldung 的 Java 8 资料集锦

        Baeldung是一名软件开发工程师,热衷于SPRing、REST、TDD等技术。他在自己的博客上总结了一些Java 8资料。地址如下:

          http://www.baeldung.com/java8

        jOOQ 博客

        jOOQ 是一个轻量级的 JAVA ORM 框架,在它的官方博客上分享了 Java 8 与 jOOQ 相关的经验。下面是近几个月比较流行的文章:

          • 使用 Stream API 时 10 个不易察觉的错误

          • 通过 Nashorn 和 jOOQ 在 JavaScript 中运行 SQL

          • 微妙的语言设计

          • Java 8:ORM 已经过时了

          • Java 8 来了,忘掉那些曾经使用的工具包

          • 学习并发编程

          • Map 增强

          • SQL 结果集处理

          • Java 8 不为人所知的特性:泛型的目标类型推断

            ZeroTurnaround 博客

            作为内容营销的策略之一,ZeroTurnaround 在不久前开设了 rebellabs 专题。专题中有很多与Java相关的文章,下面是一些 Java 8 方面的精彩分享:

              • 慎用 Java 8 的默认方法

              • Java8 是最快的 JVM?Fork-Join 的基准性能测试

              • 如何避免 Lambda 表达式毁了你的世界

              • 如何组织你的数据流并避免使用回调函数?

                Takipi 博客

                与 ZeroTurnaround 一样,Takipi 也提供了 Java 8 的相关文章,篇篇精彩:

                  • Java 8:StampedLock,ReadWriteLock 以及 synchronized 的比较

                  • Java 8 那些被冷落的新特性

                  • 15个必读的 Java 8 教程

                  • Java 8 的新并行 API – 魅力与炫目背后

                  • Java 8 的 Lambda 表达式的阴暗面

                    Benji Weber 的 Java 8 体验笔记

                    Benji Weber 的 Java 8 系列博客读起来相当有趣,他在思考问题时总能跳出固有思维去思考问题,比如他对默认方法、方法引用等特性的看法。

                      • 使用 Nashorn 将 JSON 转换为 Java 接口

                      • Java 中的模式匹配

                      • Java 值对象

                      • JavaForwarding-Interface 模式

                      • 纯 Java 数据库查询中的连接操作

                      • 检查异常与流

                      • 在 Java 中进行类型安全的数据库交互

                        Informatech 博客

                        Edwin Dalorzo 在 Informatech 上关于J ava 8 的文章也比较有深度:

                          • 为什么 Java 8 存在接口污染

                          • Java 8 实现斐波那契数列

                          • Java 8 的 Optional 类

                          • Java 8 Stream API 预览

                              Java 8 是基于业界的广泛合作开发的,包括公开审查、每周构建以及甲骨文工程师通过 OpenJDK 社区和 JCP 与全球 Java 开发人员社区的广泛合作。Java 8 注定是革命性的,它将 Java 语言升级为“现代”的开发模式。国内社区中也有大批人组织翻译 Java 8 的相关资料。以上的大部分文章在社区中都能找到中文翻译。


                              发表评论 共有条评论
                              用户名: 密码:
                              验证码: 匿名发表