博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java类加载过程
阅读量:5093 次
发布时间:2019-06-13

本文共 482 字,大约阅读时间需要 1 分钟。

类编译解释执行过程

749275-20190621183203019-1288062373.png

  • 编译:将.java文件编译为.class文件(字节码文件)其中详细过程如下
    源代码文件*.java -> 词法分析器 -> tokens流 -> 语法分析器 -> 语法树/抽象语法树 -> 语义分析器 -> 注解抽象语法树 -> 字节码生成器 -> JVM字节码文件*.class
  • 加载:加载即将.class类文件加载到内存中,存放细节见下。
  • 连接
  • 解释执行

类加载过程

当我们运行该文件时,Java虚拟机就通过类加载器(类加载器本质就是一段程序)把“.class”文件加载到内存,在方法区形成该类各方法的代码段和描述该类细节信息的常量池,同时在堆区形成一个表示该类的Class对象(一个java.lang.Class类的实例)。Class对象中存储了指向了该类所有属性和方法的详细信息的指针(同时,还存储了指向该类的父类的Class对象的指针)。我们能够通过Class对象直接创建该类的实例,并调用该类的所有方法,这就是我们所说的反射。

转载于:https://www.cnblogs.com/a1225234/p/11066273.html

你可能感兴趣的文章
STL容器之vector
查看>>
数据中心虚拟化技术
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
python3 生成器与迭代器
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
IOS--沙盒机制
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
synchronized
查看>>