Ohhnews

分类导航

DZone Java

从数据库变更到大规模实时操作:Oracle GoldenGate与Java

本文介绍了如何利用Oracle GoldenGate实时流式传输数据库变更,并通过Java应用程序消费这些变更,实现近实时的业务操作。文章详细说明了从源数据库、GoldenGate部署、Kafka流服务到Java服务的完整架构,并给出了配置步骤。该方案适用于欺诈检测、金融、电信、零售和AI等需要实时事件处理的场景。
#oracle goldengate#java#实时数据流#数据库变更#事务处理
$ more
Jetbrains Blog

PyCharm 2026.3 发布:303 项修复与改进,提升类型推断和调试体验

JetBrains 发布 PyCharm 2026.3,包含 303 项修复与改进,并带来 JetBrains Air、工作区、Python 3.15 惰性导入和重新设计的解释器组件等新功能。此次更新重点提升 functools.partial、泛型和集合的类型推断,减少误报,改进类型警告与抑制注释;增强 pytest、Mock、Ruff 及多种类型检查器集成;完善 Django、FastAPI 和 SQLAlchemy 支持。同时优化 conda/uv 环境、启动性能、debugpy 调试和 Jupyter 工作流,并修复部分十余年前报告的问题。
#pycharm#jetbrains#python#类型推断#调试
$ more
Jetbrains Blog

规模化AI智能体:从9个真实案例中学到的经验

JetBrains新报告基于9个真实案例,探讨软件团队如何规模化应用AI智能体。Fin设立专门团队建设共享技能、插件、MCP服务器和评估机制,并投入代码规范与标准化,16个月内实现PR吞吐量提升3倍、缺陷积压减少54%、单个PR成本降低50%。报告指出,增加智能体不能修复有问题的开发流程,代码库需具备标准化构建、快速测试、可访问API和可自行配置的环境;个人AI采用率高达95%并不自动提升团队效能,开发者还需学习任务拆解、上下文提供、结果评估和最佳实践共享。成效显著的组织都在同步改造系统、流程、评审、学习和度量方式。
#ai智能体#软件开发#工程效率#团队协作#案例分析
$ more
foojay

AI编程助手技能目录差异与统一方案

作者因Claude Code每周配额耗尽而尝试Google Antigravity、GitHub Copilot和Mistral Vibe等免费CLI。使用Vibe时发现其未触发预先编写的技能并产生明显幻觉,原因是各编程助手扫描技能目录的位置不同:Claude Code仅读取~/.claude/skills和./.claude/skills,而Antigravity、Vibe、Copilot还支持.agents/skills等跨客户端目录。按照Agent Skills规范,建议将技能统一放在~/.agents/skills和项目内./.agents/skills,再把Claude Code的对应目录软链接到统一位置;若原目录已存在需先迁移内容。这样可让多个助手共享同一套技能。
#claude code#ai编程助手#技能目录#符号链接#跨客户端兼容
$ more
foojay

Jakarta EE测试工具对比:WeldInitiator、Arquillian与Testcontainers

文章基于同一Jakarta EE示例项目,对比WeldInitiator、Arquillian和Testcontainers三种测试工具。WeldInitiator在测试JVM内启动Weld SE,毫秒级验证CDI装配和业务逻辑,但无法验证JPA命名查询、SQL和事务;Arquillian把测试方法放入真实容器JVM,可注入真实Bean并连接持久化提供者,适合覆盖无其他调用者的count、findRange和命名查询,但需维护ShrinkWrap部署且适配器为alpha;Testcontainers用Docker部署构建出的WAR,从HTTP和浏览器外部验证完整应用,部署保真度高但不能直接检查容器内部状态。三者回答不同问题,应作为互补测试层使用。
#jakarta ee#测试工具#weldinitiator#arquillian#testcontainers
$ more
foojay

使用DuckDB-Wasm与Java后端在浏览器中完成数据分析

