Ohhnews

分类导航

Baeldung

Java周刊,第648期

本期Java周刊聚焦于价值类(Value Classes)的默认值初始化问题、AI辅助编码中的机械式安全强制执行、Netflix在生产环境中使用Java AOT的经验、Wasm成为Java库实现细节的新趋势、JDK 27中G1作为默认垃圾收集器以及Vector API(第12次孵化)的JEP目标。此外,还涵盖了Kotlin标准库的安全支持政策、Spring开发者对容器安全的盲点、NixOS系统级测试初体验、Hibernate 7.4.0.Final、WildFly 40、Spring AI以及Vert.x 5.1.0等版本更新。精选文章为《如何将单体应用拆分为微服务》。
#java#ai安全#价值类#spring#微服务
$ more
Baeldung

Java周刊第648期

本周焦点 本期Java周刊聚焦值类默认值、AI时代强制安全机制等前沿话题。主要文章包括:探讨值对象未显式初始化时的问题及值类默认值的提名方案;讨论AI辅助编码中安全必须结构化和机械强制执行。此外,Netflix分享了Java AOT在生产环境的应用经验;Wasm成为Java库实现细节的新趋势;JDK 27目标JEP包括G1作为默认垃圾收集器和Vector API第12次孵化器。还介绍了OpenJDK开发的AI代理工作流、Quarkus的并行投票模式、TamboUI Java TUI框架、Kafka与Flink模式泛滥问题解决方案、Kotlin标准库安全支持策略等。 推荐阅读 Martin Fowler的文章《如何将单体拆分为微服务》被选为本期精选。版本更新方面:Hibernate 7.4.0.Final、Hibernate Search 8.4.0.Final、WildFly 40、Spring AI 1.0.8/1.1.7/2.0.0-M7、Koog 1.0、IntelliJ IDEA 2026.2 EAP、Vert.x 5.1.0等相继发布。
#java#spring#ai#安全#微服务
$ more
foojay

免费网络研讨会:使用BoxLang让AI对Java开发者真正有用

Ortus Solutions将于2026年6月5日举办免费网络研讨会,主题为“在真实应用中使用BoxLang和JVM模式实现安全、实用的AI集成”。会议由资深开发者Bill Reese主讲,内容涵盖AI应用模式、企业架构适配、安全隐私注意事项、提供商抽象、工具与代理管道,以及BoxLang的AI+模块演示。旨在帮助Java开发者避免常见陷阱,以可维护的方式将AI融入现有或新建应用。
#boxlang#ai#java开发#实用集成#ortus solutions
$ more
Jetbrains Blog

IDE理解Rust究竟需要什么?

核心问题 Rust IDE为了提供补全、跳转、语义高亮等智能功能,必须重新实现编译器前端的大部分逻辑。与编译器优化吞吐量不同,IDE优化的是延迟,即快速响应用户交互。 工具演变 从RLS(依赖编译器保存分析)到rust-analyzer(增量架构)和RustRover,工具设计经历了根本性变革。RLS因无法处理不完整代码而被取代。 主要挑战 名称解析:Rust的模块图是循环的,需要反复迭代直到所有符号解析完成。 过程宏:它们是动态加载的库,可能崩溃IDE,因此需隔离到独立进程。 类型推断:Rust有数千条特殊规则,IDEs必须精确复制,即使代码不完整。 不同架构 RustRover使用PSI索引,通过存根跳过函数体解析;rust-analyzer采用查询驱动架构,利用Salsa框架实现增量重算。 结论 尽管复杂性极高,工具作者依然热爱Rust。这些设计权衡体现了IDE的开发艺术。
#rust#ide#rust-analyzer#rustrover#编译器前端
$ more
Jetbrains Blog

Hibernate 7.4 新特性

Hibernate 7.4 版本引入了多项改进,主要聚焦于分页查询的优化以及历史数据与审计日志的原生支持。在Limits和Fetch Joins方面,Hibernate 7.4 通过嵌套查询技术解决了之前版本中集合关联分页查询时必须在内存中完成的问题,使得数据库能够直接处理分页,避免了全量加载导致的内存溢出风险。在历史表和审计表方面,Hibernate 7.4 内置了@Temporal和@Audited注解,允许开发者直接通过ORM实体查询任意时间点的数据状态,并记录实体变更的完整审计日志,而无需依赖外部库如Envers。这些改进简化了常见的企业级开发需求,提升了性能和开发效率。
#hibernate#orm#分页查询#数据审计#历史数据
$ more
DZone Java

