jvm
文章平均质量分 86
抬头文
这个作者很懒,什么都没留下…
展开
-
线上GC日志如何查看
线上GC日志如何查看附上案例的jvm参数-server -Xms2048M -Xmx2048M -Xss256k -XX:NewSize=512M -XX:MaxNewSize=512M -XX:SurvivorRatio=8 -XX:CMSInitiatingOccupancyFraction=50 -XX:+AggressiveOpts原创 2021-04-01 22:00:12 · 1790 阅读 · 0 评论 -
JVM垃圾回收算法
JVM垃圾回收算法一、复制算法上一篇文章说到,jvm通过可达性算法,标记堆中的实例对象是否直接或者间接的被GC Roots引用,而没有引用的则是垃圾对象,等待回收的,那么什么时候会回收这些对象呢?新生代存储满了,存不了下一个新生成的实例对象,那么就是触发一次youngGc,回收掉垃圾对象。1、触发youngGc条件以及回收机制堆内存新生代中分为三个区域,eden区、survivor1区、survivor2区,默认内存大小比例是 8:1:1。新对象进入的区域是eden区,而survivor区其原创 2021-03-16 21:41:11 · 117 阅读 · 0 评论 -
JVM 可达性算法以及java引用类型
JVM 可达性算法以及java引用类型一、可达性算法1、什么是对象可达对象可达指的就是:双方存在间接或者直接的引用关系。根可达或者GC Roots可达就是指:对象到GC Roots存在间接或者直接的引用关系。如下代码public class MyObject { private String objectName;//对象名 private MyObject refrence;//依赖对象 public MyObject(String objectName) { this.obj原创 2021-03-16 21:40:44 · 404 阅读 · 0 评论 -
JVM第一章类加载机制以及双亲委派模型
JVM石衫学习小计一、java代码运行机制 首先对于我们开发者而言,编码文件都是java后缀的编码文件,那这个java后缀文件是怎么运行在我们计算机系统的呢? 通过编译成class文件然后交给jvm执行,如下列流程图:graph LRA[java后缀文件: user.java] --打包编译--> B[class后缀文件:user] B--->jvm[jvm实例]subgraph JVM jvm--类加载器-->id3[类加载器] id3-->id4[原创 2021-03-16 21:40:15 · 95 阅读 · 0 评论 -
JVM内存区域
JVM内存区域在说明完类加载机制之后再说收jvm内部各个区域是如何工作的。一、各个区域作用1、mateSpace方法区在jdk1.7之前(包含1.7)这块区域叫做永久代,在jdk1.8之后就没有永久代了,只有mateSpace(元数据区域),这个区域是存储初始加载类的描述信息。2、程序计数器首先需要明白我们写好的Java代码会被翻译成字节码,对应各种字节码指令,而当JVM初始化类信息之后就会执行字节码执行引擎,去执行编译出来的代码指令,那么在执行字节码指令的时候,JVM就需要一个特殊的原创 2021-03-16 21:39:20 · 153 阅读 · 0 评论