当前位置: 首页 > news >正文

JDK 24 发布,新特性解读!

一、版本演进与技术格局新动向

北京时间3月20日,Oracle正式发布Java SE 24。作为继Java 21之后的第三个非LTS版本,其技术革新力度远超预期——共集成24项JEP提案,相当于Java 22(12项)与Java 23(12项)的总和。值得关注的是,本次更新不仅包含语言层面的改进,更在密码学安全、运行时性能、并发模型等关键领域实现重大突破。

JDK版本特性数量统计

版本迭代关键节点

  • LTS路线:下一个长期支持版本Java 25将于2024年9月发布
  • 更新策略:持续强化预览特性转正机制,平均每个版本沉淀3-5项永久特性
  • 安全周期:非LTS版本维护期缩短至6个月,企业生产环境需谨慎评估

二、核心特性深度解读

2.1 密码学体系革新(JEP 478)

密钥派生函数(KDF) API的引入标志着Java正式进入后量子密码学时代。该特性通过标准化HKDF、Argon2等算法接口,为抵御量子计算攻击提供基础设施支持。

// 量子安全密钥派生示例
KDF hkdf = KDF.getInstance("HKDF-SHA3-512");
HKDFParameterSpec params = HKDFParameterSpec.ofExtract().addIKM(quantumSafeSeed).addSalt(nonce).thenExpand(applicationContext, 64);SecretKey encryptionKey = hkdf.deriveKey("AES-256", params);
SecretKey authKey = hkdf.deriveKey("HMAC", params);

技术影响

  • 支持NIST后量子密码学标准迁移
  • 实现密钥材料的安全分级管理
  • 消除硬编码密钥长度带来的安全隐患

2.2 启动性能革命(JEP 483)

类数据共享(CDS)技术的升级使大型应用启动时间降低40%+。通过预构建的类元数据缓存,JVM启动时跳过了重复的解析验证过程。

启动时间优化对比

实测数据

应用类型优化前优化后提升幅度
Spring Boot4.2s2.5s40.5%
Quarkus Native0.8s0.5s37.5%

2.3 类文件处理标准化(JEP 484)

取代ASM等第三方库的全新类文件API,提供类型安全的类操作方式:

ClassFile cf = ClassFile.of();
ClassModel model = cf.parse(bytecode);// 动态移除调试方法
byte[] optimized = cf.build(model.thisClass(), builder -> model.elements().stream().filter(e -> !(e instanceof MethodModel m && m.methodName().startsWith("debug_"))).forEach(builder::with));

优势对比

特性传统ASM类文件API
类型安全
版本兼容需手动处理自动适配
元数据保留易丢失完整保留

2.4 流式处理增强(JEP 485)

Stream::gather的引入打破了传统流式API的限制,支持声明式复杂数据处理:

// 实现滑动窗口统计
List<Double> movingAvg = sensorData.gather(Gatherer.windowSliding(5)).map(window -> window.stream().mapToDouble(Double::doubleValue).average()).toList();

典型应用场景

  • 时间序列分析
  • 自定义去重逻辑
  • 状态依赖转换
  • 分块批处理

2.5 虚拟线程优化(JEP 491)

突破性的同步锁优化使虚拟线程在synchronized块中不再固定平台线程:

synchronized(lock) {  // 即使阻塞也不占用物理线程var result = callExternalService();process(result);
}

性能对比测试

并发数传统线程池虚拟线程提升
100012.3s8.7s29.3%
10000OOM15.2s-

三、安全与工程化升级

3.1 量子签名算法(JEP 497)

集成ML-DSA算法,满足NIST SP 800-208标准要求:

KeyPairGenerator kpg = KeyPairGenerator.getInstance("ML-DSA-65");
KeyPair kp = kpg.generateKeyPair();Signature sig = Signature.getInstance("ML-DSA-65");
sig.initSign(kp.getPrivate());
sig.update(message);
byte[] signature = sig.sign();

3.2 安全管理器退役(JEP 486)

正式废弃存在25年的Security Manager:

  • 迁移路径:采用JEP 490(隔离容器)或JEP 411(权限委派)
  • 兼容方案:使用--disable-security-manager参数强制禁用

3.3 内存访问警告(JEP 498)

强化Unsafe API迁移策略,首次调用时输出标准警告:

WARNING: Unsafe memory access at com.example.Foo.bar(Foo.java:42)Consider using Foreign Function & Memory API

