![](https://img-blog.csdnimg.cn/20200706092842286.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Jvm
jvm
嘉戈
No end for learning
展开
-
深入理解JVM:类加载过程 及 双亲委派模型
类的生命周期类从被加载到内存中开始,到卸载出内存,经历了加载、连接、初始化、使用四个阶段,其中连接又包含了验证、准备、解析三个步骤。这些步骤总体上是按照图中顺序进行的,但是Java语言本身支持运行时绑定,所以解析阶段也可以是在初始化之后进行的。以上顺序都只是说开始的顺序,实际过程中是交叉进行的,加载过程中可能就已经开始验证了。类加载过程1、加载“类加载” 过程比较多,而加载是其中第一个步骤,负责将.class文件加载至内存,但又不仅可以从本地 .class 文件加载一个类或接口,也可以从JAR包、原创 2020-07-13 10:08:52 · 510 阅读 · 1 评论 -
深入理解JVM:jvm的体系结构及运行过程
文章目录jdk、jre、jvmHotSpot虚拟机java是如何实现跨平台的?jvm体系结构栈的先进后出原则底层的运行过程jdk、jre、jvmjdk中的文件bin:最主要的是编译器javac.exeinclude:java和jvm交互的头文件lib:类库jre:java运行环境金字塔结构 JDK=JRE+JVM+其它 运行Java程序一般都要求用户的电脑安装JRE环境(Java Runtime Environment);没有jre,java程序无法运行;而没有java程序,jre就没有用原创 2020-07-04 20:04:39 · 271 阅读 · 0 评论 -
深入理解JVM:java对象的创建过程?
Step1:类加载检查虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。Step2:分配内存在类加载检查通过后,接下来虚拟机将为新生对象分配内存。对象所需的内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大小的内存从 Java 堆中划分出来。分配方式有 “指针碰撞” 和 “空闲列表” 两种,选择那种分配方式由 Java 堆是否规整决定.原创 2020-07-01 10:29:45 · 1753 阅读 · 0 评论