首先祝大家新年快乐,假期都玩的开心吧?
去年栈长给大家盘点了《Java 开发行业 2020 年产生的几件小事》,2022 年来了,也必须对 2021 做个总结了,2021 年 “Java 技术栈 ” 都有哪些值得关注的事件呢?
这篇必须看完,因为这些技术事件可能影响你将来的待业、以及公司在技术选型上的决策,多花一点工夫,多把握一点技术,你就能走到他人的后面。
2021 大总结
1、编程语言排行
最新 TIOBE 编程语言排行榜如下:
Python 在 2021 年 10 月,终于战胜 C 语言成为新王者。
这也是这 20 多年来,继 C 和 Java 语言之后,首次呈现的新的王者语言,Java 和 C 语言长期霸榜的时代曾经完结了,Java 较去年又跌一名,当初曾经轮为老三了。。。
尽管 Java 看似正在走下坡路,但也不要灰心,这只是一个榜单而已,并不代表 Java 生态在走下坡路,也不代表 Java 不值得学了,只能说 Java 曾经趋势稳固了,正是因为这种稳定性,Java 在网络上被搜寻、下载、学习的次数曾经没那么爆发式的增长了,所以会造成一种 Java 走下坡路的假象。
所以,咱们该学学、该下班下班,不要受排行榜影响,Java 仍然还是最香的语言之一,当初有数的 Java 待业岗位、炽热的开源社区、弱小且丰盛的生态、一家又一家的在线培训机构拔地,这都阐明了所有,Java 仍然老当益壮,市场就是最好的见证。
2、JDK 17 公布
JDK 自从改了版本规定,这版本就停不下来,至 2021 年底,Oracle 曾经发了两个版本了:
- JDK 16(2021/03/16)
- JDK 17(2021/09/14)
JDK 16 不是一个长期反对的版本,只反对 6 个月到 2021 年 9 月。
JDK 17 是自 2018 年 JDK 11 后的第二个长期反对版本,最长可反对到 2029 年 9 月,下一个长期反对版本是 JDK 21,要到 2023 年公布了。
来看下最新 Oracle Java 反对路线图:
2022 年,JDK 18, 19 也要相继公布了,大家还跟得上吗?
不过,JDK 18, 19 都是非长期反对版本,没必要追,能够忽视!
3、JDK 正式收费
Oracle 发表,从 JDK 17 开始正式收费,包含商用:
Oracle 在 2021 年改了 JDK 免费条款:
https://www.oracle.com/downlo…
JDK 17 前面公布的 JDK 都全副收费,然而之前的版本该免费还是免费的。
须要留神的是,JDK 17 也不是长期收费商用的,目前来看只反对到 2024 年 9 月,之后可能要免费,也可能持续收费,这个不确定性就有点不能承受。。
4、Java 协程要来了
咱们都晓得,Java 目前最小的系统调度单元只反对线程,官网是不反对协程的,但不久的未来,Java 要开始反对协程了:
在 openjdk 的官网上,2021/11/15 这天创立了一个新的个性:JEP draft: Virtual Threads (Preview)
目前这还是个草案,预览个性,很多细节并不是很确定,是不是叫协程?或者纤程?还是虚构线程?当初也没有官网的中文材料,叫什么不重要,咱们都晓得的是,Java 中的 “ 协程 ” 它要来了!
因为应用线程的老本很高,所以才会有了虚构线程,它是用户态线程,老本是相当低廉的,充沛进步了硬件利用率,高并发也上了一个量级,从而实现了高吞吐量。
更具体的解读能够点击链接回顾:
劲爆!Java 协程要来了。。。
理解和关注 Java 最新技术动静,请关注公众号 Java 技术栈,公众号第一工夫推送。
5、Log4j2 核弹级破绽
Apache Log4j2 最近爆的核弹级破绽想必大家都晓得了,引起了不少轰动,朋友圈、技术圈都炸锅了,各种紧急上线。
Log4j2 核弹级破绽完结后,又发现各种破绽,没完没了,最新版本曾经从 v2.15.0 发到了 v2.17.1 了:
炸了!Log4j2 再爆破绽,v2.17.1 横空出世。。。
JDK 版本 | Log4j2 最新平安版本 |
---|---|
Java 8+ | v2.17.1 |
Java 7 | v2.12.4 |
Java 6 | v2.3.2 |
修复的已知破绽就有 5 个:
- CVE-2021-44832(近程代码执行破绽)
- CVE-2021-45105(拒绝服务攻打破绽)
- CVE-2021-45046(近程代码执行破绽)
- CVE-2021-44228(近程代码执行破绽)
- 信息透露破绽(平安公司 Praetorian 发现)
麻了,麻了,折腾了大半个月了,当初还看不到收尾的迹象,真是杀疯了。。
另外须要关注的是,Logback 最近也爆雷了:
Logback 也爆雷了,惊爆了。。。
Log4j 1.x 也早就进行保护了,自身也存在没有修复的破绽,不倡议用了:
团灭!Log4j 1.x 也爆雷了。。。
破绽这块栈长还在继续关注,有第一停顿栈长再告诉大家,关注公众号 Java 技术栈,公众号第一工夫推送。
6、Spring 家族
作为一名 Java 开发,不得不关注 Spring 的倒退动静。
6.1 版本更新
咱们来看下 2021 几个重要我的项目的最新版本:
我的项目 | 版本号 |
---|---|
Spring Framework | 5.3.14 |
Spring Boot | 2.6.2 |
Spring Cloud | 2021.0.0 |
Spring Security | 5.6.1 |
Spring Data | 2021.1.0 |
Spring Boot 是整个 Spring 家族的外围,相辅相成,咱们也都是基于 Spring Boot 来进行开发的,Spring Boot 的最新版本有必要提前理解和布局下:
Spring Boot 曾经发到 2.6.x 了,2.5.x 也是最初一个平安版本了,你们用的哪一个版本呢,技术更新太快了,很多公司预计跟不上。
Spring Boot 2.7.x 还有半年不到也要和大家见面了,到时候栈长再给大家具体解读,大家能够继续关注公众号 Java 技术栈,公众号第一工夫推送。
Spring Boot 根底就不介绍了,举荐下这个实战教程:
https://github.com/javastacks…
6.2、干掉 JVM
Spring 在往年 3 月份推出了 Spring Native Beta 版本,无需 JVM 环境,它提供了另外一种运行和部署 Spring 利用的形式,通过 GraalVM 将 Spring 应用程序编译成原生镜像。
Spring Native 另外两个劣势就是启动速度快、内存占用少。
个别状况下,运行基于 JVM 的应用程序大略须要 15 秒左右,而运行 Spring Native 原生应用程序只须要 100 毫秒以下:
如图,栈长做了测试,82 毫秒就启动了,启动的确快。。
更多 Spring Native 的介绍及实战能够点击链接回顾:
王炸!!Spring 终于对 JVM 入手了…
另外,Spring Native 尽管干掉了 JVM,但不代表 Spring 干掉了 JVM,其余依存于 JVM 的 Spring 我的项目仍然失常运行,JVM 系目前不会沦亡,两者不抵触。
6.3 干掉 Spring Security OAuth
Spring Security OAuth 我的项目曾经被弃用了:
Spring Security OAuth 我的项目已被 Spring Security 我的项目接管,Spring Security 也不再蕴含对 受权服务器 的反对。
起初,Spring 又在大众的呼声下,Spring 持续提供对 受权服务器 的反对,推出了 Spring Authorization Server
我的项目,2021 年正式转正。
更具体的解读能够点击链接回顾:
再见,Spring Security OAuth!!
7、Kafka 弃用 Java 8
Kafka 3.0.0 公布了:
第一条就是发表弃用对 Java 8 和 Scala 2.12 的反对!!!
但 3.0.0 还能用,这次发表只是给用户一个调整的工夫,到了 Kafka 4.0,Java 8、Scala 2.12 将将正式勾销反对。
其实,其余一些中间件也早有进行对 Java 8 的反对,抉择 Java 11 作为最低反对版本,Java 8 尽管有点老了,但仍然是当初市场上用的最多的版本,尽管有些中间件不再反对 Java 8 了,但理论开发工作并不受影响。
更具体的解读能够点击链接回顾:
卧槽!Kafka 发表弃用 Java 8。。
Java 8+ 系列教程我也写了一堆了,关注公众号 Java 技术栈在菜单栏中进行浏览吧。
8、CentOS 8 正式终止
CentOS Linux 8 已于 2021 年 12 月 31 日终止:
CentOS 8 的终止,意味着当前都是 CentOS Stream 的天下了。。
RHEL(红帽企业 Linux)这是逼大家不得不应用付费版本?这其中的神秘只有它本人分明了!
所以当初不倡议在生产环境中应用 CentOS Stream,曾经应用 CentOS 8 的也倡议退回到 CentOS 7 下面去,毕竟 CentOS 7 还是支流,稳固、牢靠,并且反对到 2024 年 6 月 30 日,短期内不会造成影响。
2024 年后,大家会应用 CentOS Stream 吗?还是会抉择付费版本?还是会抉择其余的 Linux 发行版,栈长也会继续关注,关注公众号 Java 技术栈,公众号第一工夫推送。
更具体的解读能够点击链接回顾:
再见,CentOS!2021/12/31 发表正式停服。。
9、LayUI 官网下线
layui 官网将于 2021 年 10 月 13 日 进行下线:
须要留神的是,LayUI 仅仅是从官网下线,但并不意味着终结,并不意味着 LayUI 的进行保护,后续新版本的公布,以及日常保护工作曾经迁徙到 Github/ gitee 代码托管平台了。
另外,LayUIAdmin 和 LayIM 也会迁徙到新的官方网站,也仅仅是为老用户保留了一个下载通道而已,两者将不再面向新用户凋谢。
这么些年,和后端框架一样,前端框架也是换了一波又一波了,当初 Vue.js、React、AngularJS 算是引领着前端框架的发展趋势,老牌 LayUI 的确没劣势了,另外,关注公众号 Java 技术栈,回复:vue,能够获取最新 Vue 3.0 高清 PDF 教程。
更多能够点击链接浏览往期回顾:
突发!LayUI 发表下线。。。
10、新生代农民工
还记得朋友圈这波疯狂转发吗?
这波 IT 新生代民工自嘲也是逗翻天了,朋友圈再次被失陷。。
其实,咱们把 IT 人员纳入 “新生代农民工” 一说,还真有点过分解读了。
栈长再来明确下 新生代农民工 的定义:
- 80 后
- 16 岁及以上
- 农村户口
- 异地工作
- 从事非农行业
同时满足以上 5 点,你才是 ”新生代农民工“!!!
所以说,”新生代农民工” 并非就等于 IT 民工,而是代表全行业,那个通告只是放大了 IT 民工,官网只是想强调说 IT 民工大幅提高了而已,两者并不是 == 的关系,而是 contains 的关系:
新生代农民工.contains(IT 民工)
具体解读能够点击链接浏览往期回顾:
别自嗨了!想做新生代农民工,你还不够格。。
2022 来了!
好了,2021 给大家总结了 Java 技术栈的一些重大事件,心愿对大家有帮忙。
2022 年,栈长也会持续扬帆起航,给大家输入更多的技术干货和资讯,关注公众号 Java 技术栈,不迷路。
最初祝大家 2022 新年快乐,虎年大吉,龙腾虎跃,虎虎生威!!
无需赞叹,有播种大家转发一波就好,感激反对~
版权申明!!!
本文系公众号 “Java 技术栈 ” 原创,转载、援用本文内容请注明出处,剽窃、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权力。
近期热文举荐:
1.1,000+ 道 Java 面试题及答案整顿(2022 最新版)
2. 劲爆!Java 协程要来了。。。
3.Spring Boot 2.x 教程,太全了!
4.Spring Boot 2.6 正式公布,一大波新个性。。
5.《Java 开发手册(嵩山版)》最新公布,速速下载!
感觉不错,别忘了顺手点赞 + 转发哦!