四、开发者体验提升

4.1 简化主方法(JEP 495)

降低Java学习曲线:

// 单文件模式
void main() {System.out.println("Hello, Modern Java!");
}

4.2 结构化并发(JEP 499)

第四轮预览引入错误传播优化:

try (var scope = new StructuredTaskScope.ShutdownOnFailure()) {Future<String> user = scope.fork(() -> fetchUser());Future<Integer> order = scope.fork(() -> fetchOrders());scope.join();return new Response(user.get(), order.get());
}

执行保证

  1. 子任务生命周期绑定到词法作用域
  2. 异常传播支持因果链追踪
  3. 线程资源自动清理

五、升级策略建议

  1. 评估清单

    • 检查安全管理器使用情况
    • 验证第三方库对Unsafe API的依赖
    • 测试CDS对现有应用的启动影响
  2. 迁移路线

    需要
    观望
    Java 17 LTS
    新特性评估
    Java 21 LTS
    Java 24
    Java 25 LTS
  3. 生产建议

    • 非LTS版本建议用于CI/CD流水线验证
    • 核心系统建议等待Java 25 LTS
    • 优先在无状态服务中试用虚拟线程

随着量子计算与云原生架构的快速发展,Java 24在安全体系、运行时性能、开发者体验等方面的创新,为现代应用开发提供了更强大的基础支撑。建议开发者重点关注密钥派生API、类文件处理标准化等特性,这些改进将深刻影响未来三年的Java技术演进方向。

相关文章:

JDK 24 发布,新特性解读!

一、版本演进与技术格局新动向 北京时间3月20日&#xff0c;Oracle正式发布Java SE 24。作为继Java 21之后的第三个非LTS版本&#xff0c;其技术革新力度远超预期——共集成24项JEP提案&#xff0c;相当于Java 22&#xff08;12项&#xff09;与Java 23&#xff08;12项&#…...

在 Qt 中,不带参数或整形的参选的信号能够从 std::thread 发送成功,而带枚举离线的信号却发送失败

在 Qt 中&#xff0c;不带参数或整形的参选的信号能够从 std::thread 发送成功&#xff0c;而带枚举离线的信号却发送失败 当信号和槽在不同线程时&#xff0c;默认使用 队列连接&#xff08;Qt::QueuedConnection&#xff09;&#xff0c;信号会被放入接收线程的事件队列&…...

慧通测控汽车智能座舱测试技术

一、引言 随着科技的飞速发展&#xff0c;汽车正从单纯的交通工具向智能化移动空间转变。智能座舱作为这一转变的核心体现&#xff0c;融合了多种先进技术&#xff0c;为用户带来前所未有的驾驶体验。从简单的信息娱乐系统到高度集成的人机交互、智能驾驶辅助以及车辆状态监测…...

【CSS】CSS 使用全教程

CSS 使用全教程 介绍 CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;是一种样式表语言&#xff0c;用于描述 HTML 或 XML 文档的布局和外观&#xff0c;它允许开发者将文档的内容结构与样式表现分离&#xff0c;通过定义一系列的样式规则来控制网页…...

【Linux知识】RPM软件包安装命令行详细说明

文章目录 概述安装软件包升级软件包卸载软件包查询软件包信息验证软件包从软件包中提取文件注意事项 概述 rpm&#xff08;Red Hat Package Manager&#xff09;是红帽系 Linux 发行版&#xff08;如 Red Hat、CentOS、Fedora 等&#xff09;用于管理软件包的工具&#xff0c;…...

SpringBoot3.0不建议使用spring.factories,使用AutoConfiguration.imports新的自动配置方案

文章目录 一、写在前面二、使用imports文件1、使用2、示例比对3、完整示例 参考资料 一、写在前面 spring.factories是一个位于META-INF/目录下的配置文件&#xff0c;它基于Java的SPI(Service Provider Interface)机制的变种实现。 这个文件的主要功能是允许开发者声明接口的…...

c++项目-KV存储-模仿redis实现kv键值对存储的基本功能。

KV存储引擎的技术解析&#xff1a;数组、哈希与红黑树实现及其在网络I/O中的应用。 内容概要&#xff1a;本文档深入介绍了基于数组、哈希表和红黑树的键值存储引擎的设计与实现。文档首先阐述了系统的总体架构与类图关系&#xff0c;之后分别对底层存储结构进行了详细解释&am…...

docker ssh远程连接

