![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 76
晓风轻飏丶
这个作者很懒,什么都没留下…
展开
-
类加载器
文章目录类加载器类加载器种类虚拟机自带的加载器用户自定义加载器双亲委派机制 类加载器 负责加载class文件,class文件在文件开头有特定的文件标示(cafe babe),将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行时数据结构并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定 类加载器种类 虚拟机自带的加载器 启动类加载器(Bootstrap)C++ :java类加载器中最顶层的类加载器,负责加载jdk原创 2021-01-19 10:30:43 · 35 阅读 · 0 评论 -
垃圾收集器
文章目录垃圾收集器Serial收集器(用于新生代)ParNew收集器(新生代)Parallel Scavenge收集器(“吞吐量优先”收集器)(新生代)Serial Old收集器(老年代)Parallel Old收集器(老年代)CMS收集器(Concurrent Mark Sweep)G1收集器(Garbage First) 垃圾收集器 如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。下图展示了7种不同分代的收集器,如果两个收集器之间存在连线,就说明他们可以搭配使用。并没有最好的收集器原创 2021-01-19 10:25:34 · 48 阅读 · 0 评论 -
本地方法栈 程序计数器 方法区
本地方法栈 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iNEn3eqq-1611022950950)(78E58A9177C04612B318D2479B119CB3)] 本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合C/C++程序,Java诞生的时候是C/C++横行的时候,要想立足,必须有调用C/C++程序,于是就在内存中专门开辟了一块区域处理标记为native的代码,它的具体做法是Native Method Stack中登记native方法,在Ex原创 2021-01-19 10:23:08 · 216 阅读 · 0 评论 -
java栈
栈 stack 栈管运行 堆管存储 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5w8mHgJa-1611022882998)(3EAB4044C505417585A9E6D0C564BA64)] 栈也叫栈内存,主管Java程序的运行,是在线程创建时创建,它的生命期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题,只要线程一结束该栈就Over,生命周期和线程一致,是线程私有的。 8种基本类型的变量+对象的引用变量+实例方法都是在函数的栈内存中分配。原创 2021-01-19 10:22:19 · 125 阅读 · 0 评论 -
GC算法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R1Nr1Ylb-1611022287782)(8DDA47BDBA7244D0BE01D42CA4AC3D1D)] JVM在进行GC时,并非每次都对上面三个内存区域一起回收的,大部分时候回收的都是指新生代。 因此GC按照回收的区域又分了两种类型,一种是普通GC(minor GC),一种是全局GC(major GC or Full GC) Minor GC 和Full GC的区别 普通GC(minor GC):只针对新生代区域原创 2021-01-19 10:12:03 · 220 阅读 · 0 评论 -
java堆
堆 heap 栈管运行 堆管存储 一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行,堆内存分为三部分: 名称 中文 简写 Young Generation Space 新生代 Young/New Tenure generation space 老年代 Old/Tenure Meta Space 元空间 Meta Permanent Space(JDK7) 永久..原创 2021-01-19 10:20:23 · 89 阅读 · 0 评论