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


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

    去年栈长给大家盘点了《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 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/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日,短期内不会造成影响。

    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开发手册(嵩山版)》最新发布,速速下载!

    觉得不错,别忘了随手点赞+转发哦!

  • 相关阅读:
    面向对象高级
    面向对象基础总结
    面向对象基础剩余
    组合和封装
    继承与派生
    面向对象
    4.10
    4.9
    常用模块
    【转】CentOS: 开放80、22、3306端口操作
  • 原文地址:https://www.cnblogs.com/javastack/p/15762105.html
Copyright © 2020-2023  润新知