Ohhnews

分类导航

Jetbrains Blog

Google Summer of Code 2026:Kotlin 基金会参与项目回顾

Google Summer of Code 2026 落幕,这是 Kotlin 基金会第四年参与该计划,通过项目实践与导师指导为 Kotlin 开源生态引入新贡献者。今年共有两个项目顺利完成:其一由 Ayako Hayasaka 在导师 Charlie Zhang(JetBrains)指导下,为 Kotlin/Wasm 后端加入 WebAssembly 尾调用指令支持,编译器可识别尾位置调用并生成 return_call 或 return_call_ref,使递归程序不再持续增长调用栈;在深度为一万的基准测试中,多种递归模式提速 1.7 至 4.3 倍,深度达百万时原本崩溃的程序也能成功运行。测试过程中她还发现 V8 引擎中一处缺失优化,提交并已被合并修复。她随后继续推进相关优化工作。其二由 Mark Seif Khalil 在 Ksenia Shneyveys 与 Elizaveta Artser(JetBrains)指导下,构建全球 Kotlin 教育版图,将分散于网站、课程大纲、代码仓库与学习平台的信息整合为结构化数据库与自动化采集流程,为持续追踪 Kotlin 在教育领域的分布、趋势与空白提供可复用基础。文末邀请对 Kotlin 感兴趣者加入 Kotlin Slack 的 gsoc 频道,关注未来活动。
#gsoc#kotlin#开源社区#webassembly#编程教育
$ more
Jetbrains Blog

IntelliJ IDEA的Java与Kotlin扩展发布1.0正式版,登陆Cursor和VS Code

JetBrains宣布Java and Kotlin by IntelliJ IDEA扩展发布1.0首个稳定版本,将IntelliJ IDEA的Java和Kotlin语言智能通过LSP引入VS Code与Cursor。该扩展基于语言服务器协议,提供代码补全、代码导航、代码分析与重构、Maven/Gradle/Bazel构建工具支持、JUnit测试运行以及包含模拟断点和异步堆栈跟踪的调试能力,在大型项目和单体仓库中也能保持稳定性能。此次发布与Cursor团队密切合作完成,并在Cursor的Agents窗口中提供专门支持,可基于IntelliJ IDEA的检查提供分析,包括JSpecify可空性支持与Spring框架特性。1.0版本结束免费预览阶段,使用需订阅IntelliJ IDEA Ultimate,提供30天免费试用,同一许可覆盖桌面IDE及其它受支持环境。官方建议在使用时禁用Red Hat和Oracle的Java扩展以避免功能重复冲突。后续版本将支持智能体直接调用LSP,并探索Claude Code、Codex等终端式纯智能体工作流。
#jetbrains#intellij idea#cursor#vs code#语言服务器协议
$ more
Jetbrains Blog

Netflix如何借助JetBrains IDE智能提升AI编码代理效率

Netflix将JetBrains的无头代码智能引擎(与IntelliJ IDEA同源)集成到Claude Code和Codex中,并构建守护进程和CLI,使LSP可供编码代理调用。他们在两个真实代码库(内部Spring Boot服务和开源DGS Framework)上,针对代码导航和端到端任务,使用Claude Code Opus 5、Sonnet 5及Codex GPT-5.6 Sol进行基准测试。结果显示,代理通常提效20%至30%,最佳情况约65%;更强模型在高强度设置下收益最大,正确性保持稳定或提升。Netflix计划将评估扩展至Python、TypeScript/JavaScript和Go。JetBrains认为LSP只是过渡,代理需要的是理解程序结构的代码引擎,而非虚拟编辑器。
#netflix#jetbrains#ai编码代理#代码智能#基准测试
$ more
Jetbrains Blog

JetBrains MPS 2026.2 候选版本发布

JetBrains 发布 MPS 2026.2 候选版本,正式版发布前可供提前体验。该版本在修复大量缺陷的同时带来多项关键改进:新增 Linux ARM64(AArch64)支持,可构建面向该平台的独立应用;构建语言新增 TAR 归档导入功能,支持 gzip、bzip2 压缩包,并在打包时保留符号链接与文件权限,macOS 归档格式由 .zip 改为 .tar.gz;Projectional Agent Toolkit 性能大幅提升,重构后的 MCP API 使常见任务的 token 消耗降低超过 50%,并新增类型系统等多项 MCP 工具;此外还重做了导入对话框,并优化了差异对话框与标签页的显示效果。
#jetbrains mps#候选版本#linux arm64#ai代理#开发工具
$ more
Jetbrains Blog

如何撰写出色的KotlinConf演讲提案?

KotlinConf 2027演讲征集已开启,面向全球Kotlin社区开发者征集提案。文章汇总了Kotlin开发者、技术布道师、资深演讲者及项目委员会成员的建议:首次演讲者也可大胆提交想法;从想讲述的故事出发,明确问题、挑战与收获;标题应清晰具体,避免过于宽泛或晦涩;摘要围绕背景、挑战、方案与成果的叙事结构展开;站在听众角度思考,给出具体可用的收获;让熟悉话题焕发新意并诚实面对取舍;确保提案与Kotlin紧密相关;表达自信同时保持真实个性;展示过往演讲或相关作品;根据内容选择合适形式;提交前从读者视角审阅。欢迎在克拉科夫分享Kotlin经验。
#kotlinconf#演讲提案#kotlin#技术会议#投稿指南
$ more
InfoQ Java

Spring Security 7 服务端 DPoP 与令牌交换实践

