Java 的运行机制
前置知识
在介绍 Java 的运行机制前,我们先来简单了解一下计算机组成原理。
计算机由软件和硬件设备组成,其中硬件分为外部设备和主机。
- 外部设备包含鼠标、键盘、音响等
- 主机则包含CPU(中央处理器)、主板、内存、硬盘、显卡、声卡等
这里我们详细说一下内存和硬盘:
- 内存存储空间小,硬盘存储空间大
- 内存的数据存取速度快,硬盘的数据存取速度慢
- 内存属于临时性存储,如果计算机断电,内存中的信息就会丢失。硬盘属于永久性存储,不受断电影响
正文
在了解完这些基本知识后,我们通过编写一段 Java 程序来描述 Java 的运行机制,内容如下:
- 在硬盘上创建一个源文件 Test.java
- 编写 Java 程序
java
// Test.java
public class Test {
public static void main(String[] args) {
int x = 10;
int[] array = new int[3]{1, 2, 3};
}
}在终端运行
javac Test.java命令进行代码编译- 此时 JVM 会开辟一块内存空间,用于将源文件 Test.java 编译成字节码文件 Test.class
在终端运行
java Test命令执行 Java 程序- 在运行前有一个默认执行过程,JVM 调用类加载器(class loader)将硬盘中的字节码文件 Test.class 中的信息加载到内存中
- 运行
java Test命令,实际上就是运行内存中的类信息 - Java 程序中所有的运行都在栈内存中,并且从主方法开始运行
主方法中声明了一块变量空间
int x,并且从常量池中复制常量10并存到变量空间int x中接着声明另一块变量空间
int[] array,并且创建数组对象,数组对象长度为3,成员分别为1,2,3,然后将数组对象第一个成员的地址存储到变量空间int[] array中
