JDK 27 运行时更新:G1 成为所有环境的默认垃圾收集器,紧凑对象头默认启用以减少约20%堆占用,JFR 默认脱敏敏感信息,jcmd 新增安全属性查询、文件描述符统计和 Bash 补全,移除多个旧 JVM 参数及 JVMCI,G1 堆扩缩容默认禁用。
JDK 28新增功能:jdk.TLSHandshake JFR事件现可记录TLS握手期间协商的命名组信息(如X25519MLKEM768),帮助分析密钥交换细节。该事件默认禁用,需通过JFR配置或启动参数启用,并用jfr print查看。Oracle鼓励用户下载早期版本测试并反馈。
JDK Flight Recorder(JFR)是OpenJDK内置的轻量级事件记录框架,用于实时监控Java应用性能、分析瓶颈和诊断生产问题。本会话介绍JFR基础用法,演示如何捕获和分析遥测数据,并展示调查性能、内存泄漏和线程问题的实际工作流程,帮助开发者充分利用JFR提升应用健壮性和可维护性。
Java 21虚拟线程在同步锁或本地方法栈帧阻塞时可能发生Pinning,导致CPU占用低但吞吐量卡死。JDK 24通过JEP 491修复了synchronized固定问题,但本地栈帧仍存在。检测可用JFR事件或线程转储,修复建议改用ReentrantLock、升级JDK或避免持锁阻塞。
本文总结了Java后端性能调优的关键经验,强调使用Java Flight Recorder (JFR)和Java Mission Control (JMC)进行性能诊断。主要问题包括高对象分配率、N+1查询和锁竞争。通过优化代码、使用Entity Graph减少SQL查询、改用ConcurrentHashMap解决锁竞争,以及调整JVM参数以适应容器化部署,提升性能。建议在开发阶段进行性能分析,监控GC指标,复用对象,并进行负载测试,以确保系统稳定。
性能剖析正成为生产可观测性的第四支柱,补充了指标、日志和链路。传统剖析方法在微服务时代逐渐失效,需采用持续性能分析。本文探讨了Go、Java、Python和Rust等编程语言的剖析工具及其应用,强调持续剖析的重要性和实践经验,尤其是在大型企业中的应用案例。
随着Kubernetes的普及,Java应用的监控和管理变得至关重要。Java管理服务(JMS)利用JDK Flight Recorder(JFR)提供安全、可扩展的JVM诊断,集中捕获JFR记录,支持实时监控和故障响应,优化Java应用性能和资源利用。
使用JDK Flight Recorder (JFR)可以有效监控JVM应用程序,实时捕获JVM事件数据,并通过JFR Streaming API访问。本文探讨如何结合AI技术,自动识别性能瓶颈,提升调试和监控工具,增强JVM应用的可观察性。
Oracle Java团队成员分享了他们的最新动态和观点。
2025年5月12日,OpenJDK生态系统活跃,JDK 25的多个JEP被提升。JEP 510和JEP 506将正式发布,JEP 519、515、514和507被提议为目标。JDK 25计划于2025年9月16日发布,成为下一个长期支持版本。
OpenJDK质量小组正在推动使用OpenJDK构建测试FOSS项目,以提升发布质量。Java的远程方法接口(RMI)因安全和配置问题逐步被淘汰,Java也在减少对其的依赖。同时,jstat和jhsdb工具的远程功能将被弃用,建议使用JDK Flight Recorder(JFR)作为替代。
监控Java应用的安全配置有助于评估加密标准的强度,了解安全属性变化、记录TLS握手活动和监督X.509证书细节对确保数据安全传输至关重要。参加会议,学习使用jcmd、JDK Flight Recorder等工具监控Java应用的安全属性。
Oracle Java团队成员的新闻和观点
本文介绍了使用JFR报告NMT数据的方法,包括直接字节缓冲区和Foreign Memory API分配堆外内存。还讨论了JFR中控制NMT的设置和在JDK Mission Control中查看NMT数据的方法。最后,介绍了使用JFR记录Resident Set Size(RSS)事件来跟踪内存消耗。
完成下面两步后,将自动完成登录并继续当前操作。