目录 操作命令&#xff1a; 确保 SSH 配置允许 root 登录&#xff1a; docker提交&#xff1a; 操作命令&#xff1a; # 进入容器 docker exec -ti lbg04 /bin/bash# 更新包管理并安装 SSH 服务&#xff08;Ubuntu/Debian 示例&#xff09; apt-get update apt-get install…...

边缘计算场景下的分布式推理系统架构设计

一、边缘节点推理优化 1.1 模型轻量化技术矩阵 1.2 TensorRT加速配置示例 # 使用TensorRT优化YOLOv8builder trt.Builder(TRT_LOGGER)network builder.create_network()parser trt.OnnxParser(network, TRT_LOGGER)with open("yolov8s.onnx", "rb") a…...

css基础-浮动

一、浮动是什么&#xff1f; 比喻&#xff1a;就像泳池里的救生圈 原始用途&#xff1a;让文字环绕图片&#xff08;像杂志排版&#xff09;意外发展&#xff1a;被用来做页面布局&#xff08;像用救生圈搭浮桥&#xff09; 二、浮动怎么产生的&#xff1f; 场景还原&#…...

Linux TTY设备汇总

目录 1. ‌tty(终端设备统称) 2. ‌ptm(伪终端主设备)与pts(伪终端从设备) 3. ‌ttys(串行端口终端) 4. ‌ttyACM(USB CDC ACM设备) 5. ‌ttyGS(USB Gadget Serial设备) 主要联系‌ ‌典型应用场景‌ TTY_CORE: drivers/tty/tty_io.c:tty_register_driver…...

Android studio组合教程--做出一个类似于QQ的登录页面

之前我们学过了html与Android的开发&#xff0c;以及各种组件的学习&#xff0c;这次我们做一个完整向的登录页面&#xff0c;作为一次大作业。 注意 里面的一图片可以自由发挥&#xff0c;但要注意文件路径保持准确&#xff0c;这里给出参考路径&#xff1a; 背景路径&…...

iPhone 16 Plus :凉凉了

大屏就是生产力&#xff0c;这句话就像思想钢印一样&#xff0c;深入人心。 但苹果用户是个例外&#xff0c;根据内行人的爆料&#xff0c;iPhone 16 Plus 彻底凉凉了&#xff0c;难怪它会是最后一代Plus。 根据知名博主数码闲聊站透露&#xff0c;截止3 月 9 号&#xff0c;i…...

【MySQL报错】:Column count doesn’t match value count at row 1

MySQL报错&#xff1a;Column count doesn’t match value count at row 1 意思是存储的数据与数据库表的字段类型定义不相匹配. 由于类似 insert 语句中&#xff0c;前后列数不等造成的 主要有3个易错点&#xff1a; 要传入表中的字段数和values后面的值的个数不相等。 由于类…...

2025 polarctf春季个人挑战赛web方向wp

来个弹窗 先用最基础的xss弹窗试一下 <script>alert("xss")</script>没有内容&#xff0c;猜测过滤了script&#xff0c;双写绕过一下 <scrscriptipt>alert("xss")</scscriptript>background 查看网页源代码 查看一下js文件 类…...

Midscene.js自然语言驱动的网页自动化全指南

一、概述 网页自动化在数据抓取、UI 测试和业务流程优化中发挥着重要作用。然而&#xff0c;传统工具如 Selenium 和 Puppeteer 要求用户具备编程技能&#xff0c;编写复杂的选择器和脚本维护成本高昂。Midscene.js 通过自然语言接口革新了这一领域&#xff0c;用户只需描述任…...

PDF与Markdown的量子纠缠:一场由VLM导演的文档界奇幻秀

缘起:当格式界的"泰坦尼克号"撞上"黑客帝国" 某个月黑风高的夜晚,在"二进制酒吧"的霓虹灯下: PDF(西装革履地晃着威士忌): “我的每一页都像瑞士手表般精密,连华尔街的秃鹫都为我倾倒!” Markdown(穿着带洞的拖鞋): “得了吧老古董!…...

Spring Boot JSON序列化深度管控:忽略指定字段+Jackson扩展策略破解双向实体循环引用问题

一、JsonIgnore的核心原理与工作机制 1. 注解作用原理 JsonIgnore是Jackson库的核心注解之一&#xff0c;其工作原理基于 Jackson的AnnotationIntrospector机制。在序列化/反序列化过程中&#xff0c;Jackson会扫描Java对象的所有字段和方法上的注解。当检测到JsonIgnore时&a…...

