栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基础篇(一)java程序在JVM怎么中是怎么运行的

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基础篇(一)java程序在JVM怎么中是怎么运行的

我们可以认为JVM是一个翻译器,它用来执行字节码文件!

我们来看一个最简单的Java程序

Public class HelloWorld{
    public static void main (String[]args){
        System.out.println("你好,世界!");
    }
}

通过Eclipse或其它集成环境运行这行代码就会输出以下结果:

你好,世界!

执行一次代码的过程,其实就是执行一次JVM ,学过Java的小伙伴们都知道,我们多写的代码为“.java”为后缀名的文件。然后经过javac编译器编译打包为“.class”结尾的字节码文件,通常是jar包或者war包。

一个类从加载到使用一般会经过以下过程

加载-> 验证 -> 准备 -> 解析 --初始化 -> 使用 -> 卸载 

验证->准备->解析这三个阶段也称为连接

1)加载:将“.java”文件编译为“.java”文件

2)验证:根据Java虚拟机规划,来校验你加载的“.calss”文件是否符合规划。

3)准备:给类分配内存空间,给类和变量分配内存空间,有一个默认的初始值。

4)解析:把对“.class”文件中的符号引用转变为直接引用。

5)初始化:在准备阶段,我们是把类和局部变量分配了内存空间的,并给了一个默认值0,在初始化阶段就会对局部变量进行赋值。

6)使用 : JVM执行指令输出程序

7)卸载:垃圾回收

注意点:

1-)你要初始化一个类就必须先加载这个类,在加载这个类的过程中会先去加载它的父类,如果它的父类还没有被初始化,就必须先初始化这个类的父类,这也是后面要讲的双亲委派原则

2-)在准备阶段,虚拟机虽然给类和变量分配了空间,但是并没有进行赋值的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/322934.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号