01|我们的Java代码到底是如何运行起来的?

学习 JVM,那么得先明白我们平时写的代码,到底是怎么运行起来

 

首先,我们会写好一堆以 .java 结尾的代码文件,

那么,我们也好的程序是如何部署到服务器呢?一般来说,我们会把代码打成“.jar”的jar 包,或者打成“.war”de             war包。

然后,把打成的 jar 包或者 war 包放到线上服务器去部署。

 

这个部署就有很多种途径了,但是最基本的一种方式,就是通过Tomcat这类容器来部署代码,也可以是你自己手动通过 “java”命令来运行一个jar包中的代码。

image.png

 

这个有一个关键的步骤编译, 

也就是我们写好的 “.java” 代码在打包过程会变成“.class” 后缀的字节码,

那么这些字节码是如何被运行起来的?

这个时候我们可能会使用“Java -jar” 之类的命令来运行我们的程序,此时你一旦采用“java” 命令,也就相当于启动一个 JVM 进程

 

这个 JVM 会运行这些“.class” 的字节码文件,也就相当于运行我们也好的系统。

 

所以平时我们写好的某个系统在一台机器上部署的时候,其实就启动一个 JVM ,由它来负责运行这台机器上的这个系统。

 

那么又来问题,JVM 要想运行这些“.class ” 字节码,是不是得先把这些“.class”  文件中包含的各种类加载进来。

这些 “.class” 文件其实就是我们写好的一个个类,此时就一个有一个“类加载器”概念。也就是此时会采用类加载器把编译好的那些 “.class” 字节码 加载到 JVM 中。

 

最后,JVM 会基于自己的字节码执行引擎,来执行这些加载到内存的类。

 

比如说:你的代码中有一个 main() 方法,那么JVM 就会从这个 main() 方法开始执行里面的代码。他需要哪个类的时候,就会使用类加载器来加载对应的类。

 

 

 

所以我们平时写的“.java” 后缀的源代码开始,一步一步梳理出以下的流出:

1、写好的代码编译成 “.class” 后缀饿字节码文件

2、JVM 是个什么东西

3、JVM 跟我们平时运行在机器上的系统之间是什么关系

4、类加载器的概念

5、针对加载内存的类进行代码的执行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值