学习了解Java的JVM机制

了解Java的JVM机制。

什么是JVM呢?Java语言:一次编译,处处运行。靠的就是JVM机制。

我们写好的.java文件,首先会被编译成字节码文件(既.class文件),这个文件首先会被加载到jvm.cfg文件中(这个文件在jdk安装的目录下,我的在C:\Program Files\Java\jdk1.8.0_181\jre\lib\amd64下),字节码文件加载到这个文件中后,然后通过jvm.dll文件进行执行(这个文件是jvm的主要实现),接下来会初始化JVM,并且获得JNI接口(这个接口就是本地java接口),进而找到class文件加载到JVM中,找到main方法进行执行。

 

JVM的基本结构

class文件被加载到JVM中,在类加载器子系统中,然后分配到内存空间,内存空间主要包括:方法区,java堆,java栈,本地方法栈。

方法区:是线程共享的,主要存放静态变量,常量等。

java堆:线程共享,存放类的实例。

java栈:每个线程私有的,一个线程对应一个java栈,空间比较大,一般在递归的时候,如果递归的深度太大,会抛出        StackOverflowError异常。

本地方法栈:用来执行本地方法,和java栈类似。

 

 

大致了解一下,具体的东西还要深入学习。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值