![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
Lion Of WU
快乐不间断,编程每一天
展开
-
JVM(六)GC日志信息
GC收集日志信息: YGC日志信息: FGC日志信息:原创 2020-01-07 14:39:08 · 133 阅读 · 0 评论 -
JVM(五)---堆内存参数调整、永久带
永久带: 不同对象的生命周期不同,98%的对象是临时对象。 堆参数调整: public class T2 { public static void main(String[] args) { System.out.println("主机运行内存:"+Runtime.getRuntime().availableProcessors()); long maxMemory = R...原创 2020-01-07 02:37:29 · 182 阅读 · 0 评论 -
JVM(四)---Heap堆结构简介、对象生命周期
堆体系结构: 一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行。 堆内存分为三个部分: 新生区 养老区 永久代 逻辑上由三个组成,物理上只由新生+养老组成。 在new的时候其实是new在新生区的伊甸园区。 自我理解: 当new的数目较多的时候,就会触发伊甸园区的GC(垃圾回收机制或者...原创 2020-01-06 23:36:56 · 206 阅读 · 0 评论 -
JVM(三)---方法区、栈开头
方法区: 方法区是亮色,代表线程共享,存在垃圾回收机制。 方法区供各线程共享的运行时内存区域。它存储了每一个类的结构信息(类的模板),例如运行时常量池(Runtime Constant Pool)、字段和方法数据、构造函数和普通方法的字节码内容。上面讲的是规范,在不同虚拟机里头实现是不一样的,最典型的就是永久代(PermGen space)和元空间(Metaspace)。 但是实例变量存在堆内存...原创 2020-01-05 21:16:55 · 172 阅读 · 0 评论 -
JVM(二)---本地接口、PC寄存器
本地接口: Native Method Stack Native是指需要调用底层操作系统,或者需要调用c语言或者第三方库的标识。 只要是native的方法代表的就是调用的是其他的库,方法要放进栈里面。Java中的方法放进JAVA栈里面,native里的方法放进native栈里面。 Native interface本地接口的作用是融合不同的编程语言为JAVA所用,它的初衷是融合C/C++程序。 Na...原创 2020-01-05 18:11:23 · 213 阅读 · 0 评论 -
JVM(一)---JVM的体系结构、类加载器
带着问题学习: 请谈谈你对JVM的理解,java8的虚拟机有什么更新? 什么是OOM?什么是StackOverflowError?有哪些方法分析? JVM的常用参数调优你知道哪些? 谈谈JVM中,对类加载器你的认识? 类加载器的知识点:什么是类加载器、类加载器的种类、双亲委派机制、沙箱安全机制。 ①类加载器:类加载器负责加载class文件,class文件的文件头有自己的标识,将class文...原创 2019-12-30 00:39:04 · 185 阅读 · 0 评论