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

重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建

引言:从技术迭代到安全范式的根本性跃迁

在量子计算威胁渐近、分布式系统架构复杂化、数据资产价值指数级增长的 2025 年,Java 平台迎来了自 Java 1.0 以来最具革命性的安全架构升级 ——Java 24 版本。这不仅仅是一次常规的特性更新,而是通过后量子密码学体系的底层重构、密钥生命周期管理的范式革新、传输协议栈的深度优化以及安全编程模型的立体化演进,构建起面向未来十年的网络安全防御体系。本文将从技术实现、工程实践、生态影响三个维度,剖析 Java 24 如何重新定义企业级安全开发的技术基准,为数字化转型提供可信赖的安全底座。

一、后量子密码学:破解 "量子霸权" 威胁的底层防御矩阵

(一)格基密码学的工程化落地:从理论到 JDK 的完整映射

Java 24 通过 JEP 496/497 实现了 NIST 第三轮后量子密码标准的核心算法 —— 模块晶格密钥封装机制(ML-KEM)与数字签名方案(ML-DSA)。区别于传统基于大整数分解的 RSA 算法和椭圆曲线离散对数的 ECDSA 算法,格基密码学的数学安全性建立在最坏情况下的最短向量问题(SVP),能够抵御量子计算机的 Shor 算法攻击。JDK 实现中创新性地采用了 NTT(数论变换)优化的多项式乘法,将 ML-KEM 的密钥协商时延控制在 8ms 以内(较原型实现提升 40%),同时通过 SIMD 指令集并行化签名验证流程,使 ML-DSA 的验证效率达到 3 万次 / 秒(128 位安全强度)。

java

// 基于模块化编程的后量子密码工厂模式
public interface PostQuantumCryptoFactory {KEM createKEM(); // 密钥封装机制工厂DSASigner createDSASigner(); // 数字签名工厂default KeyPair generateKeyPair() {return new KeyPair(createPublicKey(), createPrivateKey());}
}// 硬件加速感知的ML-KEM实现
public class AcceleratedMLKEM implements KEM {private final boolean isASMICapable;public AcceleratedMLKEM() {this.isASMICapable = CPUFeatureDetector.hasAdvancedSIMD();}// 自适应选择汇编优化或纯Java实现@Override public byte[] encapsulate(PublicKey publicKey) {return isASMICapable ? nativeEncapsulate(publicKey) : javaEncapsulate(publicKey);}
}

(二)密钥派生的立体化管理:从单维生成到多维衍生的安全进化

全新的javax.crypto.KDF框架引入了基于上下文的密钥派生机制,支持动态熵源注入与用途标记(Usage Tag)。在金融支付场景中,可根据交易类型(扫码支付 / 指纹支付)、设备指纹、时间戳等多维参数,通过 HKDF-SHA512 算法派生不同用途的会话密钥,实现 "一交易一密钥" 的精细化管理。JEP 478 定义的密钥派生策略引擎,允许开发者通过 DSL 语言定义复杂的派生规则:

java

// 基于领域特定语言的密钥派生策略
KeyDerivationPolicy policy = KeyDerivationPolicy.builder().withEntropySource(DeviceFingerprint::collect) // 设备指纹作为熵源.withSaltProvider(UUID::randomUUID) // 动态盐值生成.withKeyLength(256, 512) // 支持256/512位密钥长度.withPurposeRestriction(Purpose.TRANSPORT, Purpose.AUTHENTICATION) // 用途限制.build();SecretKey sessionKey = KDF.getInstance("HKDF-SHA512").withPolicy(policy).deriveKey(initialSecret);

二、密钥生命周期管理:构建全链路可追溯的安全闭环

(一)新一代密钥存储格式 JKS2 的技术突破

Java 24 推出的 JKS2 格式采用分层加密架构:最内层密钥使用 AES-256-GCM-SIV 加密,密钥加密密钥(KEK)通过 PBKDF2-HMAC-SHA512 结合硬件随机数生成器(HRNG)派生,外层存储结构采用 CBOR(Concise Binary Object Representation)进行序列化,较传统 JKS 格式提升 60% 的存储效率。特别在云环境中,JKS2 支持与 AWS KMS、HashiCorp Vault 等密钥管理服务(KMS)的无缝对接,实现钥的云端托管与本地化透明加解密:

