1、JVM是如何工作的?

JVM内部架构

每天都在用JVM,那你知道JVM是如何工作的吗?大概应该知道吧?看下图:

从图中我们可以知道,JVM大概由几部分组成:类加载器、内存区域、执行引擎、本地接口库。其中类加载器负责把磁盘上的.class文件加载到JVM内存中去; 执行引擎负责代码执行,执行过程中会使用到内存区域;内存区域划分为几块,各自有各自的用处。

java代码如何被JVM执行的?

整体流程很简单:

我们写的.java文件计算机是识别不了的,所以首先我们写的代码需要从.java文件编译为.class文件,.class是字节码文件,里面都是一些字节码指令,这样的字节码指令才是计算机可以识别的。而编译过程一般是maven这样的构建工具来做的,我们只需要一个命令下去就可以达成jar包。

然后把打好的jar包放到服务器上,java –jar命令来启动,此时,一个JVM进程便起来了。当然,java –jar命令中可以包含一些设置参数、classpath、主方法所在类等,如下所示:

java –jar –Xmx1024m –Xms1024m –Xmn512m –classpath /xxx/xxx/xxx.jar:/xxx/xxx/xxx1.jar com.cn.test.MainApplication

此时JVM会按照指定的参数进行启动,按照设定的classpath来读取.class文件,按照指定的主类的路径查找MainApplication.class文件,通过类加载器将MainApplication.class文件加载到JVM内存中, 初始化MainApplication类,然后执行MainApplication,在执行过程中用到了什么类,JVM的类加载器就会把这些类对应的.class文件也加载到JVM内存中,这样一个新的JVM就开始它的工作了。

1、JVM是如何工作的?_jerry_dyy的博客-CSDN博客_jvm是如何运行的

2、JVM的类加载机制_jerry_dyy的博客-CSDN博客

3、JVM内存区域划分_jerry_dyy的博客-CSDN博客_jvm的内存区域划分

4、JVM垃圾回收机制_jerry_dyy的博客-CSDN博客

5、JVM分代模型--新生代 的垃圾回收_jerry_dyy的博客-CSDN博客_jvm新生代划分

6、JVM分代模型--老年代 的垃圾回收_jerry_dyy的博客-CSDN博客

7、常见的垃圾回收器_jerry_dyy的博客-CSDN博客

8、JVM优化简介_jerry_dyy的博客-CSDN博客

9、学会查看GC日志_jerry_dyy的博客-CSDN博客

10、摸清JVM运行状况_jerry_dyy的博客-CSDN博客

11、摸清JVM对象分布_jerry_dyy的博客-CSDN博客

12、OOM简介_jerry_dyy的博客-CSDN博客

13、OOM模拟_jerry_dyy的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值