JVM
JVM相关的干货,持续更新ing....
男人要霸气
这个作者很懒,什么都没留下…
展开
-
Jvm垃圾回收器(终结篇)
近期在网上找垃圾回收器相关的博客,终于找到了一篇比较好的。知识回顾:第一篇《Jvm垃圾回收器(基础篇)》主要讲述了判断对象的生死?两种基础判断对象生死的算法、引用计数法、可达性分析算法,方法区的回收。在第二篇《Jvm垃圾回收器(算法篇)》中主要介绍了垃圾回收的几种常用算法:标记-清除、复制算法、标记-整理算法、分代收集算法。那么接下来我们重点研究Jvm的垃圾收集器(serial收集器、parnew收集器、parallel scavenge收集器、serial old 收集器、parallel old收集转载 2020-07-17 14:29:36 · 209 阅读 · 0 评论 -
可达性分析算法---你知道哪些对象可以看作GC Roots嘛?
可达性分析算法主流的商用程序语言都是使用可达性分析(Reachability Analysis)来判定对象是否存活的。通过一系列称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。可达性分析算法——可作为GC Roots的对象虚拟机栈(栈帧中的本地变量表)中引用的对象。方法区中类静态属性引用的对象。方法区中常量引用的对象。本地方法栈中JNI(即转载 2020-07-09 15:04:35 · 840 阅读 · 0 评论 -
查看JVM的GC日志
文章目录Java GC类型GC日志查看GC日志的离线分析GC日志的在线分析GC垃圾回收器详解Java GC类型Java中的GC有哪几种类型?参数描述UseSerialGC虚拟机运行在Client模式的默认值,打开此开关参数后,使用Serial+Serial Old收集器组合进行垃圾收集。UseParNewGC打开此开关参数后,使用ParNew+Serial Old收集器组合进行垃圾收集。UseConcMarkSweepGC打开此开关参数后,使用ParNew+CMS翻译 2020-07-02 15:51:22 · 589 阅读 · 0 评论 -
java.lang.OutOfMemoryError及解决方案
主要有3种比较常见的OutOfMemory Error:java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryError: PermGen spacejava.lang.OutOfMemoryError: GC overhead limit exceeded1. java.lang.OutOfMemoryErro...转载 2019-08-06 15:28:51 · 2613 阅读 · 0 评论 -
Java方法区、永久代、元空间 究竟是什么关系呢?
文章目录1.JVM内存模型简介2.永久代和方法区的关系3.元空间4.Class文件常量池5.运行时常量池6.字符串常量池1.JVM内存模型简介堆——堆是所有线程共享的,主要用来存储对象。其中,堆可分为:年轻代和老年代两块区域。使用NewRatio参数来设定比例。对于年轻代,一个Eden区和两个Suvivor区,使用参数SuvivorRatio来设定大小;Java虚拟机栈/本地方法栈——线程...转载 2020-04-03 11:22:19 · 1055 阅读 · 2 评论 -
java.lang.OutOfMemoryError: GC overhead limit exceeded
这种情况发生的原因是程序基本上耗尽了所有的可用内存, GC 也清理不了。更准确的说法应该是:执行垃圾收集的时间比例太大,有效的运算量太小。默认情况下,如果GC花费的时间超过 98%,并且GC 回收的内存少于 2%,JVM 就会抛出这个错误。解决方案:在启动命令中加上以下参数即可:-XX:-UseGCOverheadLimit...原创 2019-08-05 11:07:44 · 331 阅读 · 0 评论 -
java查看jvm内存
public static void main(String[] args) { long maxMemory = Runtime.getRuntime().maxMemory();//java虚拟机使用的最大内存量 long totalMemory = Runtime.getRuntime().totalMemory();//java虚拟机内存总量 ...原创 2019-09-13 23:33:53 · 2067 阅读 · 0 评论 -
java.lang.OutOfMemoryError: Java heap space
先研究java为什么会报java.lang.OutOfMemoryError: Java heap space错误呢?是由谁抛出的呢?Java.lang.OutOfMemoryError:java heap space :说明java虚拟机内存不够。示例: public static void main(String[] args) { String str = "H...原创 2019-09-14 00:18:47 · 17866 阅读 · 0 评论