Ohhnews

分类导航

DZone Java

探索Java 25的若干语言增强特性

Java 25作为最新LTS版本,引入了多项语言增强特性。文章重点介绍了五个关键改进: 紧凑源文件与实例main方法:简化程序入口,去除类声明等样板代码。 灵活构造器体:允许在super()或this()之前执行安全语句(如参数验证),提高代码表达力。 原生类型模式匹配:将模式匹配扩展至所有原生类型,支持更简洁的类型检查和转换。 作用域值:提供在线程间传递不可变上下文的安全机制,替代ThreadLocal,与虚拟线程完美配合。 稳定值:在JVM层面确保深度不可变性,实现线程安全且无锁。 这些特性使Java编码更简洁、安全和高效,体现了Java在持续演进中的活力。
#java 25#语言新特性#语法简化#模式匹配#并发与安全
$ more
Jetbrains Blog

dotInsights 2026年7月号

dotInsights 2026年7月号 本文是JetBrains发布的2026年7月dotInsights月度简报,汇总了近期.NET和软件开发领域的32条重要链接,涵盖C#新特性(如字段关键字、可区分联合)、.NET 11预览、AI编码实践、Rider 2026.2新版本、SkiaSharp 4.0、Dapr工作流等,并介绍了JetBrains自身动态,包括GitHub Copilot集成、Junie AI agent正式版以及TeamCity未来规划。
#.net#c##软件开发#人工智能#jetbrains
$ more
foojay

“这不可能有用”:我在Temporal.io工作坊中学到的东西

核心观点 开发者在初次接触Temporal时通常会经历从怀疑到兴奋的过程:应用程序在崩溃后能够原地恢复,保持变量不变。Temporal通过持久执行实现了这一点——它不阻止崩溃,而是让崩溃变得无关紧要。工作坊展示了在柏林We Are Developers大会上,开发者Tom Wheeler带领参与者构建防崩溃Java应用的实践。 工作原理 Temporal采用历史回放而非内存快照。它将工作流代码(确定性编排层)与活动代码(非确定性操作,如API调用)严格分离。每次工作流调用活动时,Temporal服务记录事件历史。崩溃后,工作进程重放历史重建状态,通常不到一秒,不重复已完成操作。架构包含工作流/活动定义、工作进程和Temporal服务三部分,支持多种语言混合。 实际演示 Tom现场杀死库存服务,UI显示活动失败并自动重试,服务恢复后订单顺利完成,无需人工干预。Temporal Web UI可检查每个工作流执行的细节:输入、输出、时间线、每步活动的机器进程。开发者可以“在代码中直接sleep 30天”代替cron作业,减少对消息队列等基础设施的依赖。
#temporal#持久执行#工作坊#java#崩溃恢复
$ more
foojay

BoxLang 1.14.0:集合、范围、内部类与可对话运行时

BoxLang 1.14.0 正式发布,引入四项核心语言特性:集合(BoxSet)作为一等类型,支持字面量语法、运算符重载与三种存储变体;范围(Range)重构为惰性对象,支持排他边界、自定义步长、无限序列及 IRangeable 可扩展接口;内部类与模板类允许在脚本或模板中内联定义类,支持继承和导入;类引用可作为构造函数直接调用,方便函数式编程。此外,新增 DataNavigator 的 JSONPath 支持、查询转换器框架、全局查询默认配置、调度器 BIF、字符串 BIF 及格式化工具改进。同步发布 bx-mcp 模块,提供 154 个工具和 32 个预置诊断提示,使 AI 能实时访问运行中的 BoxLang 应用状态。该版本关闭 65 个问题,多项 Bug 修复。
#boxlang#集合#范围#内部类#ai诊断
$ more
Jetbrains Blog

Kotlin 吉祥物 Kodee 的诞生记

