vlambda博客
学习文章列表

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

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


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

去年栈长给大家盘点了《》,2022 年来了,也必须对 2021 做个总结了,2021 年 "Java技术栈" 都有哪些值得关注的事情呢?

这篇必须看完,因为这些技术事件可能影响你未来的就业、以及公司在技术选型上的决策,多花一点时间,多掌握一点技术,你就能走到别人的前面。

2021 大总结

1、编程语言排行

最新 TIOBE 编程语言排行榜如下:

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

这也是这 20 多年来,继 C 和 Java 语言之后,首次出现的新的王者语言,Java 和 C 语言长期霸榜的时代已经结束了,Java 较去年又跌一名,现在已经轮为老三了。。。

虽然 Java 看似正在走下坡路,但也不要灰心,这只是一个榜单而已,并不代表 Java 生态在走下坡路,也不代表 Java 不值得学了,只能说 Java 已经趋向稳定了,正是因为这种稳定性,Java 在网络上被搜索、下载、学习的次数已经没那么爆发式的增长了,所以会造成一种 Java 走下坡路的假象。

所以,我们该学学、该上班上班,不要受排行榜影响,Java 依然还是最香的语言之一,现在无数的 Java 就业岗位、火热的开源社区、强大且丰富的生态、一家又一家的在线培训机构拔地,这都说明了一切,Java 依然老当益壮,市场就是最好的见证。

2、JDK 17 发布

JDK 自从改了版本规则,这版本就停不下来,至 2021 年底,Oracle 已经发了两个版本了:

  • (2021/03/16)
  • (2021/09/14)

JDK 16 不是一个长期支持的版本,只支持 6 个月到 2021 年 9 月。

JDK 17 是自 2018 年 JDK 11 后的第二个长期支持版本,最长可支持到 2029 年 9 月,下一个长期支持版本是 JDK 21,要到 2023 年发布了。

来看下最新 Oracle Java 支持路线图:

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

2022 年,JDK 18, 19 也要相继发布了,大家还跟得上吗?

不过,JDK 18, 19 都是非长期支持版本,没必要追,可以无视!

3、JDK 正式免费

Oracle 宣布,从 JDK 17 开始正式免费,包括商用:

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

Oracle 在 2021 年改了 JDK 收费条款:

https://www.oracle.com/downloads/licenses/no-fee-license.html

JDK 17 后面发布的 JDK 都全部免费,但是之前的版本该收费还是收费的。

需要注意的是,JDK 17 也不是长期免费商用的,目前来看只支持到 2024 年 9 月,之后可能要收费,也可能继续免费,这个不确定性就有点不能接受。。

4、Java 协程要来了

我们都知道,Java 目前最小的系统调度单元只支持线程,官方是不支持协程的,但不久的将来,Java 要开始支持协程了:

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

在 openjdk 的官网上,2021/11/15 这天创建了一个新的特性:JEP draft: Virtual Threads (Preview)

目前这还是个草案,预览特性,很多细节并不是很确定,是不是叫协程?或者纤程?还是虚拟线程?现在也没有官方的中文资料,叫什么不重要,我们都知道的是,Java 中的 "协程" 它要来了!

因为使用线程的成本很高,所以才会有了虚拟线程,它是用户态线程,成本是相当低廉的,充分提高了硬件利用率,高并发也上了一个量级,从而实现了高吞吐量。

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

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

5、Log4j2 核弹级漏洞

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


Log4j2 核弹级漏洞结束后,又发现各种漏洞,没完没了,最新版本已经从 v2.15.0 发到了 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 最近也爆雷了:

Log4j 1.x 也早就停止维护了,本身也存在没有修复的漏洞,不建议用了:

6、Spring 家族

作为一名 Java 开发,不得不关注 Spring 的发展动态。

6.1 版本更新

我们来看下 2021 几个重要项目的最新版本:

项目 版本号
Spring Framework 5.3.14
Spring Boot
Spring Cloud
Spring Security 5.6.1
Spring Data 2021.1.0

