jvm虚拟机-什么是jvm

article/2025/10/26 16:07:26

最近看了一段时间jdk源码,在看源码的过程中对数据的存储不是很清楚,当时就在想数据到底存在哪里去了?以前只是看博客什么的对jvm有一个大概的了解,但是没有深入研究。经过一段时间的研究<<深入理解java虚拟机后>>,才决定写一些关于jvm的文章,不为别的只为了同为技术的程序员们少走一些弯路,因为这本书第一遍读起来晦涩难懂,我也是查阅了大量的资料才渐渐的理解了什么意思。同时也为了留下自己的脚印,以后几十年后能够看到我在这一年没有荒废时间还在努力的研究技术,估计那时候会欣慰的一笑吧。
1 jvm怎么来的
还记得上的java第一趟课吗?老师怎么说的。。。java是面向对象的语言,而且它是跨平台的。这个跨平台是什么意思?
我们的计算机只认识0 或者 1,我们不管用什么语言写的程序都要经过编译器编译成 0 或者1 组成的2机制文件才能被机器认识,程序才能执行。现在也是这样子,但是我们的程序是运行在机器上,机器是有操作系统的也是有机器指令的,面对不同的厂家不同操作系统我们都需要根据具体的需求 进行编译,这样子做了太多的重复性工作。所以‘与平台无关性’这一理想就出现了,在这种理想下虚拟机也就应运而生。
而且虚拟机跟java一点关系都没有,只不过java是在虚拟机上运行而已。更准确的说任何语言之言编译成.class文件都能在虚拟机上运行。

这里写图片描述

不管什么语言只要编译成class文件,都能做到一次编译处处运行。

1 jvm是什么?
我想大家学java的时候第一课一定是伟大的helloword.java对吧。那么我们怎么执行的这个helloword.java文件让他运行的呢?
1首先我们javac helloword.java
这里写图片描述
编译好了 生成一个.class文件。
2 我们需要按照说明执行java helloword
这里写图片描述
果然按照我们设想的打印出了HelloWord,第一次执行程序的时候有没有兴奋呢?那么我们现在在回顾看一下它是怎么运行的。我们知道执行的命令是java 这是java是一个包装好的命令,这个命令执行了就是启动一个jvm虚拟机。然而启动虚拟机是不够的。因为jvm不知道我该运行什么。所以要有一个系统来吧本地的.class里面的2进制文件加载进虚拟机中。吧文件加载进来我需要开辟一个地方来存放这些东西吧。吧东西存放了呢?jvm需要知道 你到底让我干什么啊。这时候就需要解析文件,既然虚拟机可以使用了,那么按照程序所写的执行完了。东西岂不是还存在‘一个地方‘中,那么长久下来机器还不撑爆了,所以需要定时吧不用的都删除,以保证内存。通俗来讲这就是虚拟机做的事情。
‘加载进虚拟机’- –类加载器子系统
’一个地方‘ --- 运行时数据区域(堆 栈)
’解析文件‘---- 执行引擎子系统
’定时删除‘----垃圾收集子系统
以上就是jvm的基本东西,他们算在一起才叫jvm。
这里有一个比较有意思的比喻。
大家都经常吃饭。下面我描述下吃饭的过程。
吃饭的时候,饭不会自己跑到嘴里,
所以 ‘类加载器子系统’负责吧饭送到你的嘴中,
经过咀嚼 饭到了胃里,也就是‘运行时数据区域(堆 栈)’中存着,
经过肠胃 也就是‘ 执行引擎子系统’的消化,
我们吸收营养来做日常的开销,消化完了产生了废物,
这时候就需要菊花也就是‘垃圾收集子系统’排出体外。
jvm就是不断的重复这些过程来执行程序,从而保证程序的正常运行。
jvm 就是这些东西的组合,这章就到这里,只是根据我自己的想法笼统的概括了jvm是什么。后面几章将会拆分各个系统深入了解jvm


http://chatgpt.dhexx.cn/article/4dcdKlP4.shtml

相关文章

Jvm系列-Jvm概述(一)

目录 1&#xff0c;什么是JVM&#xff1f; 2&#xff0c;JVM跨平台及原理 3&#xff0c;JVM的分类 4&#xff0c;JVM的位置 5&#xff0c;JVM的体系结构 6&#xff0c;Java代码的执行流程 7&#xff0c;JVM的架构模型 8&#xff0c;JVM的生命周期 9&#xff0c;三大商…

JVM的组成

Java Virtual Machine虚拟机是一种抽象化的计算机&#xff0c;通过在实际的计算机上仿真模拟各种计算机功能来实现&#xff0c;java虚拟机有自己完善的硬件架构&#xff0c;如处理器&#xff0c;堆栈&#xff0c;寄存器等&#xff0c;还具有相应的指令系统 一次编译&#xff…

JVM是什么

什么是JVM&#xff1f; 1、JVM是Java虚拟机&#xff0c;是用来执行Java字节码&#xff08;二进制的形式&#xff09;的虚拟机计算机。2、JVM是运行在操作系统之上的&#xff0c;与硬件没有任何关系。 Java的跨平台原理 跨平台&#xff1a;由Java编写的程序可以在不同的操作…

jdk、jre、jvm是什么?

JDK简介 JDK是Java Development Kit的缩写&#xff0c;是Java的开发工具包。 JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心&#xff0c;包括了Java运行环境&#xff08;JRE&#xff09;&#xff0c;Java工具&#xff08;javac/java/jdb等&#xff0…

JVM运行原理详解