java

// 云KMS集成的密钥库加载
KeyStore kmsKeystore = KeyStore.getInstance("JKS2-KMS");
kmsKeystore.load(new URL("vault://my-vault/keys"), new KMSKeyStoreParameters("arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"));

(二)动态证书路径验证引擎

增强的CertPathValidator引入了基于贝叶斯信任模型的动态验证策略,支持实时风险评估的证书链构建。当验证银行 API 证书时,系统可根据证书颁发机构(CA)的实时信誉评分、证书 revocation 状态变化频率、请求源 IP 的地理风险等级等参数,自动调整验证深度与 CRL 检查频率。JEP 494 定义的验证策略脚本语言,允许安全管理员通过声明式语法定义复杂验证逻辑:

vb

// 声明式证书验证策略示例
Policy {When {SubjectDN matches "CN=*.bank.com" ANDIssuerDN equals "CN=GlobalTrust CA, O=GlobalTrust" ANDNetworkLocation in ["TrustedLAN", "SecureVPN"]} Then {Allow with {MaxPathLength 3,RevocationCheck Interval 5m,KeyUsage { DigitalSignature, KeyEncipherment }}}
}

三、传输协议栈的深度进化:从连接安全到数据流动的全程守护

(一)TLS 1.4 的生产级优化与 QUIC 协议集成

Java 24 对 TLS 1.4 的实现进行了深度优化,通过预共享密钥(PSK)缓存技术将重复握手时延降低至 50ms 以内,结合 AES-GCM 的硬件加速指令,使加密吞吐量达到 2.1GB/s(256 位密钥)。在 HTTP/3 协议栈中,基于 QUIC 的传输层实现了连接迁移(Connection Migration)与前向冗余纠错(FEC),在丢包率 15% 的弱网环境下,文件传输耗时较 HTTP/2 降低 35%。值得关注的是,Java 24 的 QUIC 实现支持动态拥塞控制算法切换,可根据网络类型自动选择 CUBIC、BBR 或新的 QBR 算法:

java

// 智能拥塞控制的HTTP/3客户端
HttpClient client = HttpClient.newBuilder().version(HttpClient.Version.HTTP_3).protocolConfiguration(quicConfig -> {quicConfig.setCongestionController(NetworkType.detect() == NetworkType.MOBILE ? "qbr" : "bbr");quicConfig.setMaxIdleTimeout(Duration.ofSeconds(30));}).build();

(二)证书透明度的自动化实施

通过集成 Certificate Transparency(CT)日志系统,Java 24 实现了证书签发的全链路监控。当客户端验证服务器证书时,会自动查询多个 CT 日志服务器,验证证书是否存在于合法签发记录中。对于金融类应用,系统可配置严格模式,要求证书必须同时存在于至少 3 个不同的 CT 日志中才视为有效,从根源上杜绝证书伪造攻击:

java

// 多日志验证的CT配置
CTConfig ctConfig = CTConfig.builder().addLogServer("https://ct.googleapis.com/pilot-project/ct/v1/ct/v1/get-entries").addLogServer("https://log2.example.com/ct/v1/get-entries").setRequiredLogCount(3).build();SSLContext context = SSLContext.getInstance("TLS").withCTConfig(ctConfig).init(keyManagers, trustManagers, random);

四、安全编程模型:从语言特性到框架设计的范式升级

(一)密封类驱动的安全继承体系

Java 24 的密封类(Sealed Class)特性在安全策略设计中展现出独特价值。通过permits关键字严格限定子类实现,可防止恶意代码通过继承篡改安全核心逻辑。在访问控制框架中,基础策略类SecurityPolicy仅允许受信任的DefaultPolicyCustomPolicy子类实现,从语言层面杜绝继承污染风险:

java