msvcp140.dll是什么文件?修复丢失msvcp140.dll的方法指南

当计算机显示"msvcp140.dll未找到"的报错信息时&#xff0c;这实际反映了Windows系统运行机制中的一个关键环节出现断链。作为Microsoft Visual C可再发行组件包的核心动态链接库&#xff0c;msvcp140.dll承担着程序与系统资源之间的桥梁作用&#xff0c;特别是在处理…...

ES集群的部署

实验步骤 实验目的&#xff1a; 验证ES集群的容错性、扩展性数据分布与查询性能优化。 环境准备​ ​1、准备两台服务器 服务器 1、10.1.1.20 cpu 2核 内存&#xff1a;4G 硬盘100G 2、10.1.1.21 cpu 2核 内存&#xff1a;4G 硬盘100G 2、修改两台静态ip 3、关闭防…...

resetForm() 方法用于重置表单

resetForm() 方法是 Vue.js 中用于重置表单的一个常见操作。下面是对这段代码的详细解析&#xff1a; 1. 代码作用 resetForm() 方法的作用是重置表单&#xff0c;将表单中的所有输入字段恢复到初始状态&#xff08;通常是清空或恢复到默认值&#xff09;。 2. 代码解析 re…...

Java后端API限流秘籍:高并发的防护伞与实战指南

目录导航 📜 🛡️ 为什么需要API限流?🧠 主流限流算法大解析👩‍💻 阿里巴巴的限流实践📏 四大黄金定律🤼 限流策略组合拳🏆 限流场景实战💻 技术实现方案🌟 最佳实践分享📈 结语与展望📚 推荐阅读 1. 🛡️ 为什么需要API限流? 在高并发环境中,未…...

团体协作项目总结Git

使用Git开放时候发现本地, 有些代码并没有被拉取到本地仓库, 又不想再commit一次, 这时候我就想到了 git commit --amend 合并提交 git commit --amend 修改git提交记录用法详解 可以将本次提交记录合并到上一次合并提交 git commit --amendgit rebase -i master^^ // 假设我…...

mysql 入门

1.已经下载过却卸载不干净&#xff1f;注册表清理不到位&#xff1f; 使用greek绿色版 强力卸载&#xff0c;可以一键卸载注册表里的信息。 2.如何启动mysql服务&#xff1f; 以管理员方式启动cmd 输入 net start mysql80 如何停止&#xff1f; net stop mysql80 2.将mysql客…...

1.基于TCP的简单套接字服务器实现

目录 1. TCP通信流程 2. 服务器端的通信流程 2.1 创建用于监听的套接字 2.2 绑定本地IP地址和端口 2.3 设置监听 2.4 等待接受客户端的连接请求 2.5 与客户端进行通信 2.6 客户端连接服务器 3.代码实现 client.cpp server.cpp 运行方式 在本文中&#xff0c;我们将…...

MantisBT在Windows10上安装部署详细步骤

MantisBT 是一款基于 Web 的开源缺陷跟踪系统&#xff0c;以下是在 Windows 10 上安装部署 MantisBT 的详细步骤&#xff1a; 1. 安装必要的环境 MantisBT 是一个基于 PHP 的 Web 应用程序&#xff0c;因此需要安装 Web 服务器&#xff08;如 Apache&#xff09;、PHP 和数据…...

zookeepernacoskafka之间的联系

一、ZooKeeper与Kafka的协同工作原理 1. 核心关系&#xff1a;Kafka对ZooKeeper的依赖 在Kafka 2.8版本之前&#xff0c;ZooKeeper是Kafka集群的“大脑”&#xff0c;负责管理集群元数据、协调节点状态和故障恢复。两者的协同主要通过以下关键机制实现&#xff1a; Broker注册…...

【QT】 布局器

参考博客&#xff1a;https://blog.csdn.net/Fdog_/article/details/107522283 目录 布局管理器概念常见的布局管理器及特点&#x1f535;QHBoxLayout水平布局&#x1f535;QVBoxLayout垂直布局 &#x1f535;QGridLayout网格布局 &#x1f535;QFormLayout表单布局 QT 高级布…...

力扣45.跳跃游戏

45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 代码区&#xff1a; #include<vector> class Solution {public:int jump(vector<int>& nums) {int ans[10005] ;memset(ans,1e4,sizeof(ans));ans[0]0;for(int i0;i<nums.size();i){for(int j1;j…...