Spring Authorization Server 已并入 Spring Security 7,Maven 坐标不变,升级主要是版本变更。资源服务器端 DPoP 验证在 7.1 改为需显式调用 .dPoP() 启用,否则升级后会静默停止强制校验。授权服务器会自动完成 cnf.jkt 绑定和公共客户端刷新令牌绑定,但 nonce 挑战需自行实现,jti 重放缓存可替换为分布式实现。RFC 8693 令牌交换提供标准化的 subject_token 和 actor_token 语义,通过 act 声明记录委托链,可替代定制的服务账号交换。两者组合适合服务间与代理式调用:用 DPoP 绑定令牌发起交换,签发受众受限、权限收窄且再次绑定到调用方密钥的下游令牌。安全关键在交换策略与 OAuth2TokenCustomizer,切勿在交换中扩大权限。迁移应先完成 Spring Boot 4.1 / Spring Security 7.1 基线升级,再逐步启用 DPoP 和令牌交换,并保持颁发者 URL 稳定、在元数据中声明能力、按客户端灰度。
#spring security#dpop#令牌交换#oauth 2.1#身份认证
$ more
DZone Java

全面拥抱JVM 25虚拟线程

AngularAndSpring项目已从Spring Reactor重构为使用JDK 25和虚拟线程的Spring阻塞式API。旧架构采用Reactor是为了在高负载下高效利用操作系统线程和内存,但响应式编程风格随复杂度增加而难以阅读,堆栈跟踪也难以排查错误。JDK 25虚拟线程改变了权衡:操作系统线程仅在需要时使用,虚拟线程可从OS线程卸载,内存占用极低,少量OS线程即可支撑大量虚拟线程,且synchronized支持问题已修复,使JVM原生具备响应式框架的可扩展性和效率。新架构使用Spring WebMVC提供阻塞式REST端点,Spring RestClient调用外部REST服务,Spring Data MongoDB访问数据库,并通过spring.threads.virtual.enabled=true启用虚拟线程。REST端点直接返回预期类型,不再使用Reactor包装类型;长时间重算小时和日线报价时使用独立的虚拟线程池,避免阻塞用户请求。结论是,许多使用响应式编程的理由已消失,阻塞式模型更易实现和调试,Spring Data MongoDB也让数据库访问更简单。
#jdk 25#虚拟线程#spring#响应式编程#阻塞式api
$ more
Jetbrains Blog

提升流水线效率:Qodana 六大 CI/CD 集成方案

JetBrains 发布文章介绍 Qodana 与主流 CI/CD 平台的六大集成方案,包括 GitHub Actions、GitLab、TeamCity、Jenkins、Azure Pipelines 和 CircleCI。文章指出,将静态代码分析嵌入 CI/CD 流水线可实践“左移”策略,在提交和合并请求阶段自动发现代码质量问题,并设置质量门禁,避免问题代码进入生产环境。各集成方式分别提供原生组件、Docker 或插件支持,优缺点涉及配置复杂度、成本、平台兼容性与报告能力。Qodana 将 IntelliJ IDEA 的检查能力扩展至流水线,帮助团队在不改变现有工作流的情况下统一代码标准并持续跟踪质量趋势。
#qodana#ci/cd#静态代码分析#代码质量#jetbrains
$ more
Jetbrains Blog

JetBrains Air云端Agent沙箱机制解析

JetBrains Air发布云端Agent预览版,允许在JetBrains托管的云环境中远程运行AI Agent,使其在不依赖本地机器的情况下获得隔离的工作空间,目前面向组织用户开放。文章阐述Agent沙箱的意义:现代AI Agent能够执行代码、调用工具并自主行动,若无限制地访问宿主系统、网络和敏感数据,可能造成意外的系统改动、数据泄露或被利用的风险,因此需要通过最小权限、资源限制与审计追踪划定安全边界。文中归纳了五种运行方式——本地工作区、Git工作树、SSH、Docker与云端,并对比其默认隔离性和配置成本。Air采用与Docker Sandboxes类似的思路:每个任务在云端启动独立VM,Agent运行于其中的Docker容器内,VM视为不可信且不在任务间复用,容器所有连接经由VM内的代理转发,默认仅允许访问预先设定的可信源码管理与包仓库域名,也可按需增删域名或完全断网。密钥加密存储并以环境变量形式注入,团队成员可使用共享密钥而无需看到其值,任务始终遵循开发者自身的仓库权限。
#jetbrains air#ai代理#沙箱隔离#云端执行#安全防护
$ more
Jetbrains Blog

KotlinConf回顾:Verifone架构师谈Kotlin在关键支付系统中的可靠性实践

在KotlinConf 2026上,Verifone架构师Yuri Geronimus分享了如何利用Kotlin的类型系统提升关键支付系统的可靠性。其核心方法是用监管和卡组织规范中的原始词汇编写代码,并让编译器强制检查,而非依赖工程师纪律。文章列举了支付领域因字段缺失、可空性、敏感数据泄露、状态误用等引发的真实事故,并给出十种模式:值类区分ID、边界校验工厂、非空类型、默认脱敏、状态类、不可变与命名转换、删除else分支、选择合适的协程作用域、将超时建模为领域结果、以及用DSL编写监管可读的认证测试。实践效果包括开发速度提升2.7倍、认证首次通过且仅一个缺陷、代码库缩小约30%、新人更快上手。迁移方面,他反对重写,主张并行推进优化现有代码、验收测试驱动、适应度函数和增量迁移。企业采用需作为投资决策,并配套运营模式。
#kotlin#支付系统#类型安全#编译器#金融科技
$ more