【详解】JVM中,编译器和解释器的作用和区别

article/2025/9/15 9:47:46

一、前言

     随着互联网的发展,现在虚拟机地表最稳定,最强的默认是Hotspot虚拟机。先查看下:

查看方式:cmd进行黑框框,然后输入:java -version

会出现以下参数:

java version:当前java语言运行的JDK版本好

Java(TM) SE Runtime Environment (build 1.8.0_261-b12):java运行环境

之前的JVM包含了两种JVM的实现,一种是客户端的,一种是服务端的。现在已经把Client VM忽略掉了

java HotSpot Server VM:java虚拟机,是服务器端的,是服务器环境中最大程序化的执行速度而设计。

java HotSpot Client VM:客户端的虚拟机,在客户端环境中减少启动时间而设计。

mix mode:表示混合模式,编译器和解释器都有

二、编译器和解释器之间的区别

Java编译器:将Java源文件,也就是.java文件编译成字节码.class文件(二进制字节码文件),java.exe可以简单的看成是Java编译器。

Java解释器:就是把java虚拟机上运行的.class字节码解释成机器指令,让CPU识别运行。即jdk和jre中bin目录下的java.exe文件。Java解释器用来解释执行Java编译器编译后的.class文件。java.exe可以简单的看成Java的解释器。

简单的说:Java解释器是执行Java编译器编译后的程序。Java编程人员在编写完代码后,通过Java编译器将源代码编译成JVM字节代码。任何一台机器主要配备了Java解释器,就可以运行这个程序。Java的解释器只是一个基于虚拟机JVM平台的程序。解释器像是一个中间人,编译器已经把程序文件打包好,解释器只需要在JVM环境下执行就可以了,期间不需要依赖任何的编译器

 

       当程序需要首次启动和执行的时候,解释器可以首次发挥作用,一行一行代码的直接转义执行,但是效率低下。当多次调用方法或者循环体的时候,JIT(即时编译器)就可以发挥作用,把越来越多的代码编译成本地机器码,之后可以获得更高的效率。

       JIT是即时编译器 – 在执行本机之前,将给定的字节码指令序列编译为运行时的机器码。以方法为单位,一次性的将整个方法的字节码编译成本地机器码,机器码供CPU运行。它的主要目的是在性能上做大量的优化。

       JVM负责运行字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。JVM解释执行字节码文件就是JVM操作Java解释器进行解释执行字节码文件的过程

       JVM是一种能够运行Java字节码(Java bytecode)的虚拟机。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


http://chatgpt.dhexx.cn/article/TpaedMiD.shtml

相关文章

pycharm查看解释器

1.查看pycharm的解释器: 2.查看自己现在这个项目的解释器

python的编译器与解释器

作者介绍: 🐥作者:小刘在C站 👆每天分享课堂笔记,一起努力,共赴美好人生 🍁夕阳下,是最美的绽放 目录 一.为什么会有编译器和解释器 二.编译器和解释器的区别 三.python解释器种类…

修改Python解释器和包路径

环境检查 1. 查看当前解释器的位置 在Python文件中执行或者在终端中先进入Python import sys print(sys.executable) 以我的电脑为例子,输出 /Library/Frameworks/Python.framework/Versions/3.8/bin/python3 2. 查看当前指向的包存放路径 在Python文件中执行…

python解释器怎么添加_Python解释器安装与环境变量添加

python解释器安装与环境变量添加 python解释器安装(3.6和2.7): 这个是python解释器的官网,一定要牢记。 鉴于市场上有两种python版本(2和3),今天两种版本都装一下,互相学习,如有错误还请各位评论指正。 windows系统(如果是苹果的系统就下mac os x) 进来后 python3版本 选择…

如何删除PyCharm解释器

1.点击右下角解释器名称,选择解释器设置; 2.在弹出的窗口中点击解释器路径; 3.在弹出的窗口后选定想要删除的解释器,点击左边的减号即可删除。

pycharm如何找到python解释器,pycharm找不到解释器怎么办

解决方法:1、打开磁盘,直接搜索python.exe文件,获取该文件的路径;2、打开pycharm软件,依次点击“File”–“Setting”–“Project”,点击右上角的设置图标;3、按照获取的路径找到python.exe即可…

java解释器是什么_Java解释器的运行过程介绍

首先介绍一下Java解释器的概念,Java解释器:解释器是Java虚拟机非常重要的一部分,它的工作就是把字节码转化为机器码并在特定的平台进行运行。简单一点,java的解释器只是一个基于虚拟机JVM平台的程序 ,即jdk或jre目录下bin目录中的…

