重学Java 8新特性 | 第1讲——我们为什么要学习Java 8新特性?
Posted 李阿昀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重学Java 8新特性 | 第1讲——我们为什么要学习Java 8新特性?相关的知识,希望对你有一定的参考价值。
大家好,我是你们的李阿昀,时隔多日,我又重新来更文了,只不过这次我更新的是有关Java 8新特性的文章,至于原因是什么,下面我会告诉大家。
原因一
大家应该知道我正在更新「Spring Boot 2从入门到入坟」专栏吧!这里,我就得向大家吐吐苦水了,唉😔,这专栏真的是更新得我太痛苦了,每篇文章真的是花了我好大好大好大的心血和精力,文章内容、章节安排以及排版格式无不每天和我羁绊在一起,属实是:
文章虐我千百遍,我待文章如初恋!
因此,想必你应该知道「Spring Boot 2从入门到入坟」专栏里面的每一篇文章都是精品了吧!我可绝不是王婆卖瓜,自卖自夸,因为只要你看过我这专栏里面的任意一篇文章,就知道我下的苦功有多大了。
大家要是不信,不妨点进「Spring Boot 2从入门到入坟」专栏里面去瞧一瞧,去看一看,哎哟,求求大家点进去看一看嘛!
而且,截至2021年12月18日,已经有14人订阅了哟,不得不说这些可爱的读者真是太TM有慧眼了,我不得不由衷佩服起他们来,我也相信我的专栏是一定会大火的,希望你们这些可爱的读者能帮我加加火,嘻嘻🤭!我本人先在这里提前谢谢诸位了!
哈哈哈😊,以上说了这么多,就是希望可爱的读者们能多多订阅我的专栏,让我的专栏火吧!嗯呐,好像我扯得有点远了,不好意思啊,各位,现在我们还是回到本文的主题吧,来说说为什么我们要学习Java 8新特性?
先说说我的亲身感悟,总所周知,Spring 5的内部源码都是基于Java 8来进行实现的,而Java 8又更新了非常多重大的新特性,所以Spring 5重新设计了源码架构。而Spring Boot的底层又是Spring框架,于是,随之而来带来的结果就是我们在去分析Spring Boot底层源码时,你会看到大量大量Java 8新特性所带来的代码,例如Lambda表达式、函数式接口等。
当然了,我这里说的是2.4
及以上版本的Spring Boot,也就是说,只有你去研究这些版本的Spring Boot的底层源码,你才会看到大量大量Java 8新特性所带来的代码。如果你只是去研究2.4
以下版本Spring Boot的底层源码,那么你看到的将依旧是你熟悉而又能看懂的代码。
这里,我就举个例子来说说吧!在研究Spring Boot静态资源配置原理时,我找到了它底层的一个WebMvcAutoConfiguration
自动配置类来分析,分析该自动配置类时,发现又得继续分析该自动配置类里面一个叫EnableWebMvcConfiguration
的配置类,该配置类里面有一个非常重要的方法,值得我们好好研究,这个方法就是addResourceHandlers
,如下图所示。
我就问你,如果你都没学习过Java 8新特性,那么你又怎能看懂以上Lambda表达式呢!估计你心里是一万个卧槽,这尼玛还有这种写法啊!箭头都能写了,牛逼啊!这什么JB玩意啊!嘿嘿,这就是Java 8新特性中的Lambda表达式。
看到这里,相信大家应该知道我们为什么要学习Java 8新特性了吧!就是如果你要是不学的话,那么你就甭谈什么去深入研究Spring Boot的底层源码了。当然,我这里说的是2.4
及以上版本的Spring Boot,例如我本人研究的就是2.4.5
这个版本的Spring Boot的底层源码。
原因二
可能有些童鞋会说,我TM又不是要去深入研究什么Spring Boot的底层源码,我学这玩意(即Java 8新特性)干嘛,吃饱饭没事做吗?还嫌我学的东西不够多吗?
此言差矣,要知道现在Java 16都出来了,你学个Java 8新特性又算得了什么呢?你总得跟上时代的步伐吧!要不总是做温水里的青蛙,那成何体统啊!所以,我可爱的读者们请开放你的胸怀去拥抱新的变化吧!
这是其一,其二就是目前大部分一线互联网公司使用最多的Java版本就是Java 8,如果你不能去真正掌握Java 8的那些新特性,那么又何谈去进那些大厂呢?做个程序员,梦想总是要有的嘛!
原因三
我之前有学习过Java 8新特性,而且自认为学的还算蛮认真的,写了如下这些文章就是最好的证明。
- 快速学习Java8新特性第一讲——Java8新特性简介
- 快速学习Java8新特性第二讲——Lambda表达式
- 快速学习Java8新特性第三讲——函数式接口
- 快速学习Java8新特性第四讲——方法引用与构造器引用
- 快速学习Java8新特性第五讲——强大的Stream API
- 快速学习Java8新特性第六讲——并行流与串行流
- 快速学习Java8新特性第七讲——Optional类
- 快速学习Java8新特性第八讲——接口中的默认方法和静态方法
- 快速学习Java8新特性第九讲——传统日期时间格式化的多线程安全问题
- 快速学习Java8新特性第十讲——全新的日期时间API
- 快速学习Java8新特性第十一讲——重复注解与类型注解
结果就是长时间没用Java 8的那些新特性,导致几乎给忘光了,真是该死,所以大家应该知道了吧,就是要想真的学会某某技术,你就得多用,用着用着你就会对它无比熟悉了,奉劝大家不要像我一样以为学完就可以置之高阁了,切记切记!
于是,我就得回来重新学一遍Java 8新特性了,唉😔,感觉只是徒增烦恼而已!还有一点就是我仔细翻阅了一下我之前写的文章,感觉写的不够好,看完后不够让人明白,而且排版也很差劲,遂想通过这次重新学习花大精力写一个直面Java 8核心技术要点,同时又足够精简,让人看了最易清楚明白的系列教程。
我希望该系列教程涵盖Java 8所有的核心特性,而且在介绍Java 8核心新特性的时候,我都会配写大量的代码案例来帮助大家理解,并尽量做到直击要害,提炼核心重点内容,让大家看到的就是Java 8的核心重点知识。
接下来,请大家跟随着我的脚步一起来学习一下Java 8的那些新特性吧!
以上是关于重学Java 8新特性 | 第1讲——我们为什么要学习Java 8新特性?的主要内容,如果未能解决你的问题,请参考以下文章
重学Java 8新特性 | 第3讲——我们为什么要使用Lambda表达式?
重学Java 8新特性 | 第3讲——我们为什么要使用Lambda表达式?