Ohhnews

分类导航

Baeldung

JDK 26 性能改进全面解析

JDK 26 包含超过1000项增强,重点覆盖类库、垃圾回收器、编译器与运行时性能。JEP 526 引入第二次预览的惰性常量 API,可延迟构建昂贵对象并免除同步开销;MemorySegment.getString() 减少中间分配与拷贝,记录类的 hashCode() 获得更好的类型分析,AES、ML-DSA 与椭圆曲线 P-256 运算也得到优化。JEP 522 为 G1 增加第二张卡表,降低写屏障同步成本,引用更新密集的场景吞吐量提升约5%至15%。JEP 516 让 AOT 对象缓存兼容所有垃圾回收器,包括 ZGC。默认初始堆改用 MinHeapSize,减少启动阶段的准备工作。C2 编译器可优化参数列表超长的方法并改进 SuperWord 向量化成本模型,虚拟线程在等待类初始化时也能卸载载体线程。升级时应以生产级负载在同一配置下对比启动时间、吞吐量与 GC 暂停分布。
#jdk 26#java#性能优化#垃圾回收#虚拟线程
$ more
Baeldung

Spring AI 结构化输出实战指南

本文介绍如何借助 Spring AI 从大语言模型获取结构化输出,从而避免直接处理原始文本、方便在程序中直接使用。文章首先演示项目搭建:引入 OpenAI 启动依赖,在配置文件中设置 API Key 与聊天模型,Spring AI 会自动创建 ChatModel 与 ChatClient,并定义一个包含嵌套记录与枚举的 Recipe 领域实体。随后展示通过 ChatClient 的 entity() 方法将模型回复直接映射为 Java 对象,其内部流程为依据目标类型生成 JSON Schema、附加格式指令并在收到回复后反序列化。针对模型可能不遵守格式的情况,文章给出两种自纠正方案:一是客户端使用 validateSchema() 或 StructuredOutputValidationAdvisor 校验并回传错误重试;二是通过 useProviderStructuredOutput() 交由服务商保证合规。此外还介绍了将响应转换为列表与映射的方式、直接使用 ChatModel 与转换器手动解析的做法,以及通过实现 StructuredOutputConverter 接口编写自定义转换器(如 YAML 输出)的完整示例。
#spring ai#结构化输出#大语言模型#java#数据转换
$ more
Spring Blog

Spring Boot 4.2.0-M2 现已发布

Spring Boot 4.2.0-M2 已发布,并可从 Maven Central 获取。该版本包含 141 项增强、文档改进、依赖升级和错误修复。值得关注的新特性包括:LDAP 的 SSL bundle 支持,涵盖嵌入式 LDAP 服务器的 LDAPS 支持;支持 OpenTelemetry 语义约定,以及常见 OTLP 端点、请求头和压缩配置。更多细节和升级说明请参阅发布说明。
#spring boot#版本发布#java框架#ldap#opentelemetry
$ more
Spring Blog

Spring AI 2.1.0-M1 里程碑版本正式发布

Spring AI 团队发布 2.1.0-M1 里程碑版本,已上线 Maven Central。该版本以 Spring Boot 4.2 为基线,是 2.1 系列的首个里程碑,带来三项新能力:消息内容改为有序的 MessagePart 结构(含文本、推理、工具调用、工具结果、媒体及未知部件),新增对 OpenAI Responses API 的支持,并允许将预先计算好的向量写入向量库。新的 OpenAiResponsesChatModel 面向 GPT-5.4 等旗舰模型,可在推理模式下进行工具调用,且保持无状态,兼容现有记忆、顾问与 RAG 机制。VectorStore.upsert() 支持直接写入外部生成的向量,pgvector、Redis、Elasticsearch 与 Qdrant 已支持。版本还修复了 OpenAI 超时配置被覆盖、严格模式工具模式缺少 additionalProperties、Bedrock 空文本块报错、TextReader 资源泄漏等问题。后续 2.1.0-RC1 将把消息部件推广至所有模型实现,并引入会话管理。
#spring ai#人工智能#openai#向量数据库#版本发布
$ more
foojay

Codename One发布VoIP与VPN原生API,构建器自动完成平台集成

Codename One 通过包触发的构建器机制,在保持单一 Java/Kotlin 代码库的前提下,为应用加入了原生的通话管理与托管 VPN 能力。新的 Calls API 将应用通话状态接入 iOS 的 CallKit 和 Android 的自管理 ConnectionService,媒体与信令栈仍由开发者自行掌控,且仅在原生音频会话激活后才启动媒体。Vpn API 支持在 iOS 与 Android 上安装和控制托管 IKEv2 配置文件(iOS 还支持 IPsec),操作系统负责用户授权与凭据存储;VpnTunnel 则暴露原始 IP 数据包,供开发者实现自定义隧道,其中 iOS 需借助构建器生成并签名独立的网络扩展。此外本次更新还包含原生模态对话框、基于 AppKit 的原生 Mac 应用、短信验证码自动填充、联系人选择器,以及每日监控 Apple 与 Google 平台变更的自动化任务。整体设计遵循最小权限与窄默认范围,未使用的包不会引入多余的原生组件与权限。
#codename one#voip#vpn#跨平台开发#原生集成
$ more
foojay

