一、java程序的运行机制
Java开发的整个生命周期,可以概括为两个阶段:编译阶段和运行阶段。
1.编译阶段
①程序员编写一个符合java语法的xx.java的源文件。
②使用javac.exe命令对以上的java源程序进行编译。
③若编译通过则生成一个xxx.class文件。
2.运行阶段
①打开命令窗口,在命令窗口中使用java.exe命令运行java程序。
二、java虚拟机运行
如上图所示,java文件解释执行时会启动JVM(java虚拟机)来给程序划分内存区域并转换成计算机系统可以识别的二进制文件来运行程序。
我们先用一张图来整体感受一下JVM的运行机制
编译通过后生成class文件,jvm会启动它的类加载器来加载文件,然后JVM将内存分为了5个区域,我们目前只需要了解主要的三个区域
1.方法区,也叫数据结构共享区,程序首先会进到这个区域
2.栈内存,程序执行时,主方法先进入栈内存的底部,之后代码从上往下执行加载的方法等都会逐个进栈,也叫做压栈。
3.堆内存,在栈内存中加载执行的实例化对象或是一些引用数据类型等都会在堆内存中开辟一块空间,并生成一个16进制的地址指向引用名。
附:具体的执行情况以后会配合具体的程序来进行详细解说。