Ohhnews

分类导航

DZone Java

Jakarta Batch实战:面向企业工作负载的可靠分块处理

批处理在企业中仍不可替代,因为价格重算、交易对账、数据迁移、报表生成、发票处理和客户重分类等操作不适合交互式请求,直接作为普通请求会导致超时、重试困难和数据不一致。Jakarta Batch 通过作业、步骤、分块、检查点和重启机制,为大规模数据任务提供可控、可恢复的执行模型。其分块步骤遵循读取、处理、写入循环:ItemReader 逐项读取,ItemProcessor 应用业务规则并可通过返回 null 过滤项目,ItemWriter 按块批量持久化。运行时负责事务、检查点、失败与重启管理,块大小可平衡吞吐、内存和恢复成本。文中以电商客户分层为例,根据消费阈值将客户划分为 Bronze、Silver、Gold、Platinum,并仅更新分层变化的客户,展示了 JobOperator 启动作业、JSL 映射读写器与处理器等用法。该模型使企业应用能专注于业务逻辑,同时可靠处理成千上万乃至百万级记录。
#jakarta batch#批处理#企业应用#分块处理#数据可靠性
$ more
Jetbrains Blog

2026年Kotlin现状报告

2026年,Kotlin迎来十五周年。报告回顾其十五年发展,指出Kotlin已建立成熟生态,被全球企业广泛采用,并拥有庞大活跃的开发者社区。调查显示,93%的Kotlin开发者使用至少一种AI编程工具,81%已使用或可能尝试AI编程代理,81%认为AI生成的Kotlin代码完全正确或仅需小幅修复。Kotlin在Android开发中依然稳固,但超过半数开发者参与后端项目,使用范围已扩展至后端、多平台和AI辅助开发等领域。报告结合JetBrains研究与行业数据,探讨Kotlin是否持续、能否跨平台扩展以及如何融入AI时代。
#kotlin#编程语言#ai辅助开发#多平台开发#开发者生态
$ more
Jetbrains Blog

现代软件开发中的软件质量保证工具与最佳实践

现代软件开发中,仅在发布前测试已不足以保障质量,质量保证需贯穿整个软件开发生命周期(SDLC)。2025年Stack Overflow开发者调查显示,84%的开发者正在使用或计划使用AI工具,AI生成代码的普及使更频繁、更严格的质量审查成为必需。左移分析等技术将质量检查提前到编码阶段。软件质量保证(SQA)是一套持续的过程,旨在尽早发现、消除并预防缺陷,与传统偏被动的质量控制(QC)不同。文章指出,糟糕的软件质量每年给美国造成至少2.41万亿美元损失。SQA工具涵盖静态代码分析(如Qodana)、单元测试(JUnit、Jest、PyTest、NUnit)、集成测试(Postman、SoapUI)、功能与UI测试(Playwright、Cypress、Selenium)、性能测试(JMeter、LoadRunner、k6)以及安全测试(SAST、SCA、DAST、密钥检测)。选择工具时应考虑CI/CD集成、语言支持、自动化、可扩展性、报告能力和安全性,并配合左移、自动化重复检查、集成测试到流水线、监控技术债、将安全视为核心等最佳实践。
#软件质量保证#静态代码分析#测试自动化#持续集成#ai辅助开发
$ more
DZone Java

Jakarta Faces 流作用域:无需会话状态管理多步骤用户体验

多步骤交互广泛用于引导、结账、账户设置、审批和配置向导等场景,需在多个页面间保持一致的工作状态,但状态不应超出业务过程。@RequestScoped 生命周期太短,@SessionScoped 又常过长。Jakarta Faces 通过 @FlowScoped 按流程生命周期管理状态:进入流程时创建,导航期间保留,退出流程时销毁。文章以客户分群应用为例,展示配置、预览、审核和执行的流程,说明如何用 flow XML 定义起始节点和退出节点,并用 @FlowScoped 托管 Bean 共享状态。相比 @ViewScoped,跨页面时状态不会因切换视图而丢失;相比 @SessionScoped,临时工作流数据不会长期占用会话。该方案适合结账、入职、注册、审批、配置和管理向导等由 Java 团队维护的企业级表单应用。
#jakarta faces#flowscoped#状态管理#多步骤流程#企业级java
$ more
InfoQ Java

Spring新闻综述:多个项目发布第二个里程碑版本,Spring AI等迎来首个里程碑

2026年9月21日当周,Spring生态多个项目发布里程碑版本。Spring Boot、Spring Batch、Spring Security、Spring AMQP、Spring Integration、Spring Data、Spring Framework、Spring for GraphQL和Spring for Apache Kafka发布第二个里程碑版本;Spring AI、Spring Cloud、Spring Web Services和Spring LDAP发布首个里程碑版本。作者:Michael Redlich。
#spring boot#spring framework#spring security#spring ai#版本发布
$ more
Baeldung

Java 27 新特性解读:九项 JEP 落地,四项正式转正