文章介绍如何借助DuckDB-Wasm把分析型数据库搬进浏览器标签页:Java后端只需一次性下发数据集,此后的筛选、聚合与关联都变成本地SQL查询,不再为每次点击往返服务器。作者给出仅两个文件、无需Maven或npm的示例——用JDK内置HttpServer生成1000行销售CSV,前端从CDN加载DuckDB-Wasm,在Web Worker中执行GROUP BY并渲染结果。文章将该方案与Spring Boot+PostgreSQL、服务端JDBC版DuckDB、SQLite Wasm、JS数据框库、ClickHouse等方案逐一对比,指出其最佳场景是单用户数据集在数MB至数百MB之间而查询次数很多。同时提醒安全边界:发送到浏览器的数据用户都能读取,权限过滤必须在Java端完成;数据规模、首次加载体积、数据新鲜度以及多线程(需coi构建加跨源隔离响应头)都是限制条件。最后建议后续用Parquet替代CSV以减小下载体积。
#duckdb-wasm#java#浏览器端分析#webassembly#sql
$ more
DZone Java

使用自定义SOAP处理器在JAX-WS服务调用间保持Cookie

文章讨论JAX-WS生成的SOAP客户端在多次服务调用间无法自动保留首次认证返回的Set-Cookie,导致后续调用丢失会话。作者分析内置会话属性受代理实例作用域限制、运行时实现不一致,以及全局CookieManager在应用服务器中会造成并发用户会话混用等问题。最终采用自定义SOAPHandler,在出站请求中补充Cookie、在入站响应中捕获Set-Cookie,并用ThreadLocal按线程保存会话,工作流结束时清理。文章还说明处理器注册方式、Cookie轮换与过期处理,以及如何用桩服务进行无容器测试。
#jax-ws#soap#cookie#会话保持#java
$ more
Jetbrains Blog

Forrester研究:IntelliJ IDEA实现155%投资回报率,并凸显其开放式AI策略

Forrester受JetBrains委托发布IntelliJ IDEA总经济影响研究,访谈9家拥有400至4000个席位的企业技术负责人,并构建拥有2000名开发者的复合金融公司模型。三年内实现155%投资回报率,净现值1840万美元,收益3030万美元对成本1190万美元,9个月回本。代码质量提升贡献最大,三年现值1630万美元;开发效率提升、入职加速和留存改善也带来收益。受访者强调其跨大型代码库理解能力及开放式AI策略,可在IDE内使用JetBrains AI、Junie和第三方模型或代理,灵活适应模型变化。JetBrains Air将进一步支持代理式开发。
#intellij idea#jetbrains#投资回报率#ai开发#代码质量
$ more
DZone Java

三全其美:AI代理用Rust和Java编写的HEIC解码器性能超越C库

文章讲述作者在Java和Rust项目中处理iPhone HEIC图片上传时,放弃依赖C语言库libheif,转而让AI编码代理分别用Java和Rust实现原生HEIC解码器。流程包括:先让解码器在各自项目内可用,再抽离为带测试和发布流程的开源库;通过持续测量、与libheif逐阶段对比找差距;让两个AI代理互相交流优化思路,借鉴熵解码、并行瓦片和变换技巧;最后针对剩余差距重复优化。作者强调测量需排除CPU噪声,丢弃收益小于波动的改动。最终同机十张照片测试:8核下Rust 0.46秒、Java 0.55秒、libheif 0.81秒;单核下Rust 1.38秒、libheif 1.45秒、Java 1.96秒。Rust在支持颜色插值提升边缘锐度时仍与libheif持平。结论是独立迭代能走很远,横向对比和代理协作能带来更多优化,Java优化后同样很快。两个解码器均已开源。
#heic#ai代理#rust#java#性能优化
$ more
Jetbrains Blog

网络研讨会回顾:CLion与TRACE32实现嵌入式系统AI智能体调试

JetBrains与Lauterbach联合举办的网络研讨会回顾了CLion与TRACE32的集成。CLion通过调试适配器协议连接TRACE32,可在同一环境中开发和调试嵌入式目标;借助MCP服务器,AI智能体能够启动并控制调试会话、检查程序状态和定位根因。集成要求CLion 2026.2.4或更高版本、TRACE32 PowerView 09.2026及调试适配器0.1.2以上,支持Junie、Claude Code、Codex、OpenCode等ACP智能体。演示使用四核Infineon AURIX TC387QP开发板。目前尚不支持指令与数据追踪、CLion内追踪查看器、实时变量更新及从CLion直接发送T32命令。TRACE32侧不增加额外许可成本,CLion非商业用途免费。
#clion#trace32#嵌入式调试#ai智能体#开发工具集成
$ more