【蓝桥杯】真题 路径(数论+dp)

思路 求最小公倍数LCM问题很好求&#xff0c;这里看似是求图最短路径&#xff0c;实际上由于只有[i,i21]之间存在路径&#xff0c;所以用线性dp效率更高&#xff0c;当然用bfs&#xff0c;dijstra&#xff0c;floyed也可&#xff0c;毕竟是填空题。 code def gcd(a,b):if a …...

敏捷需求分析之INVEST原则

INVEST原则是什么 INVEST 是用户故事的六个核心标准,由敏捷教练 Bill Wake 提出,用于确保用户故事具备可执行性和价值导向性。 1. I - Independent(独立的) 含义:用户故事应独立于其他故事,避免依赖关系。问题:若故事 A 必须等待故事 B 完成才能开发,会导致进度阻塞。…...

Apache Flink技术原理深入解析:任务执行流程全景图

前言 本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 思维导图 📌 引言 Apache Flink 作为一款高性能的分布式流处理引擎,其内部执行机制精妙而复杂。本文将…...

UE5小石子阴影在非常近距离才显示的问题

Unreal中采用LandscapeGrass生成的地形&#xff0c;在MovieRenderQueue中渲染时阴影显示距离有问题&#xff0c;在很近的时候才会有影子&#xff0c;怎么解决&#xff1f; 地面上通过grass生成的小石子的阴影只能在很近的时候才能显示出来&#xff0c;需要如下调整 r.Shadow.R…...

WebAssembly实践,性能也有局限性

个人博客原文地址 WebAssembly&#xff08;简称 wasm&#xff09; 是一种旨在突破 Web 性能瓶颈的技术方案。它由 W3C 官方推动&#xff0c;并且得到了主流浏览器的广泛支持。它的核心思想是通过运行其他高性能编程语言&#xff08;比如 C、C、Rust 等&#xff09;来实现复杂功…...

第一天学爬虫

阅读提示&#xff1a;我今天才开始尝试爬虫&#xff0c;写的不好请见谅。 一、准备工具 requests库&#xff1a;发送HTTP请求并获取网页内容。BeautifulSoup库&#xff1a;解析HTML页面并提取数据。pandas库&#xff1a;保存抓取到的数据到CSV文件中。 二、爬取步骤 发送请求…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(11)

1.问题描述&#xff1a; 鸿蒙push右侧图表没有正常展示。 解决方案&#xff1a; .jpg格式文件&#xff0c;头信息必须是这个“jpg&#xff1a;ffd8”。 2.问题描述&#xff1a; 安卓端App在开发者平台申请了Android应用的通知消息自分类权益&#xff0c;鸿蒙应用的自分类权…...

Spring WebSecurityCustomizer 的作用

Spring WebSecurityCustomizer 是 Spring Security 框架中用来 自定义 Web 安全配置 的一个接口。 它的主要作用是在开发中我们能够 精细的控制哪些请求会被 Spring Security 完全忽略&#xff0c;不进行任何安全检查和过滤。 我们可以把它想象成是 Spring Security 大门上的一…...

uniapp动态循环表单校验失败:初始值校验

问题现象 💥 在实现动态增减的单价输入表单时(基于uv-form组件),遇到以下诡异现象: <uv-input>的v-model绑定初始值为数字类型时,required规则失效 ❌数字类型与字符串类型校验表现不一致 🔢技术栈背景 🛠️ 框架:Vue3 + uni-appUI库:uv-ui校验方案:计算属…...

线性代数核心概念与NumPy科学计算实战全解析

前言 学习方法&#xff1a; 思维导图&#xff0c;梳理 多记忆&#xff0c;函数名和功能&#xff0c;参数 学会应用&#xff0c;不要钻牛角尖 一、浅解线性代数 1.1标量 标量是一个只有大小没有方向的量。在数学上&#xff0c;标量通常表示为一个普通的数字&#xff0c;如‌质量…...

如何理解 Apache Iceberg 与湖仓一体(Lakehouse)?

一、什么是湖仓一体&#xff08;Lakehouse&#xff09;&#xff1f; 湖仓一体是一种融合了数据湖的灵活存储能力与数据仓库的高效分析功能的现代数据架构。它通过整合两者的优势&#xff0c;解决了传统架构的局限性&#xff0c;为企业数据处理提供了更全面的解决方案。 数据湖…...

