JDK 商用正式免费Log4j2 爆核弹级漏洞LayUI 下线...2021 发生的 10 件大事!!...

Posted Java技术栈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK 商用正式免费Log4j2 爆核弹级漏洞LayUI 下线...2021 发生的 10 件大事!!...相关的知识,希望对你有一定的参考价值。

点击关注公众号,Java干货及时送达

微信官宣:一大波 2022 新年红包封面来了,喜欢就拿去用吧!

首先祝大家新年快乐,假期都玩的开心吧?

去年栈长给大家盘点了《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 不是一个长期支持的版本,只支持 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/downloads/licenses/no-fee-license.html

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 7v2.12.4
Java 6v2.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 Framework5.3.14
Spring Boot2.6.2
Spring Cloud2021.0.0
Spring Security5.6.1
Spring Data2021.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/spring-boot-best-practice

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日,短期内不会造成影响。

更详细的解读可以点击链接回顾:

再见,CentOS!2021/12/31 宣布正式停服。。

2024 年后,大家会使用 CentOS Stream 吗?还是会选择付费版本?还是会选择其他的 Linux 发行版,栈长也会持续关注,关注公众号Java技术栈,公众号第一时间推送。

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技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

点个在看你最好看

以上是关于JDK 商用正式免费Log4j2 爆核弹级漏洞LayUI 下线...2021 发生的 10 件大事!!...的主要内容,如果未能解决你的问题,请参考以下文章

同事乱用分页 MySQL 卡爆,我真是醉了...

支付宝架构师眼中的高并发架构,真是绝了!

终于!Spring Boot 最新版发布,一招解决 Log4j2 核弹级漏洞!

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过。。。

Log4j 爆“核弹级”漏洞,除非你付钱给我,否则为何我要编写有用的软件?

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过!!