Ohhnews

分类导航

foojay

利用 JavaFX 26 Headless 模式在 GitHub Actions 中实现自动化测试

技术概述 本文介绍了如何利用 JavaFX 26 中新增的 Headless 平台原型,在无需显示输出的环境(如 GitHub Actions)中运行 JavaFX 动画相关的单元测试。作者以 Lottie4J 项目为例,通过配置 Maven Profile,在测试阶段切换至 Java 25 和 JavaFX 26 环境,并使用 -Dglass.platform=headless 参数启动 Headless 模式。这种方案成功解决了过去必须依赖显示器进行图形渲染测试的痛点,实现了对 Lottie 动画渲染结果的像素级自动化回归测试,极大地提升了开发效率与代码质量。
#javafx#github actions#自动化测试#headless模式#lottie4j
$ more
Baeldung

在Hibernate中实现日期范围查询的三种方法

本文介绍了在Hibernate中进行日期范围查询的三种主要技术方案:HQL、Criteria API以及原生SQL。作者重点分析了使用BETWEEN关键字与半开区间(>=起始日期且<结束日期)逻辑的差异,并建议在大多数场景下使用半开区间以避免边界值错误。文章还展示了如何利用Criteria API构建动态查询以处理可选过滤器,以及在必要时如何通过原生SQL调用特定数据库的功能。核心结论是优先使用HQL以保证可读性和跨数据库的可移植性。
#hibernate#java#数据库查询#日期处理#后端开发
$ more
DZone Java

揭秘:为何在 M1 Mac 的 Docker 中 Java RSS 内存持续增长

在 M1 Mac 上运行 x86-64 架构的 Java 容器时,常会出现常驻内存集(RSS)持续增长的问题,且伴随大量 128 MB 的 rwxp 内存区域。经调查,这是由于 Rosetta 2 在进行指令转换时,将 Java JIT 编译器生成的 x86-64 代码实时翻译为 ARM64 代码并存储在缓存中导致的。这种内存增长是模拟运行下的预期行为,而非内存泄漏。最有效的解决方案是构建并使用原生 ARM64 架构的 Docker 镜像,以避免模拟转换带来的额外内存开销和性能损失。
#java#docker#内存管理#rosetta 2#性能优化
$ more
Jetbrains Blog

PhpStorm 2026.2 抢先体验计划 (EAP) 正式启动

PhpStorm 2026.2 版本的抢先体验计划 (EAP) 现已正式开启。该版本重点关注三大领域:提升远程开发场景下的原生模式体验(特别是 WSL 2 和 Dev Containers),增强对 PHPDoc 泛型的理解,以及整体性能与稳定性的改进,包括缩短启动和索引时间。用户可以免费下载 EAP 版本参与测试并提供反馈。EAP 构建每周更新,支持与稳定版共存,并可通过 Toolbox App 轻松管理。
#phpstorm#软件开发#ide#远程开发#性能优化
$ more
Spring Blog

Spring一周动态:2026年5月12日

本周Spring生态要点 本期内容涵盖了Spring生态系统的多项更新与技术分享: 版本更新:Spring AI发布了1.0.7、1.1.6及2.0.0-M6版本,Spring Cloud修复了多项CVE安全漏洞。 AI与集成:探讨了基于Spring AI的图结构代理工作流构建,以及大型语言模型(LLM)在Java架构中的集成策略。 性能与架构:讨论了HikariCP与数据库锁对系统性能的影响,并推荐了一个基于Spring Boot的事件溯源库。 社区资源:包括关于测试Spring Boot应用的播客内容、Redis缓存教程以及相关的技术演讲。
#spring boot#人工智能#软件开发#数据库优化#开源框架
$ more
foojay

PrimeFaces 15.0.15 版本发布:重点优化组件稳定性与无障碍支持

