前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Java的运行机制以及Java跨平台的原理

Java的运行机制以及Java跨平台的原理

作者头像
用户7353950
发布2022-05-10 20:43:44
发布2022-05-10 20:43:44
3630
举报
文章被收录于专栏:IT技术订阅IT技术订阅

1、首先说一下JDK、JRE和JVM的关系

JDK(Java Development Kit)是 Java 语言的软件开发工具包,它包含有JRE、编译器和调试器等用于程序开发的文件。抛开JRE不谈,它主要能干编译和调试两件事。

JRE(Java Runtime Environment)即java运行环境,它包含了JVM及java的核心类库。抛开JVM不谈,它主要提供一些必要的运行文件。

JVM(Java Virtual Machine)即Java虚拟机,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java的解释器就包含在JVM中。JVM有自己完善的硬件架构,如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。

它的主要功能是,将字节码文件class文件解释成对应平台机器码并执行。不同的操作系统因为他们的机器码不同所以他们的JVM不同。

所以他们的关系就可以用下图来表示:

2、Java程序运行机制

Java的运行主要分两步:先编译再解释执行

(1)先通过“编译器”将Java源程序(.java)编译成Java字节码文件(.class)(字节码文件采用结构中立的中间文件格式)

(2)通过不同的虚拟机(JVM)将字节码文件解释为机器语言并执行

用图来表示就是:

3、Java跨平台原理

因为程序都需要编译生成字节码文件(.class),而字节码文件生成后是结构中立的中间文件格式,即可看作是无关于源文件(.java)也无关于虚拟机(JVM)的文件,这样在不同机器上执行同一份.class文件他们的执行结果也相同。

用图表示就是:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术订阅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档