1.JVM简析&#xff1a; 作为一名Java使用者&#xff0c;掌握JVM的体系结构也是很有必要的。 说起Java&#xff0c;我们首先想到的是Java编程语言&#xff0c;然而事实上&#xff0c;Java是一种技术&#xff0c;它由四方面组成&#xff1a;Java编程语言、Java类文件格式、Java虚…

JAVA—JVM详解

JAVA—JVM详解 一、JVM 1、什么是JVM JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。引入Java语言…

什么是JVM?

说明&#xff1a;做java开发的几乎都知道jvm这个名词&#xff0c;但是由于jvm对实际的简单开发的来说关联的还是不多&#xff0c;一般工作个一两年&#xff08;当然不包括爱学习的及专门做性能优化的什么的&#xff09;&#xff0c;很少有人能很好的去学习及理解什么是jvm&…

JVM介绍(*)

一.什么是JVM JVM是Java Virtual Machine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组…

JVM01_概述、跨平台原理、分类、三大商业虚拟机

文章目录 ①. 什么是JVM&#xff1f;②. Java的跨平台及原理③. JVM的分类④. 三大商业虚拟机 ①. 什么是JVM&#xff1f; ①. JVM 是 java虚拟机&#xff0c;是用来执行java字节码(二进制的形式)的虚拟计算机 ②. jvm是运行在操作系统之上的&#xff0c;与硬件没有任何关系 …

什么是JVM

JVM 即 Java Virtual Machine&#xff0c;中文名为 Java虚拟机。 一般情况下 C/C 程序&#xff0c;编译成二进制文件后&#xff0c;就可以直接执行了&#xff1b;Java 需要使用 javac 编译成 .class 文件&#xff0c;还需要使用 Java 命令去主动执行它。JVM 就是识别 .class …

JVM详解——什么是JVM、JVM优点

JVM详解——什么是JVM、JVM优点 最近在学习Java&#xff0c;经常在书中看到JVM这三个字母&#xff0c;那到底什么是JVM呢&#xff1f; 并且JVM的知识在Java面试中也是非常受面试官青睐的知识点&#xff0c;那对于JVM我们到底要掌握哪些呢&#xff1f; 1、JVM概念 JVM是Jav…

一键禁用Win10自动更新,联想官方出品!!

对于Win10系统的强制更新&#xff0c;真的是是又爱又恨&#xff0c;更新是为了解决电脑系统存在的安全风险以及加入一些新功能&#xff0c;但经常性的开机或者关机都要更新配置&#xff0c;遇到大更新还需要花费很长的等待时间&#xff0c;更加可气的是还会出现更新失败的风险。…

关于禁止win10自动更新的方法:

关于禁止win10自动更新的方法&#xff1a; 1、winr键 输入 services.msc 进去Windows服务管理界面&#xff0c;并且找到Windows update双击进去 在常规中选择禁用&#xff0c;在恢复中选择无操作 2、winr 输入gpedit.msc 回车进入一下界面 在管理模板-windows组件 -window…

禁止windows更新唤醒计算机,windows10睡眠被自动更新唤醒的解决方法

一位用户反馈自己的windows10系统电脑在睡眠状态下总会被自动唤醒&#xff0c;感觉非常烦恼。后来发现每次win10系统开始自动更新操作系统的时候本来睡眠的电脑就会被自动唤醒。那么&#xff0c;我们该如何阻止其唤醒睡眠中的电脑呢&#xff1f;接下来&#xff0c;就随小编一起…

四步教你彻底关闭Win10自动更新

目录 一、禁用Windows Update服务 二、在组策略里关闭Win10自动更新相关服务 三、禁用任务计划里边的Win10自动更新 ​编辑四、在注册表中关闭Win10自动更新 一、禁用Windows Update服务 winR调出运行 >> services.msc >> Windows Update >> …

关于 Win 10 彻底禁用自动更新

Win 10 彻底禁用自动更新 在键盘上按 [ Win R ] 键 &#xff0c;输入 services.msc 点击确定 。 双击 [ Windows Update ] 。启动类型选择 [ 禁用 ] &#xff0c;单击 [ 停止 ] 。 点击 [ 恢复 ] &#xff0c;第一次失败选择 [ 无操作 ] &#xff0c;然后点击 [ 应用 ] 、[ 确…

Win10禁止更新设备驱动的几种方式

方法一&#xff1a;修改组策略 按下开始菜单并输入 gpedit.msc 搜索打开编辑组策略。 依次展开 计算机配置 → 管理模板 →Windows 组件 →Windows 更新 &#xff1b; 找到并双击打开 Windows 更新不包括驱动程序 &#xff1b; 将 未配置 或者 已禁用 改成 已启用 &#xf…

win10禁止chrome自动更新

win10禁止谷歌chrome自动更新 1.进入谷歌安装目录 C:\Users\Administrator\AppData\Local\Google 2.修改update权限 3.修改完成后提示&#xff1a; x

关闭Win10自动更新工具

一、工具下载&#xff1a; 关闭或开启Win10自动更新.EXEhttps://box.lenovo.com/l/t5dQKH 二、支持的操作系统&#xff1a;Windows 10 32位/64位 三、工具介绍&#xff1a;关闭或开启Win10系统的自动更新&#xff0c;涵盖多种版本系统&#xff0c;同时适用于常规方法不能关闭的…

win10怎么更新显卡驱动_如何禁止win10自动更新显卡驱动

在我们使用Win10纯净版的电脑时,经常会遇到电脑玩游戏变的很卡了,本来是优化好的驱动但是显卡驱动被系统自动更新了,那么如何解决这个问题呢?今天小编就给大家介绍下如何禁止win10自动更新显卡驱动。 以下是具体步骤: 1、桌面搜索框中输入并打开“编辑组策略” 在开始菜单…