Java学习,后续更新~

关于JVM的地位问题~

JDK\JRE\JVM的关系

JDK(开发工具包)包含JRE(运行环境),JRE包含JVM(JAVA虚拟机)
JDK:为jvm提供了额外的类库工具,比如编译Java文件的javac二进制程序,这些都是存储在bin(binary)目录下
JRE:为Java程序提供执行环境,jre为jvm提供了几乎所有的依赖类库
java图解
jvm能执行java程序,不是直接执行java文件。Java与操作系统之间不是直接将.java文件转交给操作系统处理的,而是将.java文件通过javac二进制文件编译成.class文件,也称之为字节码文件。字节码文件也不是直接给操作系统执行。
普通程序与Java程序执行区别如图所示:
普通程序:
普通程序!
Java程序:

Java程序
字节码文件操作系统也是不认识的,字节码文件还需要经过jvm加载为机器码,也就是Opcode操作码,翻译成机器码也就是操作系统能看得懂的语言后,操作系统才回去执行这个java程序。类似于黑盒测试,流程我们无法看见,只能看见我们编写的java规范编码被操作系统执行了。
jvm识别字节码文件后,翻译了字节码指令,翻译给操作系统,从而控制操作系统去执行相应的功能,所以,提及翻译,就不得不简单说一下JVM的翻译字节码文件的方式方法了,jvm翻译字节码常见的有两种不同的方式,一种是即时加载方法,一种是解释执行。解释执行是将字节码文件中的opcode与操作数翻译成op指令也就是机器代码,而即时加载是在特定情况下才会触发,将字节码翻译成机器码后执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值