JVM
m0_37039331
这个作者很懒,什么都没留下…
展开
-
JVM之垃圾回收机制
垃圾回收是做什么的呢? 处理不需要的对象的,就像是垃圾清理工。是一个后台服务,默默处理任务的。 垃圾对象是如何被判定的呢? ①没有任何方法的局部变量指向它 ②没有任何类的静态变量指向它 ③没有常量指向它 方法区内的类会不会进行垃圾回收呢? 会的。 ①该类的所有实例对象都已经从Java堆内存里被回收 ②加载这个类的ClassLoader已经被...原创 2019-10-26 15:36:06 · 183 阅读 · 0 评论 -
JVM之内存区域划分
程序计数器: 当前线程执行的字节码的指示器。也就是记录当前执行的字节码指令位置用的。 Java虚拟机栈: 虚拟机栈是用来描述Java方法执行的内存模型,每个线程都有自己的Java虚拟机栈,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。 堆内存: 主要用来给对象分配内存。 方法区(元数据区): 用来存储类信息、常量、静态变量...原创 2019-10-26 15:24:20 · 186 阅读 · 0 评论 -
JVM之类加载机制
一个类从加载到使用的过程中,会经历一个过程: 加载--验证--准备--解析--初始化--使用--卸载 验证阶段: 这一步会根据Java虚拟机规范,对加载的.class文件进行校验。 准备阶段: 这个阶段,会给类对象分配内存空间,也会给类的静态变量分配内存空间,并赋一个初始值,注意,是初始值。例如:int类型赋值为0. 解析阶段: 解析阶段主要...原创 2019-10-26 14:53:53 · 156 阅读 · 0 评论 -
JVM 之常见案例整理
Major GC和Minor GC频繁: 服务情况:Minor GC每分钟100次 ,Major GC每4分钟一次,单次Minor GC耗时25ms,单次Major GC耗时200ms。 知识点:单次Minor GC时间更多取决于GC后存活对象的数量,而非Eden区的大小。 小结:如果应用存在大量的短期对象,应该选择较大的年轻代;如果存在相对较多的持久对象,老年代应该适当增大。...原创 2019-03-23 15:42:11 · 443 阅读 · 0 评论