排名前5位的Java 8教程,课程和书籍

精选列表,其中包含一些学习Java 8编程的最佳资源,例如lambda表达式,方法引用等。

尽管“ lambda表达式”一词听起来可能很抽象和学术性,但Java 8 Lambda可能会对您每天的编程方式产生重大影响。 Java 8不仅引入了Lambda表达式,而且还引入了Stream API,Functional接口,新的Date和Time API以及default方法 ,这完全改变了您编写Java代码的方式。

作为一名专业的Java开发人员 ,您将不得不一天学习Java 8,最好早做而不是迟做。

即使您没有使用许多Java 8功能,也可以肯定的是,这肯定会改变,从而改变了在Java程序中使用Collection框架类(例如ArrayList或HashMap)的方式,尤其是对于高性能应用程序。

毫不奇怪,我还学习了Java 8的新功能,并感谢所有这些人,他们分享了有关lambda和其他Java 8概念的精彩教程。

这些人大多下载了每晚的版本,仔细研究了规范和初稿,以创建易于理解的Java 8教程和示例。 由于我个人一直在关注他们,因此与读者(我的读者)分享所有这些资源对我来说非常有意义。

早些时候,当我分享Java和Scala之间的一些区别时,我曾提到过Scala的一些很酷的功能,这些功能使代码简洁,清晰且可读性强,但Java 8也具有同等功能。

因此,请继续关注并遵循这些Java 8 Lambda,Stream API和功能接口教程,以了解自Java编程语言首次发布以来,这将是Java编程语言中最大的变化。 甚至可能比Java 1.5中的泛型更大。

Java中的Lambda表达式是什么

用最简单的术语来说,lambda表达式是一个函数(只需少量代码),您可以将其作为参数传递给另一个方法。 因此,您可以通过使用由lambda表示的行为作为参数来应对不断变化的需求。

如果您已经完成了一些JavaScript编程,那么您就会知道可以将匿名函数传递给任何函数,直到Java 1.7在Java中是不可能的,您只能将原语或对象传递给您的方法。

Java API的一部分(即将进行重大更改)是著名的且可能是使用最多的Java Collection Framework ,正在对其进行重新设计以使用Stream API。 Java 8的功能性编程功能(例如lambda和新的Stream API)将提供一种更清晰的方法来遍历集合。

它们还将帮助您编写简洁,可维护的代码,这些代码可以轻松扩展并在多核体系结构上表现良好。 如果您想了解有关lambda表达式的更多信息,那么Java 8的新增功能:Lambdas是一门很棒的课程,它提供有关Java 8新功能的深入了解。

一些最好的Java 8教程

就像我说的那样,我已经开始学习Java 8的新功能,以准备尽快采用Java 8。 我有一种直觉,认为行业可能会做同样的事情,一旦Java 8正式发布,几乎没有一个新项目会使用Java 1.6或7。

与引入泛型之后发生的事情非常相似,现在如果没有泛型 ,您将看不到任何Collection框架代码。 在线已经有很多不错的Java 8教程,我将充分利用这些教程。

我选择了一些最佳的Java 8教程作为开始。 这个列表绝不是完整的,当我发现一些有趣的东西并且学习有所进展时,我会继续在上面添加内容。

1. Maurice Naftalin的Lambda常见问题解答

每当我谈论Java 8的lambda表达式时,这就是我想到的第一个资源。 我已经访问了他的lambda FAQ网站很多次,这真是太了不起了。 如果您不记得,莫里斯•纳夫塔林(Maurice Naftalin)是一本很棒的著作“ Java泛型与集合 ”的作者之一。

他在完成lambda表达式常见问题方面做得非常出色,在前往其他地方之前,我强烈建议您访问此站点并研究有关Lambda表达式的那些基本问题。

