JVM虚拟机和编译器作用有什么区别

JVM虚拟机和编译器作用的区别是:编译器是用来编译java源代码的,以.java为后缀的java源代码必须编译以后才能运行;java虚拟机是java代码的运行环境也就是说被编译器编译以后的java代码在java虚拟机上运行。

JVM虚拟机和编译器作用有什么区别-Worktile社区

JVM虚拟机和编译器作用的区别是:编译器是用来编译java源代码的,以.java为后缀的java源代码必须编译以后才能运行;java虚拟机是java代码的运行环境也就是说被编译器编译以后的java代码在java虚拟机上运行。

Java虚拟机

Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。

Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。

Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

Java虚拟机规范定义了一个抽象的——而非实际的——机器或处理器。这个规范描述了一个指令集,一组寄存器,一个堆栈,一个“垃圾堆”,和一个方法区。一旦一个Java虚拟机在给定的平台上运行,任何Java程序(编译之后的程序,称作字节码)都能在这个平台上运行。Java虚拟机(JVM)可以以一次一条指令的方式来解释字节码(把它映射到实际的处理器指令),或者字节码也可以由实际处理器中称作just-in-time的编译器进行进一步的编译。

Java编译器

JAVA编译器(javac.exe)的作用是将java源程序编译成中间代码字节码文件,是最基本的开发工具。

编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。

JAVA编译器(javac.exe)的作用是将java源程序编译成中间代码字节码文件,是最基本的开发工具。编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。

Java以跨平台、面向对象、多线程、兼具编译型语言和解释型语言、稳定性好、安全性强的特点,以及与Internet的完美结合而取得成功。

延伸阅读:

JAVA编译器工作原理

字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。编程人员和计算机都无法直接读懂字节码文件,它必须由专用的Java解释器来解释执行,因此Java是一种在编译基础上进行解释运行的语言。

Java解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。因此Java程序不能直接运行在现有的操作系统平台上,它必须运行在被成为Java虚拟机的软件平台之上。

Java语言这种“一次编写,到处运行”的方式,有效地解决了大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题,即硬件环境和操作平台的异构问题,大大降低了程序开发、维护和管理的开销。

文章标题:JVM虚拟机和编译器作用有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37926

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月13日 上午2:38
下一篇 2023年2月13日 上午2:40

相关推荐

  • 工时管理的目的是什么

    企业进行工时管理的目的主要是提高员工的工作积极性,通过工时管理所提供的数据进行有效的绩效考核。这个在传统行业非常易于操作,但是项目型企业不是简单的数据统计,所以项目型企业通常将任务与工时相结合,有效的工时需要经过审批。

    2022年11月30日
    14400
  • 深拷贝和浅拷贝的区别是什么

    深拷贝和浅拷贝是指在赋值一个对象时,拷贝的深度不同。区别是浅拷贝是拷贝了对象的引用,当原对象发生变化的时候,拷贝对象也跟着变化;深拷贝是另外申请了一块内存,内容和原对象一样,更改原对象,拷贝对象不会发生变化。

    2023年2月7日
    9900
  • 图数据库的优点有什么

    图数据库的优点有:1、更直接、自然,易于建模;2、可以很高效的插入大量数据;3、可以很高效的查询关联数据;4、提供了针对图检索的查询语言;5、提供了专业的分析算法、工具。使用图(或者网)的方式来表达现实世界的关系很直接、自然,易于建模。

    2023年1月9日
    14300
  • 流程管理的核心是什么内容

    流程管理的核心是流程,具体涉及的内容包括:1.企业战略;2.流程体系;3.流程管理人员;4.流程管理工具;5.子流程;6.流程嵌套。流程是企业正常运作的基础,流程会带动关键信息数据在各个部分和工作人员之间流转,驱动业务正常运转。

    2022年11月13日
    29100
  • ghost是什么软件

    ghost全称GeneralHardware Oriented System Transfer(通用硬件导向系统转移),是美国赛门铁克公司旗下的一款出色的硬盘备份还原工具,该软件可以实现FAT16、FAT32、NTFS、OS2等多种硬盘分区格式的分区及硬盘的备份还原。 一、ghost软件简介 Gho…

    2023年3月19日
    5400
  • 什么是战略绩效管理

    战略性绩效管理是指对企业的长期战略制定实施过程及其结果采取一定的方法进行考核评价,并辅以相应激励机制的一种管理制度,以战略为导向的绩效管理系统, 并促使企业在计划、组织、控制等所有管理活动中全方位的发生联系并适时进行监控的体系。 一、什么是战略绩效管理 战略性绩效管理是指对企业的长期战略制定实施过程…

    2023年5月5日
    2900
  • 日程管理app有哪些软件

    日程管理app有:一、滴答清单;二、奇妙日程;三、TickTick日程管理;四、时间表;五、高效Todo;六、365日历;七、计划表;八、微约日历;九、魔女执事;十、极致办公。滴答清单是一款专注于日程安排的人气管理类应用。 一、滴答清单 一款专注于日程安排的人气管理类应用。软件功能强大,囊括了笔记记…

    2023年4月16日
    5600
  • 测试用例编写工具有哪些

    写测试用例编的工具有:一、PingCode;二、TestRail;三、Jira;四、PractiTest;五、Kualitee;六、Zephyr Enterprise。PingCode 是国内的一站式软件研发项目管理工具,在2021年曾被36氪评为国内研发项目管理工具top1。被广泛用于需求管理、敏…

    2023年3月31日
    14600
  • APP开发应该注意哪些问题

    APP开发应该注意:1、如何在短时间内完成app的开发;2、如何设计app的界面;3、如何开发app的性能;4、如何发布app;5、如何确保app的安全性等。在短时间内完成app的开发,需要制定有效的计划,合理安排开发时间,落实各项步骤。 一、如何在短时间内完成app的开发 在短时间内完成app的开…

    2023年5月10日
    1000
  • 千兆路由器和百兆的区别

    千兆路由和百兆的区别有:1、网络端口;2、无线速率;3、芯片区别。路由器的端口分WAN口和LAN口,百兆端口和千兆端口指的是路由器的传输速率,千兆路由器的网络端口速率为1000Mbps,百兆路由器的端口是100Mbps。

    2023年1月31日
    5400

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部