话题编程语言 › Java

编程语言:Java

JDK11升级后竟让内存利用率飙升到90%以上?

升级JDK11后,G1GC导致内存利用率飙升至90%以上。通过观察发现,G1GC的Old区未触发回收,内存持续攀升。临时解决方案为重启机器,最终通过调整JVM参数将堆内存缩减至8G,问题解决。G1GC采用分区管理,相比CMS更灵活,但内存占用较高。建议根据容器大小合理设置堆内存,避免内存浪费。

8G的容器Java堆才4G怎么就OOM了?

最近,一例Java应用的OOM问题引起了关注。尽管Java堆外内存限制在1G,多个ClassLoader加载的netty实例导致实际使用超出限制。通过详细分析发现,netty直接使用UNSAFE.allocateMemory分配内存,绕过Java直接内存API,导致内存未被监控。建议短期内调整Java堆大小以缓解问题,并考虑优化rocketmq-client的内存占用。未来,排查堆外内存问题时,应优先检查netty。

Java21特性解读

本文详细介绍了Java 21的新特性,旨在帮助开发者在升级JVM环境前对新功能有一个全面了解。文章概述当前JDK版本发展情况,并指出LTS版本的重要性,并探讨了多个预览特性和孵化阶段的功能,每个特性都附有详细的动机说明、代码示例及使用建议。

从头到尾说一说Java时间日期体系的前世今生

在计算机领域作者重新梳理了计算机世界里日期时间体系的前世今生。

从Java到Go:“哭笑不得”

首先,Java 的语法是相对严谨的,类、接口、继承、抽象……一大堆的关键字让你在写代码时感觉像是在参加一场语法考试。而 Go 的语法则是简约得让人惊讶。你会发现, Go 里没有类的概念,只有结构体(struct)和接口(interface)。这让很多 Java 的 coder在初入 Go 时感到无所适从...

Java程序中的潜在危机: 深入探讨NullPointerException

从今天的软件系统发展来看,空引用对业界的影响远不止这一数字。它不仅改变了程序设计的方式,也引发了对异常处理、内存管理等众多领域的深入思考。

Java CompletableFuture 异步超时实现探索

JDK 8 中 CompletableFuture 没有超时中断任务的能力。现有做法强依赖任务自身的超时实现。本文提出一种异步超时实现方案,解决上述问题。

JDK11升级后内存问题解析

今年天猫国际技术团队计划从4月份开始先升级并应用JDK11。升级后台系统时一切比较顺利,但升级核心应用时出现了两个意外情况,也是比较典型的问题,这里记录一下。

浅析JVM方法解析、创建和链接

上一篇文章《你知道Java类是如何被加载的吗?》分析了HotSpot是如何加载Java类的,本文再来分析下Hotspot又是如何解析、创建和链接类方法的。

如何找出Java进程占用CPU高的元凶

本文记录了一次Java进程CPU占用率过高的问题和排查思路。

你知道Java类是如何被加载的吗?

本文从双亲委派讲到了Class文件的加载,最后又绕回双亲委派,作者认为只有理解了Class的加载机制,才能更好的理解类似双亲委派这样的机制,否则只死记硬背一些空洞的理论,是无法起到由内而外的理解的。

Java代码之美,从遵循样式规范开始

通过阅读本文,你将不仅了解到Java样式规范的重要性,还将掌握如何将这些规范应用到实际开发中,让你的代码变得更加优雅和强大。让我们一起追求编码的艺术,用规范的代码点亮编程的世界。

安卓ART虚拟机Java Hook框架JavaTweak的设计与实现

不依赖xposed实现Java方法Hook。

Java实时代码覆盖率平台的思考与落地实践

近年来各互联网头部、腰部大厂都加大了质量度量体系相关的建设投入,出现了更多致力于测试效能的团队。

Java性能测试利器:JMH入门与实践

编写正确的 Java 微基准测试通常需要防止JVM和硬件在微基准测试执行期间应用的优化,而这些优化在实际生产系统中是无法应用的。这就是JMH(Java 微基准测试工具)可以帮助您实现的功能。

Java方法设计原则与实践:从Effective Java到团队案例

本文通过阅读《Effective Java》、《Clean Code》、《京东JAVA代码规范》等代码质量书籍,结合团队日常代码实践案例进行整理,抛砖引玉、分享一些在编写高质量代码方面的见解和经验。

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-05-14 02:27
浙ICP备14020137号-1 $访客地图$