Ohhnews

分类导航

Jetbrains Blog

直播预告:如何解决 JetBrains IDE 插件中的 UI 卡顿问题

直播活动预告 JetBrains 将于 2026 年 3 月 19 日举办关于插件开发中 UI 卡顿问题的专题直播。本次活动由 IntelliJ 平台产品经理 Yuriy Artamonov 和开发者布道师 Patrick Scheibe 主讲。 直播核心内容 分析导致 UI 卡顿的常见原因,包括长耗时读操作、网络调用阻塞及外部进程误用。 深入探讨 API 使用误区,如 ReadAction 如何在非事件调度线程中导致界面冻结。 分享编写可取消、高性能插件代码的最佳实践。 本次活动旨在帮助开发者识别并规避常见的性能陷阱,确保插件在 JetBrains IDE 中保持响应速度。直播结束后将设有互动问答环节,欢迎开发者参与讨论。
#jetbrains#插件开发#ui性能优化#并发编程#intellij平台
$ more
DZone Java

Square、SumUp与Shopify:数据流技术赋能零售POS系统实时化

现代销售终端(POS)系统已从简单的收银工具演变为高度集成的实时业务平台。通过Square、SumUp和Shopify等移动支付平台,中小型商家能够获得以往仅大型零售商享有的数字化管理能力。与此同时,Apache Kafka和Apache Flink等数据流技术正在重塑零售运营,通过将碎片化的销售渠道统一在实时数据底座上,实现库存同步、动态定价及个性化营销。SumUp作为行业案例,通过构建事件驱动架构,在云端处理大规模实时交易,并利用机器学习模型优化风险防控。未来,随着Agentic AI(代理式人工智能)的引入,POS系统将具备更强的自主决策能力,进一步推动零售业向数据驱动的智能化方向发展。
#零售科技#数据流#pos系统#实时处理#人工智能
$ more
Jetbrains Blog

JetBrains发布独立AI编程代理Junie CLI,支持多模型架构

JetBrains推出Junie CLI JetBrains正式发布了其AI编程代理Junie的独立版本——Junie CLI。该工具旨在打破环境壁垒,使开发者能在终端、任意IDE、CI/CD流程以及代码托管平台中直接使用AI辅助编程。 核心特性 模型无关性 (LLM-agnostic):支持OpenAI、Anthropic、Google和Grok等主流大模型,并允许用户使用自带API Key (BYOK) 模式,降低额外平台成本。 深度集成:结合了JetBrains的代码理解能力,支持MCP配置、实时指令调整及任务预测功能。 无缝迁移:支持从Claude Code等其他代理工具一键迁移。 生态扩展:从IDE原生AI扩展为生态系统级AI,统一管理跨平台的开发任务。 目前Junie CLI已进入Beta测试阶段,并为新用户提供为期一周的Gemini 3 Flash免费试用。
#人工智能#编程工具#软件开发#命令行工具#jetbrains
$ more
Jetbrains Blog

JetBrains推出全新AI开发工具Air,开启代理式编程新纪元

JetBrains发布Air开发环境 JetBrains正式推出AI驱动的开发环境Air的公开预览版,旨在解决当前编程代理工具碎片化的问题。与传统的IDE插件不同,Air以AI代理为核心进行构建,支持多个代理并行处理任务,并提供统一的上下文管理和工作流集成。 核心功能亮点 代理协作与集成:Air允许开发者在不同AI模型(如Claude、Gemini、Codex等)之间自由切换,并支持通过Agent Client Protocol (ACP) 扩展更多代理。 任务导向的开发:Air将开发任务转化为独立的代理会话,支持在Docker容器或Git工作树中进行沙盒化运行,避免了多窗口切换的混乱。 无缝工作流:Air专注于代理编排,与现有IDE协同工作,提供代码审查、终端集成及内置预览功能。 获取与展望 目前Air已开放macOS版本下载,支持JetBrains AI订阅或用户自带API Key。未来版本将引入云端沙盒执行环境,并重点探索团队协作功能,进一步提升人机协同开发的效率。
#人工智能#软件开发#开发工具#jetbrains#自动化编程
$ more
InfoQ Java

Java 技术周报:Apache Solr 10 发布,LangChain4j、Gradle 及多项工具更新

本周 Java 生态动态 本期内容涵盖了 Java 生态系统中的多项重要更新与活动: 核心框架与工具更新:Apache Solr 10 正式发布,引入实验性 AdminUI 及向量搜索优化;LangChain4j 1.12.1 增强了 Hibernate 集成与监控功能;Gradle 9.4.0 增加了对 JDK 26 的支持及测试执行改进;JobRunr 8.5.0 优化了启动性能。 维护与安全:Grails 7.0.8 引入数据库清理注解;Keycloak 26.5.5 修复了多项关键安全漏洞(CVE),重点解决身份验证绕过问题。 Kotlin 生态:多维数组库 Multik 0.3.0 发布,新增向量范数计算及对角矩阵创建功能。 行业动态:第 23 届 Devnexus 大会在亚特兰大圆满落幕,聚焦生成式 AI、Java 核心技术及安全领域;开源项目 Pi4J 正式加入 Commonhaus 基金会,以确保项目的长期可持续性。 JDK 开发:JDK 26 与 JDK 27 的早期访问构建版本持续迭代中。
#java#软件开发#开源框架#版本更新#技术社区
$ more
Jetbrains Blog

