
Java 8从入门到精通
文章平均质量分 94
让你从入门到精通Java 8!
李阿昀
昀,三尺微命,一介书生。只当穷且益坚,不坠青云之志!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
重学Java 8新特性 | 第8讲——趁热打铁,快来练练这三道有关Stream API的练习题
在上一讲中,我们学了那么的Stream API,是不是应该要用一下啊,不然学它干嘛,所以,本讲我们就趁热打铁赶紧来用一下学过的Stream API,看你会不会用学过的Stream API来解决下面这三道练习题。练习题一题目是这样的:给定一个数字列表,如何返回一个由每个数的平方构成的列表呢?即给定[1, 2, 3, 4, 5],应该返回[1, 4, 9, 16, 25]。这道练习题解决起来还是蛮简单的,关键是要用一下map方法,相信大家应该都知道这点,下面我直接给出代码清单。package com.m原创 2022-02-16 19:06:00 · 892 阅读 · 0 评论 -
重学Java 8新特性 | 第7讲——4万6千字,全网讲解Stream API最详细的文章,值得你一看
闲扯一番时间过得可真快啊,没想到今天就是除夕了,既然是除夕,那就该说点祝福的话语,喜庆喜庆,在这里我就祝大家在新的一年乐乐呵呵地把钱挣进口袋,身体健健康康,生活顺顺当当????????????!总想着在这最后一天应该做点什么有意义的事,于是就想干脆何不写一篇文章玩玩,于是这篇文章就在这样的背景下写出来了。另外,就是有读者私信催促我要继续更新文章,说到这,我不禁惭愧不已,离上一篇文章的更新已经差不多有27天了,快接近一个月了,怎能不教人汗颜,对此大家催促的对,我都不想说我自己了,只有寄希望于在春节给大家带原创 2022-01-31 11:26:32 · 1946 阅读 · 1 评论 -
重学Java 8新特性 | 第6讲——方法引用与构造器引用
我们为什么要使用方法引用与构造器引用呢?如果不使用Lambda表达式进行程序编写的话,那么大可不必关注方法引用和构造器引用,但是如果使用Lambda表达式,再配合方法引用和构造器引用之后,那么就可以使Lambda编写匿名内部类的代码变得更加简洁。在不影响性能的前提下简洁的代码可以增强代码的可读性,当然是在阅读者知晓对方语法的前提下。方法引用什么是方法引用?当要传递给Lambda体的操作,已经有实现的方法了,那么这时便可以使用方法引用了。或者,你也可以理解为方法引用是Lambda表达式的另外一种表现形原创 2022-01-03 12:15:22 · 565 阅读 · 8 评论 -
重学Java 8新特性 | 第5讲——函数式接口
我们都知道Lambda表达式需要接口的支持,并且接口中的抽象方法还不能多,只能有一个,不然就没法区分它实现的到底是哪个抽象方法了。一般,我们会称该接口为函数式接口,在上一讲中我就已经提到过了,大家还记得吧!这一讲我们就来具体唠唠它。什么是函数式接口?Lambda表达式可以很简洁的代替匿名内部类的代码编写,而匿名内部类往往是实现某一接口的一个抽象方法。所以,在使用Lambda表达式时,我们最应该关注的应该是接口的抽象方法,并且这个接口还必须只有一个抽象方法。我们称这种只有一个抽象方法的接口为函数式接口,而原创 2021-12-31 21:31:36 · 1129 阅读 · 3 评论 -
重学Java 8新特性 | 第4讲——Lambda表达式详解
在详细讲解Lambda表达式之前,我们先看一下Lambda表达式的概述,即Lambda表达式是什么?Lambda表达式是什么?Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。这样,我们就可以写出更简洁、更灵活的代码了,而且作为一种更紧凑的代码风格,可以使得我们的Java语言表达能力得到更进一步的提升。...原创 2021-12-27 22:18:31 · 1435 阅读 · 2 评论 -
重学Java 8新特性 | 第3讲——我们为什么要使用Lambda表达式?
接下来,我们就正式来开始学习Java 8。上一讲中,我就已经讲过了,Java 8新特性中最为核心的便是Lambda表达式与Stream API,只不过这一讲中我首先会为大家讲解Lambda表达式。其实,Lambda表达式就是Java 8提出的一种新的语法格式。在讲这个语法格式之前,我们首先得了解一下为什么要用Lambda表达式。为什么要使用Lambda表达式?。。。...原创 2021-12-24 11:03:46 · 1687 阅读 · 0 评论 -
重学Java 8新特性 | 第2讲——Java 8新特性简介
写在前面从本讲开始,咱们就要开始正式学习Java 8新特性了,不知大家做好准备没有?做好准备之后,我就要开始发车了。在这一讲中,我会对大家接下来要学习的Java 8新特性做一个整体的介绍,以便让大家从全局上对Java 8新特性有一个高屋建瓴的认识。实际上,Java 8早在2014年3月份的时候就发布了,而现在已经是2021年12月份了,童鞋们,七年都已经过去了,你还有什么资格说你没学过Java 8新特性啊!你要知道,你已经学的是七年前的技术了啊!当然,未曾学过的童鞋也不要灰心,现在开始学一点都不晚,须原创 2021-12-19 16:05:41 · 1014 阅读 · 0 评论 -
重学Java 8新特性 | 第1讲——我们为什么要学习Java 8新特性?
为什么我们一定要学习Java 8新特性?原创 2021-12-18 05:51:20 · 1529 阅读 · 6 评论 -
快速学习Java8新特性第十一讲——重复注解与类型注解
重复注解注解(Annotation)是Java 5推出来的,推出来后使用极其广泛,一些流行的框架基本都会用到注解实现一些功能,代替以前的配置方式,最典型的就是Spring。在继续往下讲之前,我先声明你得知道注解的知识,我假设你已经掌握注解知识并能够自定义注解了。重复注解是什么?重复注解表示可以在同一处位置(方法、类以及类变量等等)多次使用同一个注解,效果如下所示。public class ...原创 2019-12-18 16:30:16 · 813 阅读 · 2 评论 -
快速学习Java8新特性第十讲——全新的日期时间API
或许这就是Java 8提供的全新日期时间API的由来Java 8提供了一套全新的日期时间API,为什么要这么干呢。因在旧版的Java中,日期时间API存在很多问题,比如说线程安全问题,java.util.Date是非线程安全的,所有的日期类都是可变的;又还有设计乱七八糟的问题,你去看看java.util.Date类会发现它的很多方法都被标记过时了,就知道SUN公司自己人都看不过去了;而且用于格式...原创 2019-12-18 11:21:25 · 559 阅读 · 0 评论 -
快速学习Java8新特性第九讲——传统日期时间格式化的多线程安全问题
回顾一下以前的那套日期时间API,你就能发现它是线程不安全的,是可变的。这里就以传统日期时间格式化为例,看看它存在什么多线程安全问题?如果我们想要使用SimpleDateFormat类来对一个时间或者日期进行格式化,并且还要使用多线程来操作,即使用多线程同时对一个时间或者日期进行格式化,那么该咋办呢?我们可以创建一个线程池,然后分10次去访问定义好的一个任务(该任务就是专门用于格式化一个时间或者...原创 2019-12-18 10:33:25 · 774 阅读 · 0 评论 -
快速学习Java8新特性第八讲——接口中的默认方法和静态方法
默认方法我们说接口中以前只能有两个成员,一个是全局静态常量,另外一个是抽象方法。而现在在Java 8中,它不仅可以有这些,而且Java 8允许接口中包含具有具体实现的方法,该方法称为"默认方法",默认方法使用default关键字修饰。package com.meimeixia.java8;public interface MyFun { default String getName(...原创 2019-12-18 08:31:10 · 497 阅读 · 0 评论 -
快速学习Java8新特性第七讲——Optional类
在《快速学习Java8新特性第五讲——强大的Stream API》这一讲中,我就已经提及到了Optional类。在这一讲中,我将对其做一个更加细致的讲解。Optional类是什么?Optional类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用null表示一个值不存在,现在使用Optional类可以更好的表达这个概念,并且它还可以避免空指针异常。Opti...原创 2019-12-17 10:32:16 · 949 阅读 · 0 评论 -
快速学习Java8新特性第六讲——并行流与串行流
接下来,我将会为大家详细介绍一下并行流。之前是不是给大家简单说了一嘴,Java 8的速度变快了,之所以我们说Java 8的速度变快了,很重要的一点就是有了这个并行流,并行流起到了一个很关键的作用,它使得我们的程序很容易就能切换成一个多线程,而且更能利用CPU的资源。了解Fork/Join框架在讲解并行流以前,我们首先得提另外一个框架,这个框架就是Fork/Join框架,那什么是Fork/Joi...原创 2019-12-13 22:43:41 · 742 阅读 · 0 评论 -
快速学习Java8新特性第五讲——强大的Stream API
Stream是什么?Java 8中有两大最为重要的改变。第一个是Lambda表达式;另外一个则是Stream API(位于包java.util.stream.*下)。Stream是Java 8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Strea...原创 2019-12-11 08:44:33 · 1030 阅读 · 0 评论 -
快速学习Java8新特性第四讲——方法引用与构造器引用
为何要使用方法引用与构造器引用?如果不使用Lambda表达式进行程序编写的话,那么大可不必关注方法引用和构造器引用,但是如果使用Lambda表达式,再配合方法引用和构造器引用之后,那么可以使Lambda编写匿名内部类的代码变得更加简洁。在不影响性能的前提下简洁的代码可以增强代码的可读性(当然是在阅读者知晓对方语法的前提下)。方法引用方法引用是什么?当要传递给Lambda体的操作,已经有实现...原创 2019-12-06 14:32:03 · 639 阅读 · 0 评论 -
快速学习Java8新特性第三讲——函数式接口
不知你有没有想过,Lambda表达式默认找的是接口中哪个抽象方法来实现的呢?假设说接口中有多个抽象方法,Lambda表达式默认实现的是哪个呢?你可以带着这个疑问开始本讲的阅读之旅。函数式接口是什么?Lambda表达式可以很简洁的代替匿名内部类的代码编写,而匿名内部类往往是实现某一接口的一个抽象方法。所以,在使用Lambda表达式时,我们最应该关注的应该是接口的抽象方法,并且这个接口还必须只有一...原创 2019-12-06 10:20:59 · 1352 阅读 · 0 评论 -
快速学习Java8新特性第二讲——Lambda表达式
Lambda表达式是什么?Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。这样就可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。为什么使用Lambda表达式?先回顾一下之前我们学过的匿名内部类,就以下面定义的一个比较器来说,该比较器是用于比较两个Integer的大小。//定义一个比较...原创 2019-12-05 20:01:31 · 1151 阅读 · 3 评论 -
快速学习Java8新特性第一讲——Java8新特性简介
在这一讲中,大家要对接下来要学习的Java8新特性做一个粗略的了解,以便从全局上对Java8新特性有一个整体的认识。Java8好像是2014年3月份发布的,一直到2019年12月份,我才开始学习Java8新特性,确实是说不过去,现在开始学,还晚吗?不管了,直接学就行了!有一点我得说道说道,公司往往不是追求技术的新,而且追求技术的稳定,所以有可能在咱们的实际项目中还没有用到Java8新特性,学了它,...原创 2019-12-05 17:48:17 · 885 阅读 · 0 评论