![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 89
coffee_babe
让学习成为一种享受,脑图、设计图请见https://www.processon.com/u/60e12f2b637689510d6cdc81
展开
-
【JVM】跟我一起来编译OpenJDK
作为一名Javer,应该不少人都想编译一下OpenJDK然后在项目中用上它,自己还可以在OpenJDK中加入自己的东西,而不用受限于Oracle官网上的JDK,市面上还有很多技术也是运行在JVM之上的,这更加说明了研究JVM的重要性,比如Kotlin、Groovy、JRuby、Jython、Scala等等,接下来让我们一起探索JVM吧~原创 2024-07-16 22:08:22 · 909 阅读 · 0 评论 -
Java中的JVM指令和Arthas以及Dump文件(jvisualvm和MemoryAnalyzer工具)整体分析
前天线上服务器突然内存和CPU都爆掉了,两者都处于一种高负载的状态,而且还是周末的情况下,起初运维同事怀疑是用户数量暴增,但是数据面板上并没有出现很大的暴增现象,之前的服务器4G的内存都跑不满后面升到8G还是不够,于是我用jps查看了下堆状态,发现老年代的空间占用率99%(大小为5个G),新生代2个多G,于是我怀疑是某个业务一直在创建大量的对象,当然这只能是初步怀疑,接着我又去分析CPU,主要使用了以下命令。原创 2024-01-16 16:42:43 · 2428 阅读 · 4 评论 -
OOM:GC overhead limit exceeded分析流程
前言:OOM常见的错误类型有如下:1.Java Heap Space(堆)2.GC overhead limit exceeded(GC回收的开销小于回报,下面进行详细分析)3.PermGen space(永久代)4.Metaspace(元空间)该异常的描述是:GC在经过一番运算之后,发现回收的内存很小,不能满足新对象所需的内存,新对象所需的内存空间.默认情况下,如果GC花费的时间超过98%,并且GC回收的内存少于2%,就会发生该错误.实际上,我们知道JVM内存不够了,可以通过GC回收垃圾对原创 2021-11-17 14:31:34 · 1496 阅读 · 0 评论