![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
编程菜农
看书只会让大多数新知正常的人更知道谦虚……当然,不看书只想吹牛皮也可以很开心的生活。
展开
-
JVM--GC(分代收集算法)
GC(是jvm垃圾回收分代收集算法)为什么是分代呢,因为他在每个代中采用的不同的算法;堆的内存结构总体来说:次数上频繁收集Young区次数上较少收集Old区基本不动Perm区gc的主要几种算法及分布1.引用计数法:简单来说当这个引用计数为0时 清理不过这种算法也存在缺陷:循环引用,比如你引用我,我引用你;这样的话两个都计数都不可能为0,都会成为常驻内存,引起堆爆2:复制算法(Copying)(新生区的算法)年轻代中使用的是Minor GC,这种GC算法采用的是复制算法(Co原创 2020-07-09 01:18:17 · 1719 阅读 · 0 评论 -
堆的参数调优
首先回顾下Java7/8之间的堆内存模型和差别JAVA8中:Perm变成元空间;如果你运行程序慢,和经常出现OOM错误,我们可以先测试进行堆的参数调优;通过Runtime.getRuntime().maxMemory()/totalMemory 我们可以考到java的总内存和初始内存;默认来说:jvm启动的初始内存是:你的内存/64jvm的最大内存大小:你的内存/4开始对的参数调优:-Xms 初始内存大小 本机内存/64-Xmx 最大内存大小 本机内存/64在idea中调节VM参数:原创 2020-07-09 00:51:57 · 206 阅读 · 0 评论 -
对JVM进行回顾总结篇
1:JVM全称:Java Virtual MachineJVM是一种用于计算设备的规范按照这种规范实现的虚拟机:1:HotSpot– 其实在我们java1.8中就是使用这个虚拟机2:JRockit3:J9M前面两种都是被oracle收购2:JVM的体系结构:可以看到JVM是运行在操作系统上面,而于硬件系统进行交互的是操作系统,所以JVM于硬件没有直接的交互3:根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。1:run原创 2020-07-08 00:03:40 · 163 阅读 · 0 评论