// 密封类构建的安全策略层次
public sealed class SecurityPolicy permits DefaultPolicy, CustomPolicy {public abstract boolean checkPermission(Permission perm);protected final void validatePolicy() {// 不可篡改的策略验证逻辑}
}final class DefaultPolicy extends SecurityPolicy {// 具体策略实现
}

(二)结构化并发的安全上下文管理

JEP 499 引入的结构化并发模型通过Scope对象实现任务生命周期的严格管理,确保在多线程环境下安全上下文(如访问控制上下文、加密会话上下文)的正确传递与资源释放。在微服务调用链中,每个请求线程绑定的 TLS 会话密钥上下文,会随着Scope的结束而自动销毁,避免传统线程池模型中的上下文泄漏风险:

java

// 带安全上下文的结构化并发任务
try (Scope scope = Scope.open()) {SecurityContext securityContext = SecurityContext.getCurrent();scope.fork(() -> {SecurityContext.setCurrent(securityContext); // 继承父上下文performSensitiveOperation();});scope.fork(() -> {// 新任务自动创建隔离的安全上下文performNonSensitiveOperation();});
} // 作用域结束时自动清除所有上下文

五、企业级落地:从迁移路线到攻防实战的实施指南

(一)后量子迁移的三阶段路线图

  1. 风险评估阶段:通过静态代码分析工具(如 Fortify)扫描所有加密算法使用点,标记 RSA/ECDSA 等传统算法的调用位置,生成《量子风险热力图》
  2. 过渡兼容阶段:在网关层实现混合加密通道,同时支持传统算法与 ML-KEM/ML-DSA,通过 A/B 测试验证性能影响(建议初始流量配比 10%)
  3. 全面替换阶段:在业务峰值期进行压力测试,重点关注密钥协商吞吐量(建议不低于 2 万次 / 秒)和签名验证延迟(P99<10ms)

(二)攻防场景下的配置优化

  • DDoS 防御:在 HTTP/3 服务器配置中启用源地址令牌(STUN),将新连接建立速率限制在 1 万次 / 秒,同时开启 QUIC 的版本协商加密(QVS)
  • 零日攻击应对:通过动态密码套件黑名单,实时封禁发现漏洞的 TLS 加密算法(如当检测到 CC 攻击时自动禁用 ChaCha20-Poly1305)
  • 密钥泄露响应:结合 SIEM 系统,当检测到密钥库异常访问时,自动触发密钥轮换,并通过 JMX 接口实时更新受影响节点的密钥配置

六、性能基准与生态影响:重新定义安全 - 效率平衡点

(一)核心性能指标对比(基于 OpenJDK 24 EA 版测试)

测试项目Java 21 (TLS 1.3)Java 24 (TLS 1.4)提升幅度
完整握手时延(ms)1127830.3%
加密吞吐量(GB/s)1.82.327.8%
密钥协商 TPS15,00022,00046.7%
证书路径构建速率(次 / 秒)8001,20050.0%

(二)生态系统的协同进化

  • 容器化安全:与 Docker Trusted Registry 深度集成,JKS2 格式密钥库可直接作为 OCI 镜像签名密钥源
  • 云原生安全:Kubernetes 准入控制器(Admission Controller)支持基于 Java 24 安全策略的 Pod 安全策略验证
  • 边缘计算:针对 ARM 架构优化的后量子算法实现,在树莓派 4B 上实现低于 15ms 的密钥协商时延

结语:在不确定中构建确定的安全未来

Java 24 的网络安全特性升级,本质上是对 "数字信任" 这一互联网核心价值的重新夯实。从抵御量子威胁的密码学革命,到覆盖密钥全生命周期的管理体系,再到传输协议与编程模型的立体化创新,每一项技术突破都指向同一个目标 —— 在复杂多变的网络空间中,构建可预期、可验证、可追溯的安全基础设施。对于企业级开发者而言,这不仅是一次 API 的升级,更是一次安全思维的范式转换:从被动防御转向主动构建免疫能力,从单点安全加固转向体系化安全架构设计。当 Java 24 的安全特性真正融入千万个分布式系统、云原生应用和边缘设备时,我们将见证的不仅是技术的进步,更是整个数字世界信任机制的全面进化。这或许就是 Java 平台在诞生 28 年后,依然能够持续引领企业级技术创新的核心密码 —— 在技术迭代的浪潮中,始终将安全作为最底层的架构基因,为人类的数字化未来筑牢不可逾越的安全屏障。

相关文章:

重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建

引言&#xff1a;从技术迭代到安全范式的根本性跃迁 在量子计算威胁渐近、分布式系统架构复杂化、数据资产价值指数级增长的 2025 年&#xff0c;Java 平台迎来了自 Java 1.0 以来最具革命性的安全架构升级 ——Java 24 版本。这不仅仅是一次常规的特性更新&#xff0c;而是通…...

HTML倒数

前言 假设您需要一个网页打开后&#xff0c;自动间隔 N 秒进行一次自动刷新&#xff0c;且不依赖 js &#xff0c;那么本文可以帮助到您&#xff0c;以最简单的方式实现需求。 实现代码 TIPS&#xff1a;借助 <meta http-equiv"refresh" content"X"&g…...

【C++】类和对象(上)

文章目录 上文链接一、类&#xff08;class&#xff09;1. 类的定义2. 类与结构体3. 访问限定符4. 类域 二、对象1. 实例化2. 对象大小 三、this 指针1. 什么是 this 指针2. 小练习 上文链接 【C】入门基础知识&#xff08;下&#xff09; 一、类&#xff08;class&#xff09;…...

Transformer四模型回归打包(内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型)

Transformer四模型回归打包&#xff08;内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09; 目录 Transformer四模型回归打包&#xff08;内含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09;预测效果基本介绍程序设计参…...

多级缓存入门:Caffeine、Lua、OpenResty、Canal

之前写过——Google Guava Cache简介 本文系统学习一下多级缓存 目录 0.什么是多级缓存商品查询业务案例导入1.JVM进程缓存初识Caffeine实现JVM进程缓存2.Lua语法入门HelloWorld数据类型、变量和循环函数、条件控制3.Nginx业务编码实现多级缓存安装OpenRestyOpenResty快速入门…...

在AWS Glue中实现缓慢变化维度(SCD)的三种类型

根据缓慢变化维度&#xff08;SCD&#xff09;的三种核心类型&#xff08;类型1、类型2、类型3&#xff09;&#xff0c;以下是基于AWS Glue的实现设计、步骤及测试用例&#xff1a; 一、AWS Glue实现SCD的设计与步骤 1. SCD类型1&#xff08;覆盖旧值&#xff09; 设计目标&…...

业务校验工具包-validate-utils介绍

validate-utils介绍 1. 概述 validate-utils是一个基于Hibernate Validator的轻量级校验框架,旨在简化和增强Java应用程序中的数据校验工作。该工具包提供了一系列常见的校验场景,帮助开发人员快速实现数据验证,提高代码的可维护性和可靠性。 2. 功能特性 2.1 集合数据量…...

参数规模:衡量大语言模型体量的标尺

大语言模型的体量差异通过参数数量呈现。业界标杆如GPT-3拥有1750亿参数&#xff0c;Grok-1更达到3140亿级别&#xff0c;而Llama系列则提供70亿至700亿参数的轻量化选择。这里的"70B"并非指训练数据量&#xff0c;而是模型内部结构的复杂度指标——每个参数如同微型…...

JS 中call、apply 和 bind使用方法和场景

call 方法 核心特性 立即执行函数&#xff0c;并显式指定 this 值和逐个传递参数。语法&#xff1a;func.call(thisArg, arg1, arg2, …) 使用场景 借用其他对象的方法 const person { name: "Alice" }; function greet(greeting) {console.log(${greeting}, ${t…...

ZeroGrasp:零样本形状重建助力机器人抓取

25年4月来自CMU、TRI 和 丰田子公司 Woven 的论文“ZeroGrasp: Zero-Shot Shape Reconstruction Enabled Robotic Grasping”。 机器人抓取是具身系统的核心能力。许多方法直接基于部分信息输出抓取结果&#xff0c;而没有对场景的几何形状进行建模&#xff0c;导致运动效果不…...

第2讲、Tensor高级操作与自动求导详解

1. 前言 在深度学习模型中&#xff0c;Tensor是最基本的运算单元。本文将深入探讨PyTorch中两个核心概念&#xff1a; Tensor的广播机制&#xff08;Broadcasting&#xff09;**自动求导&#xff08;Autograd&#xff09;**机制 这些知识点不仅让你更加灵活地操作数据&#…...

(MySQL)表的操作

目录 表的创建 语法 创建表的案例 查看表的结构 修改表的操作 修改表名 ​编辑 添加一个字段(列) 修改一个字段的类型 修改字段名 删除字段名(删除列) 删除指定的表 表的插入数据 数据库的备份和恢复 我们来学习表的操作 表的创建 语法 CREATE TABLE [if not ex…...

函数的使用

函数绑定 fn.call(obj, param1, param2) fn.apply(obj, [param1, param2]) fn.bind(obj, param1, param2)()相同点&#xff1a; 都是借用别人&#xff08;fn&#xff09;的方法&#xff0c;替换其中的this&#xff08;第一个参数&#xff09;call和apply的不同点&#xff1a;a…...

LLM应用于自动驾驶方向相关论文整理(大模型在自动驾驶方向的相关研究)

1、《HILM-D: Towards High-Resolution Understanding in Multimodal Large Language Models for Autonomous Driving》 2023年9月发表的大模型做自动驾驶的论文&#xff0c;来自香港科技大学和人华为诺亚实验室&#xff08;代码开源&#xff09;。 论文简介&#xff1a; 本文…...

Spring MVC深度解析:从原理到实战

文章目录 一、Spring MVC概述1.1 MVC设计模式1.2 Spring MVC特点 二、Spring MVC核心组件2.1 架构流程图解2.2 核心组件说明 三、环境搭建与配置3.1 Maven依赖3.2 传统XML配置 vs JavaConfig 四、控制器开发实践4.1 基础控制器示例4.2 请求映射注解 五、数据处理与绑定5.1 表单…...

Spark学习全总结

基础概念&#xff1a; Spark 是一个快速、通用的大数据处理引擎&#xff0c;支持多种计算模式&#xff0c;如批处理、流处理、交互式查询和机器学习等。 特点: 速度快&#xff1a;基于内存计算&#xff0c;能将数据缓存在内存中&#xff0c;避免频繁读写磁盘&#xff0c;大幅…...

pytorch写张量pt文件,libtorch读张量pt文件

直接在pytorch中&#xff0c;用torch.save保存的张量&#xff0c;可能因格式差异无法在C中加载。 以下是一个最简单的例子&#xff0c;展示如何在 Pytorch中保存张量到 TorchScript 模块&#xff0c;并在 C 中使用 LibTorch 加载。 Python 代码 (save_tensor.py) import torc…...

关于Android Studio的Gradle各项配置2

好的&#xff01;你提到的这些文件是 Gradle 构建系统 和 Android 项目 中非常重要的一部分&#xff0c;它们各自有不同的作用&#xff0c;涉及项目的构建配置、Gradle 环境、系统配置等方面。接下来我会为你详细解释每个文件的作用&#xff0c;并提供具体的例子和注释。 1. gr…...

Android Studio中创建第一个Flutter项目

一、Flutter环境验证 创建Flutter项目之前需要验证是否有Flutter环境&#xff0c;如没有Flutter 环境&#xff0c;请参考配置Flutter开发环境 1.1、flutter doctor 验证通过会有以下提示 [√] Flutter (Channel stable, 3.29.3, on Microsoft Windows [版本 10.0.19045.573…...

Linux的例行性工作(crontab)

crontab服务 at 命令是在指定的时间只能执行一次任务, crontab 命令可以循环重复的执行定时任务,与 Windows 中的计划任务有些类似 crond 是 Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程&#xff0c;在安装完成操 作系统后&#xff0c;默认会安装 crond …...

03 基于 STM32 的温度控制系统

前言 Protues、KeilC 设计内容&#xff1a;使用STM32设计一个空调温度的显示控制系统 设计要求&#xff1a; 1.温度显示范围为16-30摄氏度 2.按键K1实现显示温度加1&#xff0c;按键K2实现显示温度减1&#xff0c;低于16或高于30&#xff0c;显示数值不变 3.正常按键蜂鸣器响一…...

23种设计模式-行为型模式之备忘录模式(Java版本)

Java 备忘录模式&#xff08;Memento Pattern&#xff09;详解 &#x1f9e0; 什么是备忘录模式&#xff1f; 备忘录模式是一种行为型设计模式&#xff0c;它允许在不暴露对象实现细节的情况下&#xff0c;保存和恢复对象的状态。备忘录模式常常用于需要记录对象状态以便随时…...

[三分钟]web自动化测试(二):selenium自动化测试常用函数(上)

文章目录 1.元素定位1.1 cssSelector(选择器)1.2 xpath1.3小示例 2.操作测试对象2.1点击/提交对象-click()2.2 模拟按键输入-sendKeys("")2.3 清除文本内容-clear()2.4 获取文本信息-getText()2.5 获取当前页面标题-getTitle()2.6获取当前页面URL-getCurrentUrl() 3.…...

基于ruoyi-plus实现AI聊天和绘画

项目介绍 基于ruoyi-plus实现AI聊天和绘画功能&#xff0c;打造自己的AI平台。前后端分离&#xff0c;有管理后台&#xff0c;用户端&#xff0c;小程序端。支持对接openai&#xff0c;讯飞星火&#xff0c;通义灵码&#xff0c;deepseek等大语言模型。项目架构 管理后台-前端&…...

假设检验学习总结

目录 一、假设检验1. 两种错误2. z检验和t检验3. t检验3.1 单样本t检验3.2 配对样本t检验3.3 独立样本t检验4 方差齐性检验备注卡方检验样本容量的计算AB测试主要的两种应用场景绝对量的计算公式率的计算公式说明一、假设检验 1. 两种错误 第一类错误 原假设为真,却拒绝了原假…...

C++ 基于多设计模式下的同步异步⽇志系统-2项目实现

⽇志系统框架设计 1.⽇志等级模块:对输出⽇志的等级进⾏划分&#xff0c;以便于控制⽇志的输出&#xff0c;并提供等级枚举转字符串功能。 ◦ OFF&#xff1a;关闭 ◦ DEBUG&#xff1a;调试&#xff0c;调试时的关键信息输出。 ◦ INFO&#xff1a;提⽰&#xff0c;普通的提⽰…...

Tauri窗口与界面管理:打造专业桌面应用体验 (入门系列五)

窗口管理是桌面应用的核心特性之一&#xff0c;良好的窗口管理可以显著提升用户体验。在Web开发中&#xff0c;我们通常被限制在浏览器窗口内&#xff0c;但Tauri允许前端开发者控制应用窗口的方方面面&#xff0c;从而创造出更加原生的体验。 窗口配置基础 初始窗口配置 在…...

golang goroutine(协程)和 channel(管道) 案例解析

文章目录 goroutine和channel概念开启线程与channel简单通信流程多个工作协程并发执行流程 goroutine和channel概念 goroutine(协程)&#xff0c;一般我们常见的是进程&#xff0c;线程&#xff0c;进程可以理解为一个软件在运行执行的过程&#xff0c;线程跟协程比较类似&…...

底层源码和具体测试解析HotSpot JVM的notify唤醒有序性(5000字详解)

在大家的认知里&#xff0c;或者大家也可能搜过&#xff0c;notify唤醒机制到底是随机的呢&#xff1f;还是顺序的呢&#xff1f;在网上其实也有很多人说notify的唤醒机制就是随机的&#xff0c;但实际上并不是这样的&#xff0c;notify的唤醒机制是先进先出的&#xff01; 目…...

Jenkins(CI/CD工具)

1. 什么是 Jenkins&#xff1f; Jenkins 是一个开源的持续集成&#xff08;CI&#xff09;和持续交付/部署&#xff08;CD&#xff09;工具&#xff0c;用于自动化软件构建、测试和部署过程。 2. Jenkins 优势 &#xff08;1&#xff09;开源免费&#xff1a;社区活跃&#…...

Apache Sqoop数据采集问题

Sqoop数据采集格式问题 一、Sqoop工作原理二、Sqoop命令格式三、Oracle数据采集格式问题四、Sqoop增量采集方案 Apache Sqoop是一款开源的工具&#xff0c;主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递&#xff0c;可以将一个关系型数据库&…...

再学GPIO(二)

GPIO寄存器 每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL&#xff0c;GPIOx_CRH)&#xff0c;两个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)&#xff0c;一个32位置位/复位寄存器(GPIOx_BSRR)&#xff0c;一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 GPIO…...

err: Error: Request failed with status code 400

好的&#xff0c;今天学习ai的时候从前端发送请求&#xff0c;实在是想不通为啥会啥是一个坏请求&#xff0c;后来从前端方法一个一个找参数&#xff0c;传递的值都有&#xff0c;然后想到我这边需要传递的是一个对象&#xff0c;那么后端使用的RequestParam就接收不到json对象…...

解决qnn htp 后端不支持boolean 数据类型的方法。

一、背景 1.1 问题原因 Qnn 模型在使用fp16的模型转换不支持类型是boolean的cast 算子&#xff0c;因为 htp 后端支持量化数据类型或者fp16&#xff0c;不支持boolean 类型。 ${QNN_SDK_ROOT_27}/bin/x86_64-linux-clang/qnn-model-lib-generator -c ./bge_small_fp16.cpp -b …...

k8s学习记录(五):Pod亲和性详解

一、前言 上一篇文章初步探讨了 Kubernetes 的节点亲和性&#xff0c;了解到它在 Pod 调度上比传统方式更灵活高效。今天我们继续讨论亲和性同时Kubernetes 的调度机制。 二、Pod亲和性 上一篇文章中我们介绍了节点亲和性&#xff0c;今天我们讲解一下Pod亲和性。首先我们先看…...

MongoDB与PHP7的集成与优化

MongoDB与PHP7的集成与优化 引言 随着互联网技术的飞速发展,数据库技术在现代软件开发中扮演着越来越重要的角色。MongoDB作为一种流行的NoSQL数据库,以其灵活的数据模型和强大的扩展性受到众多开发者的青睐。PHP7作为当前最流行的服务器端脚本语言之一,其性能和稳定性也得…...

maven相关概念深入介绍

1. pom.xml文件 就像Make的MakeFile、Ant的build.xml一样&#xff0c;Maven项目的核心是pom.xml。POM&#xff08;Project Object Model&#xff0c;项目对象模型&#xff09;定义了项目的基本信息&#xff0c;用于描述项目如何构建&#xff0c;声明项目依赖&#xff0c;等等。…...

以科技之力,启智慧出行 —— 阅读《NVIDIA 自动驾驶安全报告》及观看实验室视频有感

作为中南民族大学通信工程专业的学生&#xff0c;近期研读《NVIDIA 自动驾驶安全报告》并观看其实验室系列视频后&#xff0c;我深刻感受到自动驾驶技术不仅是一场交通革命&#xff0c;更是一次社会生产力的解放与民族精神的升华。这场变革的浪潮中&#xff0c;我看到了科技如何…...

2P4M-ASEMI机器人功率器件专用2P4M

编辑&#xff1a;LL 2P4M-ASEMI机器人功率器件专用2P4M 型号&#xff1a;2P4M 品牌&#xff1a;ASEMI 封装&#xff1a;TO-126 批号&#xff1a;最新 引脚数量&#xff1a;3 封装尺寸&#xff1a;如图 特性&#xff1a;双向可控硅 工作结温&#xff1a;-40℃~150℃ 在…...

基础的贝叶斯神经网络(BNN)回归

下面是一个最基础的贝叶斯神经网络&#xff08;BNN&#xff09;回归示例&#xff0c;采用PyTorch实现&#xff0c;适合入门理解。 这个例子用BNN拟合 y x 噪声 的一维回归问题&#xff0c;输出均值和不确定性&#xff08;方差&#xff09;。 import torch import torch.nn a…...

小黑享受思考心流: 73. 矩阵置零

小黑代码 class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""items []m len(matrix)n len(matrix[0])for i in range(m):for j in range(n):if not m…...

整合 | 大模型时代:微调技术在医疗智能问答矩阵的实战应用20250427

&#x1f50e; 整合 | 大模型时代&#xff1a;微调技术在医疗智能问答矩阵的实战应用 一、引言 在大模型技术高速变革的背景下&#xff0c;数据与微调技术不再是附属品&#xff0c;而是成为了AI能力深度重构的核心资产。 尤其在医疗行业中&#xff0c;微调技术改写了智能分诊和…...

Web安全:威胁解析与综合防护体系构建

Web安全&#xff1a;威胁解析与综合防护体系构建 Web安全是保护网站、应用程序及用户数据免受恶意攻击的核心领域。随着数字化转型加速&#xff0c;攻击手段日益复杂&#xff0c;防护需兼顾技术深度与系统性。以下从威胁分类、防护技术、最佳实践及未来趋势四个维度&#xff0…...

spring项目rabbitmq es项目启动命令

应该很多开发者遇到过需要启动中间件的情况&#xff0c;什么测试服务器挂了&#xff0c;服务连不上nacos了巴拉巴拉的&#xff0c;虽然是测试环境&#xff0c;但也会手忙脚乱&#xff0c;疯狂百度。 这里介绍一些实用方法 有各种不同的场景&#xff0c;一是重启&#xff0c;服…...

人工智能期末复习1

该笔记为2024.7出版的人工智能技术应用导论&#xff08;第二版&#xff09;课本部分的理论总结。 一、人工智能的产生与发展 概念&#xff1a;人工智能是通过计算机系统和模型模拟、延申和拓展人类智能的理论、方法、技术及应用系统的一门新的技术科学。 发展&#xff1a;19…...

深入理解指针(5)

字符指针变量 对下述代码进行调试 继续go,并且观察p2 弹出错误&#xff1a; 为什么报错呢&#xff1f; 因为常量字符串是不能被修改的&#xff0c;否则&#xff0c;编译器报错。 最后&#xff0c;打印一下&#xff1a; 《剑指offer》中收录了⼀道和字符串相关的笔试题&#…...

新魔百和CM311-5_CH/YST/ZG代工_GK6323V100C_2+8G蓝牙版_强刷卡刷固件包(可救砖)

新魔百和CM311-5_CH&#xff0f;YST&#xff0f;ZG代工_GK6323V100C_28G蓝牙版_强刷卡刷固件包&#xff08;可救砖&#xff09; 1、准备一个优盘卡刷强刷刷机&#xff0c;用一个usb2.0的8G以下U盘&#xff0c;fat32&#xff0c;2048块单分区格式化&#xff08;强刷对&#xff…...

磁盘清理git gc

#!/bin/bash find / -type d -name “.git” 2>/dev/null | while read -r git_dir; do repo_dir ( d i r n a m e " (dirname " (dirname"git_dir") echo “Optimizing r e p o d i r " c d " repo_dir" cd " repod​ir"cd&…...

django admin AttributeError: ‘UserResorce‘ object has no attribute ‘ID‘

在 Django 中遇到 AttributeError: ‘UserResource’ object has no attribute ‘ID’ 这类错误通常是因为你在代码中尝试访问一个不存在的属性。在你的例子中&#xff0c;错误提示表明 UserResource 类中没有名为 ID 的属性。这可能是由以下几个原因造成的&#xff1a; 拼写错…...

现代Python打包工具链

现代Python打包工具如Poetry、Flit和Hatch提供了更简单、更强大的方式来管理项目依赖和打包流程。下面我将通过具体示例详细介绍这三种工具。 1. Poetry - 全功能依赖管理工具 Poetry是最流行的现代Python项目管理工具之一&#xff0c;它集依赖管理、虚拟环境管理和打包发布于一…...