Oracle 发布 Java 27,共包含九个 JEP,其中四项为正式特性、五项仍处于预览或孵化阶段,本次没有任何特性从预览转为正式。四项正式特性均属运行时变化,无需修改代码:紧凑对象头默认开启,降低内存占用并加快垃圾回收;G1 成为所有环境(含单核或小内存容器)的默认垃圾回收器;TLS 1.3 引入后量子混合密钥交换,将经典 ECDHE 与抗量子的 ML-KEM 结合;JFR 支持在 JVM 进程内对密码、令牌等敏感信息进行脱敏。预览特性方面,结构化并发出现破坏性变更,异常类型由 FailedException 改为 ExecutionException,awaitAll() 被移除;惰性常量删除 isInitialized() 与 orElse(),新增 Set.ofLazy();PEM 编解码 API 继续完善,DEREncodable 更名为 BinaryEncodable;模式匹配与 switch 开始支持基本类型;Vector API 仍处孵化,仅更新了 SLEEF 库。此外还包括 Math 反双曲函数、BigDecimal.rootn()、String.encodedLength() 等小改动,并移除了 JVMCI。作者建议在 Java 29 这一下一个 LTS 版本到来前,提前用 27 做兼容性测试。
#java 27#jdk#垃圾回收#后量子加密#预览特性
$ more
Spring Blog

Spring 本周动态:2026年9月29日

本期 Spring 周报汇总了 2026 年 9 月 24 日至 25 日期间的多项版本发布:Spring Boot 4.2.0 M2 带来 LDAP 的 SSL bundle 支持、嵌入式 LDAP 的 LDAPS 支持,以及对 OpenTelemetry 语义约定和 OTLP 端点、请求头、压缩配置的支持;同时发布了 Spring AI 2.1.0 M1、Spring Data 2026.1.0-M2、Spring Integration 7.2.0 M2、Spring AMQP 4.2.0 M2、Spring Web Services 5.1.0 M1、Spring Security 7.2.0-M2、Spring Cloud 2026.0.0-M1(Paddington)、Spring Batch 6.1.0-M2 和 Spring Boot 4.2.0-M2。此外,Spring AI 负责人 Christian Tsolov 介绍了如何结合 Spring AI 与 TypeSafe.AI 的 Jev 模型;Michael Carducci 在播客中讨论了面向智能体工作流的数据优化;Moritz Halbritter 分享了升级 Spring Boot 4 的相关实践。
#spring#spring boot#spring ai#版本发布#java
$ more
foojay

Java 21末日倒计时:Oracle免费许可到期,企业面临三大抉择

Oracle JDK 21的免费NFTC许可已于2026年9月16日到期。企业若继续在生产环境中运行Java 21,2026年10月20日的季度更新将是首个不再免费提供补丁(含关键安全补丁CSPU)的版本,此后每个修复都需付费订阅。文章指出企业面临三种选择:一是向Oracle购买商业订阅,但Universal Subscription按员工数计费,部分企业授权成本可能上涨2至5倍,且预算审批流程耗时;二是升级至Java 25,虽然两个版本同为现代版本、升级难度较低,但第三方依赖(Kotlin工具链、Lombok、JaCoCo、Mockito等)适配滞后,且Oracle每两年发布一次LTS、仅提供一年免费重叠期,升级只是把问题推迟;三是迁移至OpenJDK,服务器端替换简单快速,但需应对桌面应用兼容、补丁延迟带来的安全风险以及监管合规风险。作者建议选择提供及时关键补丁更新和专家商业支持的OpenJDK发行版(如Azul Core),其支持周期最长,可让企业彻底脱离Oracle的授权时间表,把升级决策权交还给自身工程路线图。
#java 21#oracle#openjdk#软件许可#企业升级
$ more
Jetbrains Blog

JetBrains Air Teams:为团队带来智能体工作流并自动化重复性任务

JetBrains 推出 Air Teams,作为面向智能体开发的团队层,为开发者和 AI 智能体提供共享上下文、环境、工具与指令,覆盖完整开发生命周期。该产品现已面向 JetBrains 商业客户开放,未来将扩展至个人用户。Air Teams 包含四部分:Automations 可按事件或计划自动执行代码审查、问题修复、依赖更新等重复工作;共享云环境让团队一次配置工具、依赖和凭据,供所有任务复用;云任务可在 IDE 或浏览器中启动并持续运行,不占用本地电脑;团队项目统一管理成员、环境、连接器和自动化,并支持角色与项目积分。Automations 和云任务均基于共享环境运行,代码变更通过拉取请求交由工程师审核,团队可保留控制权并查看完整执行记录。
#jetbrains#air teams#智能体开发#自动化#团队协作
$ more
Jetbrains Blog

Rider 2026.2.3 发布:Monitoring 工具窗口新增 AI 性能分析

JetBrains 发布 Rider 2026.2.3,本次更新将 AI 性能分析引入 Monitoring 工具窗口,并修复了 Windows 平台上 AI Agent Setup 小部件的问题。用户可通过 IDE 内置更新、Toolbox App 或官网下载安装。在 Monitoring 工具窗口中,用户可直接让 AI 代理分析应用性能:Monitoring 会在每次运行应用时收集运行时数据,代理据此定位性能瓶颈并将其关联到代码。通过图表上方的 Analyze with AI 操作,可为最近一次会话创建分析请求,确认提示词后即可发送并开始分析;该操作同样适用于 dotTrace 工具窗口 Recent snapshots 标签页中的历史快照。该功能目前仅支持 Windows,需要 dotUltimate 或 All Products Pack 订阅以及 AI Assistant 插件。此外,本次构建修复了 2026.2.2 引入的 AI Agent Setup 小部件在 Windows 显示缩放低于 175% 时点击任务栏图标无法打开的问题。
#rider#jetbrains#ai性能分析#集成开发环境#版本更新
$ more