Ohhnews

分类导航

foojay

告别YAML:使用自然语言实现代码库自动化

本文介绍了GitHub Agentic Workflows,这是一种允许开发者使用自然语言代替复杂的YAML配置来自动化代码库维护的新方法。通过gh aw CLI,用户可以将Markdown指令编译为安全的GitHub Actions文件。该系统强调安全性,采用Safe Outputs机制防止提示注入,默认只读权限确保操作安全。文章展示了包括生成每日状态报告、通过斜杠命令触发任务以及筛选新闻摘要在内的多个实际应用案例。此外,作者还探讨了如何利用该技术将Java生态系统的上游变更自动移植到下游项目。
#github#agentic workflows#自然语言#代码库自动化#安全性
$ more
foojay

Java演进的视觉对比:深入解析java.evolved

社区项目java.evolved通过“前后对比”的方式,展示了Java编码模式在不同版本间的演变。该项目针对混合版本代码库的实际情况,提供了传统写法与现代替代方案的直观对照,例如使用Record替代数据类、模式匹配及Switch表达式等。这些变化旨在减少样板代码并提升类型安全性。该工具不仅帮助开发者理解现代Java写法,还能有效促进团队代码审查和新人入职。
#java#编程语言#代码演进#开发效率#开发工具
$ more
Jetbrains Blog

使用 Junie 和 Claude Code 编写现代 Go 代码

JetBrains 发布了一款新插件,旨在帮助 AI 代理(如 Junie 和 Claude Code)编写符合现代标准的 Go 代码。针对 AI 倾向于生成过时代码的问题,该插件能根据项目 go.mod 文件指定的版本,指导 AI 使用对应版本的语言特性和最佳实践,从而避免使用旧式语法。文章还介绍了如何在 Junie 和 Claude Code 中启用并配置该插件。
#go#jetbrains#ai#代码生成#插件
$ more
Baeldung

Java周刊第634期:JDK 27引入抗量子加密技术

JDK 27引入抗量子加密 JDK 27在TLS 1.3中引入了后量子混合密钥交换,结合抗量子ML-KEM与经典椭圆曲线算法,以防御“现在窃取,以后解密”攻击,且无需代码更改。 框架与工具更新 Spring Framework 7.0.5、Spring Data及Spring for Apache Pulsar发布新版本。GlassFish 8.0发布,兼容Jakarta EE 11并增强安全性。Quarkus、WildFly和Eclipse Vert.x也均有更新。 技术文章推荐 涵盖Kotlin与Spring构建模块化单体、AI代理调试、互联网标准制定中的拒绝权以及Netflix的LLM后训练扩展等内容。
#java#jdk 27#后量子密码学#spring#网络安全
$ more
Jetbrains Blog

AI与商业价值之间缺失的关键环节

许多企业已采用AI智能体,但难以量化其对业务绩效的具体影响。现有的技术指标和基准测试往往无法准确反映AI在生产环境中的实际商业价值。调查显示,缺乏明确评估策略的企业AI采用成功率较低。企业需将技术性能与运营及财务信号关联,通过持续监测和评估指标(如总拥有成本),从而真正弥合技术投入与商业回报之间的差距。
#ai#商业价值#roi#企业应用#绩效评估
$ more
InfoQ Java

JDK 26 与 JDK 27:目前已知信息汇总

JDK 26 作为自 JDK 25 以来的首个非 LTS 版本,已进入第二个候选发布阶段,包含 10 项以 JEP 形式呈现的新功能,涵盖核心库、HotSpot、语言规范、安全库和客户端库等领域。文章详细介绍了 Project Amber、Loom、Panama 等项目的相关更新,如结构化并发、向量 API 及原语类型模式匹配等。同时,文章展望了计划于 2026 年 9 月发布的 JDK 27,目前仅确定包含 JEP 527,并预测了值类、惰性常量及 ZGC 启动优化等潜在特性。
#java#jdk 26#jdk 27#openjdk#技术更新
$ more
Baeldung

使用 Hypersistence TSID 生成按时间排序的唯一标识符

本文介绍了如何在Java中使用Hypersistence TSID库生成按时间排序的唯一标识符(TSID)。文章首先解释了TSID的结构,它由时间戳、节点ID和计数器组成,能够保证全局唯一性并支持按时间自然排序。接着,文章详细说明了如何添加Maven依赖,并通过工厂模式生成TSID实例。此外,还涵盖了TSID工厂的配置方法,包括设置节点ID、节点位数以及自定义时间纪元。最后,文章演示了如何将TSID序列化为长整型或字符串格式,以及如何从这些格式反序列化回TSID对象,以便于存储和传输。
#hypersistence tsid#java#唯一标识符#id生成#数据序列化
$ more
Jetbrains Blog

TeamCity 2025.11.3 版本发布

JetBrains 发布了 TeamCity 2025.11.3 错误修复更新,主要针对本地部署服务器。此次更新解决了 IntelliJ 平台插件优化、Docker GID 值变量、登录失败 NPE 以及项目连接设置重置等问题。版本包含性能和安全改进,与 2025.11.x 系列完全兼容。用户可通过自动更新、官网下载或 Docker 镜像进行升级。
#teamcity#版本更新#错误修复#性能优化#安全增强
$ more
Jetbrains Blog

Visual Studio Code新增Java转Kotlin转换功能

JetBrains宣布为Visual Studio Code推出Java转Kotlin转换器扩展。该工具利用与IntelliJ IDEA相同的底层引擎,允许用户通过右键菜单轻松将Java文件转换为Kotlin代码。此举旨在帮助开发者更高效地进行代码迁移,并扩展Kotlin在VS Code生态系统中的支持。
#jetbrains#kotlin#java#visual studio code#代码转换
$ more
foojay

Java中的端口与适配器:保持核心整洁

本文探讨了如何在Java开发中应用六边形架构(端口与适配器模式)以保持核心领域逻辑的整洁。文章指出,相较于框架选择,架构对于系统的长期演进更为关键。作者以MongoDB为例,阐述了如何将数据库作为适配器而非核心设计的一部分,通过定义端口接口隔离业务逻辑与基础设施。文中详细介绍了领域模型与持久化模型的映射机制,以及如何在不污染核心代码的情况下集成Spring Boot。这种架构虽然增加了初期代码量和认知负担,但显著提升了系统的可测试性、可维护性以及对技术变更的适应能力,是构建长期演进系统的实用投资。
#java#端口与适配器#mongodb#软件架构#领域模型
$ more