摘要: minor gc如果运行的很频繁,可能是什么原因引起的 1、 产生了太多朝生夕灭的对象导致需要频繁minor gc 2、 新生代空间设置的比较小 minor gc如果运行的很慢,可能是什么原因引起的? 1、 新生代空间设置过大。 2、 对象引用链较长,进行可达性分析时间较长。 3、 新生代survi 阅读全文
posted @ 2021-04-22 23:45 i%2 阅读(132) 评论(0) 推荐(0)
摘要: JVM对象的分配原则 对象优先分配到Eden Space区 大对象直接进入老年代 长期存活对象进入老年代 动态年龄判定 空间分配担保。如果Survivor区域不够容纳对象,则老年代进行空间担保,下一轮GC直接进入老年代。担保失败就FULL GC。 阅读全文
posted @ 2021-04-22 23:44 i%2 阅读(45) 评论(0) 推荐(0)
摘要: 垃圾回收触发条件 当Eden区和From Survivor区满时; 调用System.gc时,系统建议执行Full GC,但是不必然执行 老年代空间不足 方法区空间不足 通过Minor GC后进入老年代的平均大小大于老年代的可用内存 哪些对象可以作为 GC Root ? 虚拟机栈(栈帧中的本地变量表 阅读全文
posted @ 2021-04-22 23:42 i%2 阅读(74) 评论(0) 推荐(0)
摘要: 对象头里有啥 MarkWord 锁状态 25bit 4bit 1bit 2bit 23bit 2bit 是否偏向锁 锁标志位 无锁 对象的HashCode 分代年龄 0 01 偏向锁 线程ID Epoch 分代年龄 1 01 轻量级锁 指向栈中锁记录 的 指 针 00 重量级锁 指向重量级锁 的 指 阅读全文
posted @ 2021-04-22 23:40 i%2 阅读(42) 评论(0) 推荐(0)
摘要: 大对象直接进入老年代?GC规则?新生、老年比例? ​ 对于parnew和serial来说,大于-XX PretenureSizeThreshold就会直接进入老年区,默认是4M。 ​ GC规则:当老年代剩余连续大小大于之前晋升老年代的平均大小,就会minorGC,否则fullGC ​ 比例:新1:老 阅读全文
posted @ 2021-04-22 23:39 i%2 阅读(64) 评论(0) 推荐(0)
摘要: ClassLoader 作用是动态加载class进内存。java中的class并不是一次性全部加载进内存的,而是根据需要动态加载的。通过类加载机制(ClassLoader)动态加载class进内存。 除了BootStrap ClassLoader,其他所有ClassLoader都必须继承自java. 阅读全文
posted @ 2021-04-22 23:36 i%2 阅读(64) 评论(0) 推荐(0)
摘要: 类的加载、 类加载器子系统 字节码生成(javac 命令,.java->.class),简单编译原理,词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成 加载 class二进制流字节码读取进方法区,在内存中生成一个java.lang.Class代表该对象作为访问入口 验证 文件格式验证: 阅读全文
posted @ 2021-04-22 23:35 i%2 阅读(41) 评论(0) 推荐(0)
摘要: 常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Number(0xCAFEBABE:咖啡宝贝),用于确定一个文件是否能被JVM接受,再接着4个字节用于存储版本号,前2个字节存储次版本号,后2个存储主版本号,再接着是用于存放常量的常量池,用于存放编译期生成的各种字面量和符号引用, 阅读全文
posted @ 2021-04-22 23:33 i%2 阅读(58) 评论(0) 推荐(0)
摘要: jvm内存模型 虚拟机栈 栈优化:默认为1M,(-Xss) 线程私有、生命周期同线程,每个方法运行都对应帧栈的建立及在虚拟机栈的入栈出栈过程。 局部变量表 非静态方法会在index[0]存该方法的实例引用(4字节),随后存放方法参数和局部变量(须显示初始化)。 操作栈 桶式结构栈,被各种指令写入和提 阅读全文
posted @ 2021-04-22 23:31 i%2 阅读(50) 评论(0) 推荐(0)
摘要: JMM(java memory model) 是什么 ​ JAVA是多线程的,每个线程操作的是自己的工作内存,线程不能直接操作主内存。由JMM通过LOAD/STORE操作在主内存之间传递值。主内存里放的是所有变量如实例、静态变量等。好处是屏蔽了不同厂商操作系统、硬件内存访问细节,能达到多平台兼容的效 阅读全文
posted @ 2021-04-22 23:30 i%2 阅读(42) 评论(0) 推荐(0)