PyCharm配置远程解释器

概述 因为之前公司服务器的硬盘出现损坏,导致服务器不能使用,也把我的Jupyter Notebook里的东西全部销毁了。之前那些代码和数据都找不回来了,郁闷了几天。因为自己平时都会做一些技术研究,写写一些demo,为了方便&…

HTML 解释器

解释过程 HTML 解释器的工作就是将网络或者本地磁盘获取的 HTML 网页和资源从字节流解释成 DOM 树结构。这一过程大致可以理解成下图 WebKit 中这一过程如下:首先是字节流,经过解码之后是字符流,然后通过词法分析器把字符流解释成词语&…

Pycharm python解释器的选择与使用

python解释器的使用 和Pycharm有关的东西: 首先自己电脑之前在学习软件里面已经有了pycharm,但是那个目录是在中文目录的,很多项目运行是没有问题的,但部分可能会出现因为中文目录而导致的报错,所以只能用中文目录来弄…

PHPstorm解释器配置

最近使用PHP打BUUCTF用到了PHPstorm进行PHP语言的部分改写,其中安装解释器部分遇到了一些坑。如下: 首先官网下载PHPstorm进行安装,破解方式网上也有许多,可以直接百度,我是在《不迷路资源库》下载的。 安装后进行进入…

配置Python解释器

在运行python项目时,如果代码目录中没有venv目录(即别人已经配置好的解释器),往往不能直接运行,因此需要自己添加项目对应的解释器,即使有别人配好的解释器,也会因为安装的python位置差异导致解释器不可用,本文将对这两种情况分别解决。(以我曾经碰到过的情况为例,不一定全面) …

python解释器配置_Python解释器的配置

1、准备工作 安装好Pycharm2017版本 电脑上安装好Python解释器 2、本地解释器配置 配置本地解释器的步骤相对简洁直观: (1)单击工具栏中的设置按钮。 (2)在Settings/Preferences对话框中选中 Project Interpreter页面,在Project Interpreter对应的下拉列…

学习笔记——解释器

解释器(英语:Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。解释器不会一次把整个程序转译出来,只像一位"中间人",每次运行程序时都要先转成另一种语言再作运行&#…

【设计模式】解释器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

文章目录 一、解释器模式简介二、解释器模式适用场景三、解释器模式优缺点四、解释器模式与适配器模式五、解释器模式代码示例1、解释器接口2、加法解释器3、乘法解释器4、整型解释器5、语法解析类6、工具类7、测试类 一、解释器模式简介 解释器模式 : 给定一个 语言 , 定义它的…

linux每周2 4 6执行定时任务,linux计划任务crontab例子

/root/send_msg.sh #要自动执行的脚本程序路径 chmod +x /root/send_msg.sh #对脚本文件添加执行权限,否则不能执行 vim /etc/crontab #编辑配置文件,在最后一行添加内容 30 1 * * * root /root/send_msg.sh #表示每天凌晨1点30执行备份 :wq! #保存退出 service crond restar…

Crontab 在线生成器 - Linux计划任务

Linux系统里有一个很方便的程序「例行性计划任务」(Crontab),接触过的朋友一定不陌生。Crontab 主要是让系统去执行一些固定时间要自动进行的例行性工作,最常用的例如备份资料、移除暂存文件、更新或重新启动等等。如果将某个周期…

Linux计划任务以及进程检测与控制

安装第三方环境变量 /etc/profile PATH export PATH $home /.bashrc 当前用户的bash信息(aliase,umask) $home/.bash_profile 当前用户的环境变量的信息 $home /.bash_logout /ect/bashrc 使用bash shell用户全局变量 /etc/profile 系统和…

Linux服务器查看任务计划,Linux的任务计划

Linux的任务计划 我们在使用系统的过程中,经常需要在以后的某个时间点执行一个任务,而我们又不在机器旁边的时候,比如在半夜时服务器访问的用户很少,宽带资源很充足的时候,要去镜像软件包、重启服务器(虽然Linux很稳定…

Linux 计划任务讲解

目录 计划任务 一次性计划任务 长期性计划任务 计划任务 管理员可以编辑自己的和普通用户的计划任务 普通用户只可以编辑自己的计划任务 计划任务根据执行方式分为一次性计划任务、长期性计划任务 一次性计划任务 此计划只执行一次,执行后或就不会再执行了 通…