版本概览 PrimeFaces 15.0.15 正式发布。本次更新主要聚焦于维护性提升,而非新增大型功能,旨在通过一系列小而实用的修复,增强组件在安全性、无障碍(Accessibility)及用户交互体验方面的表现。 核心更新点 安全性与交互:优化了 p:schedule 组件工具提示(Tooltip)的转义行为,有效防范潜在的 HTML 注入风险。 无障碍支持:改进了 SelectOneMenu 和 Panel 组件的 ARIA 属性,提升了屏幕阅读器的兼容性与语义准确度。 功能优化: 增强了确认对话框(ConfirmDialog)的 beforeShow 回调支持。 优化了 InputNumber 的数值格式化与交互逻辑。 修复了 TextEditor 粘贴内容时的隐藏字符清理问题。 改善了 PanelMenu 的状态保持能力及 BlockUI 的生命周期管理。 提升了 AutoComplete 的提示信息渲染及 Slider 的数值精度显示。 总结 此次更新体现了 PrimeFaces 在企业级 Java 服务端开发中的持续投入。通过对底层逻辑的打磨,确保了组件库在复杂业务场景下的稳定性与健壮性。
#primefaces#java#web开发#组件库#软件维护
$ more
DZone Java

AI如何重塑全栈Java系统:Spring Boot、Kafka与WebSocket的实践模式

本文探讨了如何通过事件驱动架构重塑全栈Java系统,以平衡用户响应速度与繁重的后端AI计算任务。核心架构方案包括: 事件生产:利用Spring Boot将请求快速发布至Kafka,实现业务解耦,确保前端响应的及时性。 AI驱动处理:通过Kafka消费者在后台异步执行AI模型推理或数据分析,不仅保证了系统可扩展性,还实现了故障隔离。 实时交付:借助WebSocket技术将处理结果即时推送至客户端,替代传统的轮询机制,提供低延迟的交互体验。 该架构通过模块化设计,将高负载任务从主请求链路中剥离,为构建智能、可扩展且响应迅速的实时应用提供了成熟的模式参考。
#人工智能#事件驱动架构#异步处理#实时通信#系统架构
$ more
Baeldung

Java每周技术精选:第645期

本周核心动态 本期Java Weekly主要聚焦于AI技术在Java开发领域的深度融合,重点推荐了JetBrains关于训练AI代理调试不稳定测试(Flaky Tests)的实践经验。此外,本期还涵盖了多个AI相关工具的进展,包括JobRunr推出的ClawRunr AI代理以及Quarkus Agent MCP的发布。 重点关注 技术生态:探讨了BoxLang AI的内存系统与RAG技术,以及如何构建AI代理团队。 框架更新:涵盖了Quarkus 3.35、WildFly 40 Beta、Hibernate工具链变动及Spring Office Hours播客等内容。 安全与性能:发布了针对CVE-2026-39852的安全紧急更新,并分享了关于IBM Semeru与OpenJ9共享类缓存的性能优化方案。 行业视野:Netflix分享了关于机器学习模型生命周期管理与路由设计的技术经验,探讨了AI时代下的开发范式转变。
#java#人工智能#软件开发#spring#技术动态
$ more
Jetbrains Blog

JetBrains MPS 2026.1 早期预览版 (EAP) 正式发布

MPS 2026.1 EAP 版本亮点 JetBrains 发布了 MPS 2026.1 的首个早期预览版 (EAP)。本次更新重点包括: 核心升级:迁移至 IntelliJ Platform 2026.1,支持 JDK 25 和 Kotlin 2.3。 自然语言支持:集成 Grazie 插件,支持对名称策略(Name Policy)进行多语言拼写及大写规则校验。 编辑器改进:支持二进制操作符多行显示,新增 read-only-inspector 编辑器样式。 构建与迁移优化:构建语言支持传递依赖,无需显式列出所有依赖项;优化了迁移过程中的依赖项记录机制,提升稳定性。 Java Stubs 增强:修复了多个长期存在的 Java 存根问题,提升了对内部类和泛型的解析准确性。 系统集成:在 Linux 系统上默认启用 Wayland 显示协议,并引入了全新的项目生命周期管理机制。
#jetbrains#mps#ide#软件开发#版本更新
$ more
Jetbrains Blog

Kotlin生态导师计划:试点项目圆满落幕及获奖名单公布

Kotlin生态导师计划试点项目顺利结束。该计划旨在通过导师与学员的协作,帮助开发者参与真实的开源项目。在为期两个月的项目中,共有四对组合成功完成任务。其中,Ruslan和Clare组合凭借在BitChat Android项目中的出色表现,通过抽奖赢得了前往慕尼黑参加KotlinConf 2026的机票。项目总结指出,明确的任务范围、高效的异步沟通以及双向的经验积累是开源协作成功的关键。鉴于社区的高度参与热情,官方计划将该项目持续开展下去。
#kotlin#开源社区#导师计划#软件开发#人才培养
$ more