若依框架二次开发——若依集成 JSEncrypt 实现密码加密传输方式

文章目录 一、问题场景二、相关技术介绍1. RSA 加密算法2. JSEncrypt三、实现步骤1. 前端加密处理2. 后端解密处理3. 登录逻辑处理四、测试流程1. 前端测试2. 后端测试3. 运行效果五、总结一、问题场景 在 RuoYi 系统中,默认情况下,用户在登录时会将明文密码直接传输到服务器…...

Rust Web 开发新选择:探索 Hyperlane 轻量级 HTTP 服务器框架

Rust Web 开发新选择&#xff1a;探索 Hyperlane 轻量级 HTTP 服务器框架 在 Web 开发领域&#xff0c;Rust 以其高性能和内存安全性逐渐受到关注。而在众多 Web 框架中&#xff0c;hyperlane 作为一款轻量级、高性能的 HTTP 服务器框架&#xff0c;正悄然成为 Rust 生态中的明…...

初识 模版 和 STL

前言 今天简单和大家分享一下C重要的两个内容&#xff0c;经过之前的学习我们已经了解了C的大致语法&#xff0c;接下来就是C相关的库和一些操作了&#xff0c;他们能极大地缩小我们C语言阶段的代码量&#xff0c;让写代码变得轻松起来。 1.关于模版 <1>泛型编程 我们学…...

加新题了,MySQL 8.0 OCP 认证考试 题库更新

MySQL 8.0 OCP 认证考试 题库更新 MySQL 8.0 Database Administrator 考试科目&#xff1a;1Z0-908 近期发现&#xff0c;MySQL OCP认证考试题库发生变化&#xff0c;出现了很多新题&#xff0c;对此&#xff0c;CUUG专门收集整理了最新版本的MySQL考试原题&#xff0c;并会给…...

26考研——树与二叉树_树、森林(5)

408答疑 文章目录 二、树、森林树的基本概念树的定义和特性树的定义树的特性 基本术语树的基本术语和概念祖先、子孙、双亲、孩子、兄弟和堂兄弟结点的层次、度、深度和高度树的度和高度分支结点和叶结点有序树和无序树路径和路径长度 森林的基本术语和概念森林的定义森林与树的…...

26考研——图_图的基本概念(6)

408答疑 文章目录 一、图的基本概念图的定义非空性非线性结构 顶点和边的表示顶点边 有向图 & 无向图有向图有向图 G 1 G_1 G1​ 的表示 无向图无向图 G 2 G_2 G2​ 的表示 简单图 & 多重图简单图多重图 顶点的度、入度和出度顶点的度有向图的度 路径、路径长度和回路…...

笔试面试01 c/c++

基础知识 什么是数据结构&#xff1f;请简要描述常见的数据结构类型。 数据结构是组织和存储数据的方式&#xff0c;以便于高效访问和修改。常见的数据结构包括&#xff1a; 数组&#xff1a;固定大小的线性数据结构&#xff0c;支持随机访问。 链表&#xff1a;由节点组成的线…...

2025清华大学:DeepSeek教程全集(PDF+视频精讲,共10份).zip

一、资料列表 第一课&#xff1a;Deepseek基础入门 第二课&#xff1a;DeepSeek赋能职场 第三课&#xff1a;普通人如何抓住DeepSeek红利 第四课&#xff1a;让科研像聊天一样简单 第五课&#xff1a;DeepSeek与AI幻觉 第六课&#xff1a;基于DeepSeek的AI音乐词曲的创造法 第…...

消息队列(Kafka及RocketMQ等对比联系)

目录 消息队列 一、为什么使用消息队列&#xff1f;消息队列有什么优点/缺点&#xff1f;介绍下Kafka、ActiveMQ、RabbitMQ、RocketMQ有什么优点缺点&#xff0c;如何取舍&#xff1f; 1.公司业务场景是什么&#xff0c;这个业务场景有什么挑战&#xff0c;如果不用MQ有什么麻…...

Go 语言 fmt 模块的完整方法详解及示例

以下是 Go 语言 fmt 模块的完整方法详解及示例&#xff0c;涵盖所有核心功能&#xff1a; 一、输出函数 将数据写入标准输出、文件或字符串。 1. Print / Println / Printf 功能 Print: 写入标准输出&#xff0c;不换行。Println: 写入标准输出并换行。Printf: 格式化写入标…...