只是为了让您快速了解您将要获得的东西,以下是他的Lambda常见问题解答中的一些问题:

  • 什么是lambda表达式?
  • 为什么将lambda表达式添加到Java?
  • 什么是功能接口? ( 回答
  • Lambda表达式是对象吗?
  • 在哪里可以使用lambda表达式?
  • lambda表达式的作用域规则是什么?
  • lambda表达式的类型是什么? (回答)
  • 可以使用lambda表达式定义递归函数吗?
  • Lambda表达式可以使用其环境中的变量吗?
  • 方法参考是什么? ( 回答
  • 什么是语法,例如方法引用? ( 回答
  • 什么是构造函数引用?

我认为Maurice还在开发新版本的Java Collections和Generics,以包括Java 8更改,这将是一个非常有用的资源。 急切地等待那个版本。

2. Oracle的官方Lambda表达式教程

这是有关lambda表达式的另一篇很棒的教程。 像所有其他官方Java教程一样,这也是值得纪念的。 它以使用传统Java编码风格的幼稚方法开始,并在使用本地和匿名类的方法上进行了改进,然后以使用lambda表达式的高效简洁方法结束。

它还说明了Java 8中的方法参考是什么以及如何使用它们。 由于使用lambda表达式创建匿名方法,因此请不要记住匿名类 。 但是,有时lambda表达式除了调用现有方法外什么也不做。 在这种情况下,通常更容易按名称引用现有方法。

方法引用使您可以执行此操作; 它们是紧凑的,易于阅读的lambda表达式,用于已经具有名称的方法。 双冒号运算符 (::)用于表示方法引用。

对于所有初学者来说,一旦您阅读完Maurice的lambda表达式FAQ ,就可以从此开始。 您将通过实例展示的比较分析机会来学习。

例如,要打印列表的内容,只需编写

List.forEach(System.out :: println),

您可以进一步检查Complete Java MasterClass,以了解有关Java 8中方法引用和lambda表达式的更多信息。

完整的Java MasterClass
3. Java 8 Lambda表达式演示和视频教程

关于Java 8的新功能,lambda表达式,流API,功能接口, 默认方法 ,lambda表达式的工作方式,使用lambda表达式的利弊以及Java 8主题的很多内容,都有很多介绍。

我收集了一些权威机构提供的最好的算法,例如Oracle的Java语言架构师,并发经典的主要作者Java Concurrency in Practice

他的演讲“ Lambda:深入了解”提供了有关Java中lambda表达式实现的大量技术细节。 Lambda之路是Brian Goetz的另一场演讲,它对Lambda项目提供了深刻而全面的看法。

以下是一些学习Java 8的最佳演示文稿和在线课程

另一个很好的演示文稿来自JavaZone,2012年9月:Java 8中的Lambdas作者:Angelika Langer,他谈到了lambda表达式,函数类型,扩展方法和方法引用

4)采用OpenJDK Lambda教程

这是另一套练习,以教授Java 8 lambda语法和新的Streams API的用法。 它包含在Github上进行此练习的正确说明,以及一些便捷的教程,可在Ubuntu,Mac OS和Windows上设置IDE(如Eclipse和IntelliJ for Java 8 lambda表达式)。

它还包含有关内部与外部迭代(forEach方法),过滤和收集,映射和方法参考的一些很好的练习。

您可以下载并安装Java 8来运行这些教程和示例。 它们还将在更高的Java版本(如Java 9Java 10和Java 11版本)上运行。

5)Dreamsys Software的Java 8 Lambda教程

这是有关lambda表达式的简单Java 8教程的又一本。 我喜欢在日常主题中轻松遵循该示例。

他们有Java 8教程,分为以下主题:

  1. 简介-基础知识。
  2. 比较器—使用比较器。 ( 示例
  3. 集合过滤-过滤集合。 ( 示例
  4. 函数作为参数—将函数作为参数传递(示例。
  5. 侦听器-使用lambda作为侦听器。 (例)
  6. Map / Reduce —在Java 8中使用map / reduce( 示例 )。
  7. 干-干(不要重复自己)。 ( 示例

对于忙碌的Java开发人员,他们想通过尝试尝试弄脏手,我会说它非常方便。

6)IDE对Java 8 Lambda表达式的支持

所有三个主要的Java IDE(例如Eclipse,IntelliJ和Netbeans)都支持新的Java 8功能,包括lambda表达式,这对于开发和学习非常有用。

您可以使用这些IDES来快速掌握Java 8的新功能。 它们中的大多数提供上下文建议,并在可能的情况下自动将Anonymous类转换为lambda表达式和方法引用。

NetBeans IDE也支持Java 8,您可以访问http://wiki.netbeans.org/JDK8 ,以获取有关Java 8的Netbeans支持的更多信息。

Java 8书籍

这里有一些学习Java 8的好书。所有这些书都着重介绍Java中引入的新功能的内容,原因和方式。 前两个是我的最爱,我强烈建议Java开发人员阅读它们。


1. Java 8 Lambdas的实际应用
Java 8 Lambdas in Action可能是学习Java 8功能的最佳书。 它是Java 8 lambda和Java功能编程的写得很清楚的指南之一。

它从实际介绍Java语言中lambda表达式的结构和好处开始。

然后, 本书介绍了Stream API,并展示了它如何使与集合相关的代码从根本上更易于理解和维护。

在此过程中,您将发现使用Java 8的面向功能编程的新设计模式,这些代码可用于代码重用,代码可读性,异常处理,数据操作和并发。

Java 8 Lambdas的实际应用

对于也在JVM上探索其他功能语言的开发人员,本书最后简要介绍了Scala和Clojure中的有用功能。 好消息是,《 Java 8 Lambdas in Action》的第​​一章是免费的,您可以下载以进行窥探。

2. Cay Horstmann的《 Java SE 8真正不耐烦》(2014年1月27日)
这是学习Java 8的新功能的另一本好书。它清晰,简洁并且包含许多平凡的示例,这使学习变得非常有趣。

所有人,这是足够的资源来学习Java 8的关键功能,主要是lambda表达式,Stream API和功能接口。

Google是您最好的朋友,因此,当您感到困惑时,可以随时进行快速搜索,我相信您会找到可以解决您问题的东西,这是加入这个出色的Java社区的最大好处。

祝您好运,并喜欢学习Java 8 lambda表达式。


相关的Java 8教程
如果您有兴趣学习有关Java 8的新功能的更多信息,这是我以前的文章,介绍Java 8的一些重要概念:

  • Java 8中20个日期和时间的示例( 教程
  • 如何在Java 8中使用Stream类( 教程
  • 如何在Java 8中使用filter()方法( 教程
  • 如何在Java 8中使用forEach()方法( 示例
  • 如何在Java 8中连接String( 示例
  • 如何在Java 8中将列表转换为Map( 解决方案
  • 如何在Java 8中使用peek()方法( 示例
  • 如何在Java 8中将流转换为数组( 教程
  • Java 8认证常见问题解答( 指南
  • Java 8模拟考试和实践测试( 测试

感谢您到目前为止阅读本文。 如果您喜欢这些Java 8资源,请与您的朋友和同事分享。 如果您有任何疑问或反馈,请留言。

https://hackernoon.com/tagged/java

From: https://hackernoon.com/top-5-java-8-tutorials-courses-and-books-8fd542cb222d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值