Java应用在Kubernetes上的零停机部署

本文全面介绍了在Kubernetes上为Java应用实现零停机部署的方法。内容涵盖滚动更新、蓝绿部署、金丝雀部署等策略,Kubernetes的核心原语(Deployment、Service、探针、HPA等),Java框架(Spring Boot、Quarkus、Micronaut)的优雅关闭和健康检查配置,会话状态处理、数据库迁移、流量切换,以及基于GitHub Actions和Jenkins的CI/CD流水线。还涉及可观测性(Prometheus、Grafana、Jaeger)和测试策略(金丝雀分析、混沌测试、冒烟测试)。
#零停机部署#kubernetes#java#部署策略#ci/cd
$ more
Jetbrains Blog

JetBrains携手AlphaEvolve:加速IDE复杂算法的新方法

本文介绍了JetBrains与Google DeepMind合作,利用AlphaEvolve系统探索IntelliJ IDE索引中B树算法的优化。在合成基准测试中,多数超过50次迭代的实验实现了15-20%的性能提升。在完整IDE测试(Kotlin Spring Petclinic项目)中,最佳候选方案将端到端索引时间从17.4秒降至16.6秒(约4.6%),但只有2/5的候选方案表现出统计显著的改进。工程团队强调,AlphaEvolve扩展了搜索空间,但最终的基准测试、代码审查和发布决策仍由人工掌控。
#alphaevolve#google deepmind#ide索引#性能优化#算法发现
$ more
DZone Java

Pragmatica Aether:让Java回归托管环境

核心观点 当前Java微服务实践(胖JAR、Docker、Kubernetes)违背了Java的设计初衷——应用应运行在托管环境中,由运行时管理基础设施,而业务逻辑只需关注自身。 解决方案 Pragmatica Aether是一个分布式运行时,通过以下设计实现分离: @Slice接口:应用只定义业务逻辑接口和实现,无需关注HTTP、服务发现、重试等基础设施。 内置共识KV存储:基于Rabia协议,无需外部配置服务。 内置构件库:DHT分布式存储,无需Nexus/Artifactory。 类加载隔离:每个Slice独立ClassLoader,避免依赖冲突。 声明式部署:TOML文件定义期望状态,一键部署。 容错与扩展 50%规则:少于半数节点故障时系统仍正常。 自动恢复:节点故障后自动替换,无需人工干预。 两级扩展:Slice实例扩展(毫秒级)与节点扩展;三层次决策系统(决策树、TTM预测、LLM规划),其中Tier 1保证核心生存。 开发体验 三种环境(Ember单进程、Forge集群模拟、Aether生产)使用相同代码,无需修改。CLI、Web仪表盘、Prometheus指标集成完善。 迁移路径 可逐步将遗留系统包装为@Slice,采用绞杀者模式,无需重写。新项目可直接创建细粒度Slice,实现按需扩展。 结论:让Java回归其设计本质——托管运行时管理一切,应用只负责业务逻辑。
#pragmatica aether#java#分布式运行时#微服务架构#容错机制
$ more
Jetbrains Blog

JetBrains学院五月动态

JetBrains学院发布五月动态:提供多达40个CSAI学士学位全额奖学金,涵盖学费、住宿及其他费用,另每月300欧元津贴,6月9日截止;推出面向开发者的AI工具新课程,涉及复杂代码生成、自动调试、测试、重构和性能优化;课程创作者计划允许讲师将课程集成到JetBrains IDE中,学生可直接在IDE练习;一篇关于“摩擦最大化”与编程学习的文章,探讨适度的困难如何加深理解;一场关于软件工程转变为上下文工程的网络研讨会,讨论开发者角色演变和AI采用的反模式。
#jetbrains#奖学金#人工智能工具#课程创作#编程学习
$ more
Jetbrains Blog

TeamCity 2026.1.1 现已发布

JetBrains 发布了 TeamCity On-Premises 2026.1 的首个 Bug 修复版本 2026.1.1。该更新解决了超过20个问题,包括构建代理备用 IP 地址被忽略、Rake 插件损坏、S3 上传失败以及 .NET 构建中“Exists”代理要求无法找到兼容代理等问题。更新可提升性能、兼容性、构建稳定性及安全性。升级方式包括自动更新、官网下载或更新 Docker 镜像。
#teamcity#版本更新#bug修复#性能优化
$ more