![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 85
JVM笔记
老十三笔记
这个作者很懒,什么都没留下…
展开
-
Jvm笔记3:JVM的垃圾回收机制
1、对象的分配、引用与回收 方法的栈帧,在方法调用结束后会从线程的虚拟机栈中出栈。出栈后,方法的局部变量也随之销毁,而这时局部变量指向堆里的实例对象也就没有引用了,变成堆里的垃圾对象了。 Java堆里的对象都是占用内存资源的,而我们Jvm作为系统的一个进程,分配着系统的一块内存,因此我们的资源是有限的。 JVM的垃圾回收机制:Java后台有一个垃圾回收线程,它是低优先级的。在堆内存不足时,它就会对堆里垃圾对象回收释放内存。 2、JVM堆内存分代模型 年轻代:大部分对象存活时间都是很短的,对象创建之后很原创 2022-01-22 17:58:28 · 332 阅读 · 0 评论 -
Jvm笔记2:内存区域的划分
1、背景 Jvm运行程序时,是需要内存空间来存储数据的,不同的内存空间存放不同的数据。 Java代码的组成部分大概有:类、类属性、静态变量、方法,局部变量等组成。那么,这些组成部分都在Jvm哪些内存区域呢? 2、存放类的方法区 主要存放“.class”文件加载进来的类,还会有常量池等一些数据在这块区域。 JDK1.8之后,这块区域的名字也被叫做“Metasapce”(元数据空间),存放的依然是我们的类信息。 3、执行代码指令的程序计数器 我们编写的.java文件最终会编译成.class字节码文原创 2021-09-13 22:48:12 · 141 阅读 · 0 评论 -
Jvm笔记1:类加载机制和双亲委派模型
代码是怎么运行起来的? Java代码文件编译成".class"后缀的字节码文件 类加载器会把编译好的字节码文件加载到JVM中去 JVM基于自己的执行引擎,执行加载到内存中的类 类加载过程? 加载 ; 验证 ; 准备 ; 解析 ; 初始化 验证: 根据Java虚拟机规范,验证加载的".class"文件内容是否符合规范。 准备: 给类以及类静态变量分配一定的内存空间,例如给初始值0但不会执行=号后的代码。 解析:把常量池中符号引用替换成直接引用的过程。 初始化:核心阶原创 2021-09-09 22:57:56 · 115 阅读 · 0 评论