Java程序是如何运行的「建议收藏」

Java程序是如何运行的「建议收藏」当我们写完一个Java源程序的时候,他是怎么被计算机运行的呢?本篇文章就来介绍下Java程序是如何运行的。一、java技术体系传统意义上来讲Java技术体系包含下边几个部分:Java程序设计语言各种硬件平台上的虚拟机class文件格式JavaAPI类库来自商业机构和开源社区的第三方Java类库jdk:Java语言开发工具包。包括Java程序设计语言,Java虚拟机,JavaAPI类库三个部分。jre:Java程序运行时环境。JavaSEAPI类库中的子集合Java虚拟机。jvm:

大家好,又见面了,我是你们的朋友全栈君。

当我们写完一个Java源程序的时候,他是怎么被计算机运行的呢?本篇文章就来介绍下Java程序是如何运行的。

一、java技术体系
传统意义上来讲Java技术体系包含下边几个部分:
Java程序设计语言
各种硬件平台上的虚拟机
class文件格式
Java API类库
来自商业机构和开源社区的第三方Java类库

jdk:Java语言开发工具包。包括Java程序设计语言,Java虚拟机,Java API类库三个部分。
jre:Java程序运行时环境。Java SE API类库中的子集合Java虚拟机。
jvm:执行Java程序的核心组件,是jre中的一部分

Java技术体系包含的内容如图:
在这里插入图片描述
当你不需要编写Java源程序的时候,你的电脑上是不需要安装jdk的,只需要安装jre即可。当我们需要编写Java源代码的时候,那么就需要安装jdk了。jdk中带有jre,但也可以单独安装jre。

二、Java是一个什么类型的语言?

编程语言分为编译型和解释型。那么什么是编译型和解释型呢?先来引用大牛的一个举例,我感觉说的特别好。

举个例子:你现在JVM技术特别牛逼,受邀请去哈佛大学做一次主题演讲,自然,这要求你有很好的英语水平,如果你很不幸,和我一样,英语水平渣的一B,但是又不想放弃这次机会,你又如下两个选择:
第一种方式: 带一个优秀的翻译伙伴,你演讲的时候说一句话,翻译伙伴帮你翻译成英文。好处:你可以畅所欲言;缺点:会拖延你的演讲时间。因为你说的每一句话,都必须等待翻译完才能继续。
第二种方式:先将演讲稿写好,翻译成英文。如 Hello,Good Morning(哈喽,骨的猫宁)。好处:不会拖延你的演讲时间,你演讲也比较流畅、快速的进行;缺点:不能自由发挥,如你的演讲本来是上午,改为下午了,你就不在使用Hello,Good Morning(哈喽,骨的猫宁)了。

好了,通过上边的例子,我们来总结下什么是编译型语言和解释型语言。

编译型语言:对应的是上边例子的第二种情况。是需要将程序源码直接放在特定的操作系统上,编译成可被特定操作系统所识别的字节码,然后在操作系统上运行的语言。像C,C++都是编译型语言。他们运行时,都是需要放在不同的操作系统上编译,然后再运行。优点是执行速度快缺点是可扩展性不强

解释型语言:对应上边第一种情况。不需要提前编译好,只需要在运行的时候,由解释器来逐行解释运行即可。优点是可扩展性强缺点是运行速度慢。

那么来看Java到底是哪种类型的语言呢?我们都知道Java源程序需要先由javac编译成可被Java虚拟机所识别的字节码,然后再由Java虚拟机运行。所以Java是编译型和解释型语言的结合。

三、运行过程
运行过程:
①Java 源文件—->编译器—->字节码文件
② 字节码文件—->JVM—->机器码

Java源程序先通过javac编译器编译成可被Java虚拟机所识别的字节码文件。之后Java虚拟机就会将class文件加载到内存,然后运行。其中Java虚拟机就充当了class文件与操作系统之间的解释器。所以如果需要在不同的平台上运行文件,那么只需要在操作系统上安装相应版本的Java虚拟机即可。这也就是为什么Java程序是一次编译到处运行的原理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157072.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件著作权 源码_python申请软件著作权

    软件著作权 源码_python申请软件著作权申请软件著作权时需要清除代码中的注释,可以通过word和Notepad++组合操作来快速的完成1。使用word的插入文件功能合并多个源代码文件,操作方法为:新打开1个word文件,在“插入”标签栏下找到“对象”点击右边的小三角下拉菜单里选择“文件中的文字…”,然后在跳出来的文件选择对话框里选择要合并的文件,如果对话框里没有显示出需要的文件,可能是文件类型过滤器选择的不对,更改为“所有文件…

    2025年11月12日
    2
  • 用深度学习做命名实体识别(三):文本数据标注过程

    用深度学习做命名实体识别(三):文本数据标注过程上一篇文章 我们介绍了 brat 的安装和配置 当成功安装和配置好了 brat 我们就可以进行文本标注了 首先 在 brat 项目的 data 目录下新建一个 project 目录 然后在 brat 项目的主目录下找到以下文件 复制到 project 目录 主目录 var www html brat pro

    2025年12月14日
    3
  • Linux基础命令—resize2fs

    resize2fs    调整ext2\ext3\ext4文件系统的大小,它可以放大或者缩小没有挂载的文件系统的大小。如果文件系统已经挂载,它可以扩大文件系统的大小,前提是内核支持在线调整大小。    size参数指定所请求的文件系统的新大小。如果没有指定任何单元,那么size参数的单位应该是文件系统的文件系统块大小。size参数可以由下列单位编号之一后缀:“s”、“K”、…

    2022年4月5日
    300
  • Linux04:(4.6k)vim编辑器「建议收藏」

    Linux04:(4.6k)vim编辑器「建议收藏」文章目录Linux_day04一.vim编辑器vim的三种模式1.命令模式2.末行模式3.编辑模式实用功能扩展内容==1.vim的配置文件==2.异常退出问题3.别名机制4.退出方式补充一些win10下的快捷键Linux_day04一.vim编辑器vim的三种模式命令模式不能对文件直接编辑,但可以通过快捷键删除行,复制,粘贴,移动光标等编辑模式-输入末行模式可以在末行输入命令:搜索,替换,保存,退出,撤销vim打开文件的方式:1.#vim 文件路径——直接打开文件(光

    2022年8月9日
    5
  • Python 基础问题大全

    Python 基础问题大全前言Python现在依托大数据,AI人工智能等等这些最火的项目,俨然已经成为了当下最火的一门编程语言之一。所以,近来也是有非常非常多的工程师来进修python这么语言。但是实际上,对于0代码基础

    2022年7月6日
    25
  • 开机出现efi shell解决

    开机出现efi shell解决解决方法:电脑关机,放一会儿,自动就好了。前提是,电脑小白,以前或者现在没改过bois配置,我相信大部分都不会无聊到改bois配置。实际情况,我用手机找问题解决方法加上在电脑上试着解决,大概花了30多分钟吧。所以,出现这个问题,就把电脑晾一边,放30多分钟,具体估计因电脑而异。问题背景:打开,关闭,操作电脑软件太快了,具体有模拟器,网页,androidstudio,其实和平时相比…

    2022年7月24日
    93

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号