CLion 2026.1 EAP更新:引入DAP TCP调试、格式化数值显示及多项性能优化

CLion 2026.1 EAP版本亮点 CLion 2026.1 EAP版本即将发布,此次更新带来了多项功能强化与性能提升: 调试功能升级 DAP TCP支持:支持通过TCP与调试适配器协议(DAP)调试器通信,并新增Launch与Attach模式。 数值格式显示:调试时支持将变量数值切换为十进制、十六进制、八进制或二进制格式。 远程开发优化:重构了调试器架构,显著提升了远程开发模式下的响应速度与稳定性。 性能增强:通过Natvis优化,大幅提升了MSVC工具链下的调试速度(最高80倍)并降低了内存占用;更新了macOS与Linux下的LLDB版本至21.1.7。 构建与项目管理 自定义项目模型:增强了对非标准项目格式及VS Code配置(c_cpp_properties.json)的支持。 外部项目集成:支持对CMake ExternalProject_Add引用的项目进行完整代码分析。 安装包精简:CLion Nova安装包体积大幅缩小,磁盘占用减少约1GB。 CMake改进:支持CMake选项自动补全,并优化了CMake预设名称的显示逻辑。 语言与测试支持 Meson单元测试:全面支持GoogleTest、Catch2、Boost.Test和doctest框架。 代码折叠:CLion Nova引擎现已实现与经典引擎的代码折叠功能对齐。
#clion#ide#软件开发#调试工具#c++
$ more
foojay

DPoP 详解:为何 Bearer Token 不再安全

DPoP 技术解析 DPoP (Demonstration of Proof-of-Possession) 是一种旨在强化 OAuth 2.0 安全性的机制。其核心理念是将访问令牌(Access Token)与特定的客户端密钥进行加密绑定,从而改变传统 Bearer Token 模式下“谁持有令牌谁即拥有权限”的风险。 核心优势 传统的 Bearer Token 容易遭受窃取并被第三方滥用,DPoP 通过要求客户端在每次请求时提供一份包含 HTTP 方法、URL、唯一标识符(jti)及令牌哈希(ath)的加密签名证明,有效缓解了令牌重放攻击和窃取后的非法冒用问题。 实践应用 文章介绍了如何利用 Keycloak 和 Quarkus 框架实现 DPoP。Keycloak 负责在颁发令牌时进行绑定,而 Quarkus 则通过 OIDC 扩展和自定义过滤器验证请求的合法性,包括对 jti 的重放保护。这种双层防御机制为保护敏感资源提供了更高级别的安全性。
#dpop#oauth 2.0#身份验证#网络安全#令牌安全
$ more
Baeldung

在 IntelliJ IDEA 中运行多个 Spring Boot 实例的两种方法

在本地开发和测试过程中,同时运行多个 Spring Boot 实例对于模拟服务交互或验证不同配置非常有用。本文介绍了两种实现方案: 使用命令行参数:通过在 IntelliJ 的运行配置中设置 program arguments(如 --server.port),为每个实例指定不同的端口。 使用 Spring Profiles:通过定义不同的配置文件(如 application-instance.properties)并利用 VM options 激活特定的 Profile,实现更结构化、更复杂的配置管理。 这两种方法均能有效解决端口冲突问题,开发者可根据项目需求选择最合适的配置方式。
#spring boot#intellij idea#开发环境#后端开发#应用程序配置
$ more
Baeldung

Java中Date与Instant类型转换指南

核心概述 本文介绍了在Java应用中如何实现Date(旧版API)与Instant(Java 8新增API)之间的相互转换。尽管两者均表示时间点,但Date仅支持毫秒精度,而Instant支持纳秒精度。在转换过程中,纳秒级数据会被截断,因此在处理高精度时间需求时需格外注意。 主要转换方法 Date转Instant:使用Date.toInstant()方法。 Instant转Date:使用Date.from(Instant)方法。 开发建议 推荐在业务逻辑中优先使用Instant,以提升代码的不可变性和线程安全性。 仅在与旧版API或数据库驱动等集成边界处进行转换。 建议将转换逻辑封装在工具类中,并统一处理空值情况。 编写JUnit测试时,应比较纪元毫秒值以确保精度一致性,避免因精度差异导致测试失败。
#java#日期处理#类型转换#时间戳#软件开发
$ more
Baeldung

利用 Spring AI 实现可解释的 AI 智能体:捕获 LLM 工具调用推理过程

在构建 AI 智能体时,通常难以洞察大语言模型(LLM)调用特定工具背后的逻辑,这导致了调试困难和透明度不足。本文介绍了如何利用 Spring AI 的 Tool Argument Augmenter 功能,通过动态扩展工具的 JSON Schema,在工具调用过程中捕获模型的推理步骤(innerThought)和置信度(confidence)。作者通过一个患者健康状态查询的实际案例,展示了如何在不修改现有工具代码的前提下,通过增加元数据实现对智能体决策过程的实时监控与分析,从而提升系统的可观测性与生产环境下的可靠性。
#spring ai#人工智能#大语言模型#可解释性#工具调用
$ more