![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 94
java虚拟机
jiuLives
代码搬运工
展开
-
类加载器(双亲委派模型,自定义加载器)
1.类加载子系统负责从文件系统或是网络中加载.class文件,class文件在文件开头有特定的文件标识;2.把加载后的class类信息存放于方法区,除了类信息之外,方法区还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件中常量池部分的内存映射);3.ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定;4.如果调用构造器实例化对象,则该对象存放在堆区;原创 2023-12-15 10:06:47 · 839 阅读 · 0 评论 -
类加载过程
我们知道我们写的程序经过编译后成为了.class文件,.class文件中描述了类的各种信息,最终都需要加载到虚拟机之后才能运行和使用。而虚拟机如何加载这些.class文件?.class文件的信息进入到虚拟机后会发生什么变化呢?原创 2023-12-08 18:16:12 · 733 阅读 · 0 评论 -
JVM运行时内存详解
Java虚拟机栈(Java Virtual Machine Stacks)是线程私有的,即生命周期和线程相同。Java虚拟机栈和线程同时创建,用于存储栈帧。每个方法在执行时都会创建一个栈帧(Stack Frame),用于存储局部变量表、操作数栈、动态链接 、 方法出口等信息。每一个方法从调用直到执行完成的过程就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构。栈帧存储了方法的局部变量表、操作数 栈、动态连接和方法返回地址等信息。原创 2023-12-08 16:24:08 · 851 阅读 · 0 评论