JVM
傅里叶与拉普拉斯爱搞基
这个作者很懒,什么都没留下…
展开
-
从coredump异常看JVM内存的默认划分
在eclipse中设置看了如下启动参数: -Xms64m -Xmx64m -XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError创建一个size很大的list,一直进行add,直到程序崩溃: Heap before GC invocations=1 (full 0): PSYoungGen total 18944K, use...原创 2018-12-25 21:01:52 · 150 阅读 · 0 评论 -
JVM 内存结构介绍整理
Jvm内存模型JVM内存共分为虚拟机、堆、方法区、程序计数器、本地方法栈五个部分。虚拟机栈每个线程都有一个私有的栈,随着线程创建而创建。每个栈空间都存放着栈帧,每个方法都会创建一个栈帧,栈帧主要存放了局部变量列表(局部变量表主要存放了编译器可知的各种数据类型[boolean、byte、char、short、int、float、long、double]、对象引用[reference类...原创 2019-06-14 13:07:57 · 225 阅读 · 0 评论 -
JVM堆内存分配及垃圾回收算法
堆内存划分Java堆是被所有线程共享的一块内存区域,虚拟机又把堆内存划分为新生代、老年代、永久代三块区域。新生代(Young)又被划分为三个区域:Eden、From Survivor、To Survivor默认情况下 新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ,Eden : from : to = 8 : 1 : 1JDK1.8中移除了永久代,替换为元空...原创 2019-06-21 22:56:32 · 424 阅读 · 0 评论 -
Java OutOfMemoryError 分析
异常分类Java OutOfMemoryError分为四大类:Java heap space、Permgen space、Metaspace、GC overhead limit exceededJava heap space当创建对象时,堆内存中的空间不足以存放新的对象,就会触发 Java heap space异常,这个问题比较常见,比如你创建的对象是100M的数组,但是堆空间只剩60...原创 2019-06-28 13:15:28 · 173 阅读 · 0 评论 -
记一次OutOfMemoryError: Metaspace诊断
起因线上新运行的一个微服务,启动过程到稳定之后,服务一致没有问题,但是在运行一小段时间之后,经常服务状态不可用,访问改服务的Restful接口处于503状态初步分析刚开始的时候并没有意识到这个问题的严重性,以为是服务器突发的问题 ,采取的手段 就是暴力重启,可是重启之后一小段时间内确实没问题,但是之后又服务不可用了通常 情况下,HTTP 503的状态码标示当前的服务响应有问题,难道是...原创 2019-07-06 09:48:06 · 5216 阅读 · 0 评论