![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 94
aiYouWei啊
你必须内心丰富才能改变这些生活表面的相似
展开
-
[JVM学习]GC的种类、JVM堆上对象的分配过程
JVM堆上GC的种类 JVM在进行GC时,并非每次都对三个内存区域(新生代,老年代;方法区(永久代,元空间))一起回收的,大部分回收都指的是新生代 针对HotSpot VM的实现,他里面的GC按照回收区域又分为两大种类型,一种是部分收集(Partial GC),一种是整堆收集(Full GC) 部分收集:不是完整收集整个JAVA堆的垃圾收集,其中又分为: 新生代收集(Minor GC/Young GC):只是新生代的垃圾收集 老年代收集(Major GC/ Old GC):只是老年代的垃圾收集原创 2021-09-12 17:55:11 · 121 阅读 · 0 评论 -
[JVM学习]本地方法栈、堆
本地方法栈 本地方法栈概述 Java虚拟机栈用于管理Java方法调用,而本地方法栈用于管理本地方法的调用 本地方法栈也是线程私有的 允许被实现成固定或者是可动态扩展的内存大小(在内存溢出方法是相同的) 如果线程请求分配的栈容量超过本地方法栈允许的最大容量,JAVA虚拟机将会抛出一个StackOverflowError异常 如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应的本地方法栈,那么java虚拟机将会抛出一个OutofMemoryEr原创 2021-09-05 15:00:32 · 107 阅读 · 0 评论 -
[JVM学习]虚拟机栈
虚拟机栈 虚拟机栈是运行时数据区的另一个区域,同时虚拟机栈也是运行时数据区的另一个线程私有区域 由于跨平台的设计,Java的指令都是根据栈来设计的,不同平台的CPU架构不同,所以不能设计为基于寄存器的 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令 栈是运行时的单位,而堆是存储的单位 栈解决程序的运行问题,即程序如何执行,或者如何处理数据.堆解决的是数据的存储问题,即数据放哪怎么放 每个线程创建时都会创建一个虚拟机栈,其内部保存着一个个栈帧,对应着一次次Java原创 2021-08-29 22:14:39 · 102 阅读 · 0 评论 -
[JVM学习]双亲委派机制及PC寄存器(程序计数器)
双亲委派机制 Java虚拟机对class文件的加载采用的是按需加载,也就是说需要使用该类时才会将他的class文件加载到内存生成class对象,而且加载到某个类的class文件时,Java虚拟机采用的是双亲委派机制,他把任务交给父类来进行处理,这是一种任务委派模式 工作原理 如果一个类加载收到了类加载请求,它并不会自己先去加载而是把这个请求委托给父类的加载器去执行 如果父类的加载器还存在存在其父类加载器则进一步向上委托,依次向上递归,请求最终将达到的启动类加载器 如果父类加载器可以完成类加载任务,就成原创 2021-08-22 21:10:33 · 66 阅读 · 0 评论 -
[JVM学习]类加载子系统
JVM–类加载子系统原创 2021-08-15 14:10:50 · 51 阅读 · 0 评论