JVM中类加载与运行机制是如何具体实现的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1841个文字,预计阅读时间需要8分钟。
1. Java程序运行原理概述Java程序通过以下步骤运行:- 编写Java源代码文件(.java)- 使用Java编译器(javac)编译源代码,生成.class字节码文件- Java虚拟机(JVM)加载.class文件,并使用解释器执行字节码- JVM将字节码转换为特定平台的机器码,执行程序
1.一段java程序是如何运行起来的呢?
Java源文件,通过编译器,产生.Class字节码文件,字节码文件通过Java虚拟机中的解释器,编译成特定及其上的机器码,那Java虚拟机又是怎样加载java程序并执行起来的呢?
简单来说:通过类加载器加载字节码文件,被分配到JVM的运行时数据区的字节码会被执行引擎执行。
(1)类加载器,加载.class文件
(2)运行数据区:栈区、堆区、PC寄存器、本地方法栈、方法区
(3)执行引擎:执行包在装载类方法中的指令
2. 类加载器
类的加载是指将类的.class文件读入内存,将其放在方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构,并向java程序员提供访问方法区内数据结构的接口。类加载器并不需要等到某个类被首次主动使用时再加载它,JVM允许类加载器在预料某个类将要被使用时就预先加载它。
类的生命周期
类加载过程包括:加载、验证、准备、解析、初始化
(1)加载:查找并加载类的二进制数据。
本文共计1841个文字,预计阅读时间需要8分钟。
1. Java程序运行原理概述Java程序通过以下步骤运行:- 编写Java源代码文件(.java)- 使用Java编译器(javac)编译源代码,生成.class字节码文件- Java虚拟机(JVM)加载.class文件,并使用解释器执行字节码- JVM将字节码转换为特定平台的机器码,执行程序
1.一段java程序是如何运行起来的呢?
Java源文件,通过编译器,产生.Class字节码文件,字节码文件通过Java虚拟机中的解释器,编译成特定及其上的机器码,那Java虚拟机又是怎样加载java程序并执行起来的呢?
简单来说:通过类加载器加载字节码文件,被分配到JVM的运行时数据区的字节码会被执行引擎执行。
(1)类加载器,加载.class文件
(2)运行数据区:栈区、堆区、PC寄存器、本地方法栈、方法区
(3)执行引擎:执行包在装载类方法中的指令
2. 类加载器
类的加载是指将类的.class文件读入内存,将其放在方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构,并向java程序员提供访问方法区内数据结构的接口。类加载器并不需要等到某个类被首次主动使用时再加载它,JVM允许类加载器在预料某个类将要被使用时就预先加载它。
类的生命周期
类加载过程包括:加载、验证、准备、解析、初始化
(1)加载:查找并加载类的二进制数据。