Kotlin 团队为其编程语言设计吉祥物,经过多轮设计迭代与社区反馈收集,最终诞生了名为 Kodee 的吉祥物。初版机器人形象未完全获得认可,团队通过问卷调查和焦点小组,收集开发者对吉祥物性格和外观的意见。基于反馈,设计师进行了二次迭代,提出了三个草案,最终在焦点小组中选定了改进版。随后,团队通过内部团队和社区征名,确定了 Kodee 这一名称。Kodee 后来获得了广泛认可,出现在各种周边和活动中,成为 Kotlin 社区的象征。这一过程体现了用户研究和跨团队协作的重要性。
#kotlin#kodee#吉祥物#社区反馈#设计迭代
$ more
Jetbrains Blog

JetBrains Academy 六月文摘

JetBrains Academy 六月更新 本期文摘介绍了多项学习资源和活动:连接IDE至LinkedIn展示编程活动;参加Discord挑战构建AI助手赢取奖品;免费Udemy课程体验真实项目开发;Coursera课程学习构建本地AI助手;Hyperskill新课程讲解AI代理理论与实践;以及关于AI对初学者影响的视频。所有活动截止日期为2026年7月15日。
#jetbrains academy#ai开发#编程学习#在线课程#ide
$ more
foojay

置空引用并不能帮助垃圾回收

本文指出在Java中将引用设置为null并不能帮助垃圾回收,因为现代JVM采用复制式垃圾收集器,通过追踪存活引用来复制活动对象,而非删除无用对象。大多数对象在局部变量超出作用域后即变得可回收,无需手动置空。置空引用不仅多余,还可能掩盖真正的内存泄漏问题,例如静态集合持续增长或未注销的监听器。仅在对象nepotism等罕见情况下,置空引用才有微小帮助。开发者应关注数据生命周期逻辑而非使用置空作为权宜之计。
#java#垃圾回收#内存管理#对象作用域#引用
$ more
foojay

Java的故事:一部关于我们所有人的电影

一部关于Java语言及其社区的纪录片《The Java Story》将于2026年7月17日UTC时间19点在YouTube首映。该片由CultRepo制作,追溯了Java从诞生至今31年的发展历程,涵盖OpenJDK、Jakarta EE等关键演变。纪录片邀请到多位塑造Java历史的核心人物,包括James Gosling(Java之父)、Joshua Bloch(Java集合框架创建者)、James Duncan Davidson(Apache Tomcat创建者)、Tim Lindholm(JVM规范合著者)等。首映期间,James Gosling等早期团队成员将参与YouTube实时聊天。文章强调这部纪录片属于整个Java社区,鼓励开发者观看并分享这段共同的故事。
#java#纪录片#社区#james gosling#openjdk
$ more
Spring Blog

Spring Boot传奇人物Moritz Halbritter畅谈Spring Boot 4及4.1最新特性

Spring Boot 4.1正式发布,带来了众多新特性。在本期播客中,主持人邀请到Spring Boot和Spring Initializr的知名贡献者Moritz Halbritter,深入探讨了这些令人兴奋的新功能。
#spring boot 4.1#moritz halbritter#spring initializr#技术播客
$ more
foojay

action/setup-java 5.4和5.5 新功能:签名验证、Kona JDK与更佳Maven体验

actions/setup-java v5.4和v5.5 新功能介绍:v5.5.0引入了JDK下载的GPG签名验证(支持Temurin和Microsoft分发)、Tencent Kona JDK原生支持、通过set-default: false安装额外JDK而不影响默认版本、从.sdkmanrc等版本文件自动推断分发类型。Maven体验提升:默认启用静默日志(--no-transfer-progress)、生成非交互式settings.xml、工具链文件去重。v5.4.0新增免费GraalVM Community分发、javac编译错误和警告的问题匹配器(在PR中直接标注)、Maven Wrapper缓存。这些改进增强了CI供应链安全性和开发体验。
#签名验证#kona jdk#maven优化#graalvm#jdk分发
$ more