Spring Boot 是整个 Spring 家族的核心,相辅相成,我们也都是基于 Spring Boot 来进行开发的,Spring Boot 的最新版本有必要提前了解和规划下:

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

Spring Boot 已经发到 了,2.5.x 也是最后一个安全版本了,你们用的哪一个版本呢,技术更新太快了,很多公司估计跟不上。

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 毫秒以下:

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

如图,栈长做了测试,82 毫秒就启动了,启动确实快。。

更多 Spring Native 的介绍及实战可以点击链接回顾:

另外,Spring Native 虽然干掉了 JVM,但不代表 Spring 干掉了 JVM,其他依存于 JVM 的 Spring 项目依然正常运转,JVM 系目前不会消亡,两者不冲突。

6.3 干掉 Spring Security OAuth

Spring Security OAuth 项目已经被弃用了:

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

Spring Security OAuth 项目已被 Spring Security 项目接管,Spring Security 也不再包含对授权服务器的支持。

后来,Spring 又在群众的呼声下,Spring 继续提供对 授权服务器的支持,推出了 Spring Authorization Server 项目,2021 年正式转正。

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

7、Kafka 弃用 Java 8

Kafka 3.0.0 发布了:

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

第一条就是宣布弃用对 Java 8 和 Scala 2.12 的支持!!!

但 3.0.0 还能用,这次宣布只是给用户一个调整的时间,到了 Kafka 4.0,Java 8、Scala 2.12 将将正式取消支持。

其实,其他一些中间件也早有停止对 Java 8 的支持,选择 Java 11 作为最低支持版本,Java 8 虽然有点老了,但依然是现在市场上用的最多的版本,虽然有些中间件不再支持 Java 8 了,但实际开发工作并不受影响。

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

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

8、CentOS 8 正式终止

CentOS Linux 8 已于 2021 年 12 月 31 日终止:

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

CentOS 8 的终止,意味着以后都是 CentOS Stream 的天下了。。

RHEL(红帽企业 Linux)这是逼大家不得不使用付费版本?这其中的奥秘只有它自己清楚了!

所以现在不建议在生产环境中使用 CentOS Stream,已经使用 CentOS 8 的也建议退回到 CentOS 7 上面去,毕竟 CentOS 7 还是主流,稳定、可靠,并且支持到 2024 年 6 月 30日,短期内不会造成影响。

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

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

9、LayUI 官网下线

layui 官网将于 2021年10月13日 进行下线:

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

需要注意的是,LayUI 仅仅是从官网下线,但并不意味着终结,并不意味着 LayUI 的停止维护,后续新版本的发布,以及日常维护工作已经迁移到 Github/ gitee 代码托管平台了。

另外,LayUIAdmin 和 LayIM 也会迁移到新的官方网站,也仅仅是为老用户保留了一个下载通道而已,两者将不再面向新用户开放。

更多可以点击链接阅读往期回顾:

10、新生代农民工

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

其实,我们把 IT 人员纳入 "新生代农民工" 一说,还真有点过分解读了。

栈长再来明确下 新生代农民工 的定义:

  • 80 后
  • 16 岁及以上
  • 农村户口
  • 异地工作
  • 从事非农行业

同时满足以上 5 点,你才是"新生代农民工"!!!

所以说,"新生代农民工" 并非就等于 IT 民工,而是代表全行业,那个通告只是放大了 IT 民工,官方只是想强调说 IT 民工大幅提高了而已,两者并不是 == 的关系,而是 contains 的关系:

新生代农民工.contains(IT民工)

详细解读可以点击链接阅读往期回顾:

2022 来了!

好了,2021 给大家总结了 Java 技术栈的一些重大事件,希望对大家有帮助。

最后祝大家 2022 新年快乐,虎年大吉,生龙活虎,虎虎生威!!

无需赞赏,有收获大家转发一波就好,感谢支持~

版权声明!!!


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

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

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

点个在看你最好看