BoxLang AI 3.4.0发布:网关、人在回路与完整安全栈

BoxLang AI 3.4.0 发布,主题是信任。新增 IGateway 网关接口,提供 CLI、HTTP、Mock 网关,实现平台事件与 AI 代理的双向交互,可接入人在回路中间件。人在回路功能重构,审批策略与交互流程分离,支持持久化审批决策和批量审批,一次挂起多个待授权工具调用,覆盖 OpenAI、Claude、Bedrock、Cohere。安全功能采用三层可选防护:输入消毒、不可信内容围栏和输出防护,包括 Unicode 规范化与零宽字符清理。新版本统一跨提供商推理输出,新增 cancelRun、steerRun 运行控制、aiGatewaySession 网关会话,扩展 AWS Bedrock 认证、Guardrails 与嵌入支持。SummaryMemory 可按 token 触发摘要,默认请求超时从 45 秒提高到 90 秒,并修复 Claude、Bedrock、Cohere 中间件等问题。
#boxlang ai#ai代理#人在回路#安全防护#网关
$ more
Jetbrains Blog

PhpStorm公布新一批PHP开源项目赞助名单

PhpStorm回顾了其推出开源赞助计划一年来的进展,并公布了新一批受赞助的开源项目。该计划每年挑选五个开源项目进行为期一年的资助,目的不仅是提供资金支持,也在于提升外界对开源在PHP开发中关键作用的认识,并鼓励更多人参与贡献。经多方征集与筛选,本年度入选项目包括:PHPUnit 作者兼维护者 Sebastian Bergmann、本地PHP环境与服务器管理工具 Lerd 的开发者 George Dumitrescu、被 FrankenPHP 和 Native PHP 等项目使用的 static-php-cli 开发者 Jerry Ma、被视为现代PHP基石的 Composer,以及关注包容性的 Larabelles。官方同时感谢所有提交建议的人,并表示将继续赞助 PHP 基金会,呼吁更多个人与组织加入支持行列,共同推动PHP生态变得更好。
#phpstorm#php#开源#项目赞助#jetbrains
$ more
Jetbrains Blog

设计 Kotlin Multiplatform 与 TeamCity 集成

JetBrains 分享了为 Kotlin Multiplatform 设计并构建 TeamCity 集成的方法。该集成通过渐进式引导,帮助面向 iOS 的 KMP 开发者从首次 Git 推送,走到测试构建、TestFlight 发布和全自动流水线,全程无需离开 IDE。文章指出 iOS 发布面临 macOS 基础设施昂贵、Apple 签名配置复杂、IDE 到 CI/CD 缺少引导等痛点。目标是让开发者无需 CI/CD 经验和 Mac,借助 TeamCity Cloud 的托管 macOS 代理与免费构建额度完成任务。流程分三阶段:构建测试、发布、自动化。设计团队先梳理 10 步旅程,并在 6 月进行约 10 次可用性测试。关键决策包括:首次推送后适时提示配置 CI;生成 teamcity.yaml、Fastfile、Appfile、Gemfile 并保持本地未提交,先远程验证;用一个表单收集 App Store Connect API 密钥、团队 ID、Bundle ID 和分发证书。连接 GitHub 后,每次推送自动构建、测试、签名并上传 TestFlight。KMP 文档已提供相关教程。
#kotlin multiplatform#teamcity#ci/cd#ios 发布#开发工具
$ more
Spring Blog

Spring Cloud 2026.0.0-M1(代号 Paddington)正式发布

Spring Cloud 社区宣布 2026.0.0-M1(代号 Paddington)发布列车的首个里程碑版本正式发布,该版本基于 Spring Boot 4.2.0-M2,可从 Spring 里程碑仓库获取。本次更新涉及多个组件:Spring Cloud Circuitbreaker 升级至 Resilience4J 2.4.0;Spring Cloud Config 新增 HTTP 属性路径通知器以及 Azure DevOps 工作负载身份支持;Spring Cloud Gateway 将重试机制由 Reactor Addons 迁移至框架核心重试,并修复了不受信任代理的转发头问题;Spring Cloud OpenFeign 升级至 Feign 13.14;Spring Cloud Vault 升级至 Spring Vault 4.1.0。发布列车下各模块版本统一更新为 5.1.0-M1,Starter Build 为 2026.0.0-M1。开发者可通过 Maven BOM 或 Gradle 依赖管理方式引入,官方欢迎社区在 GitHub、Gitter、Stack Overflow 及 Twitter 上反馈意见。
#spring cloud#微服务#spring boot#版本发布#开源框架
$ more
Spring Blog

Spring Security 7.2.0-M2 版本发布

Spring Security 团队宣布发布 7.2.0-M2 里程碑版本。该版本详细变更内容可查阅 GitHub 上的 7.2.0-M2 版本说明。开发者可通过 Spring 项目主页、GitHub 仓库、问题追踪页面及官方文档获取更多信息。此版本为预览性质,供社区提前体验与反馈。
#spring security#版本发布#java#安全框架#开源软件
$ more