【JVM篇】什么是jvm
文章目录
- 🍔什么是Java虚拟机
- 🛸Java虚拟机有什么用
- 🌹Java虚拟机的功能
- 🎈Java虚拟机的组成
🍔什么是Java虚拟机
JVM指的是Java虚拟机,本质上是一个运行在计算机上的程序,可以运行 Java字节码文件,可以运行Java,kotlin,Scala,groovy等语言
任务管理器启动的Java进程,其实是一个虚拟机进程,它会执行我们编写好的代码
比如我们编写并运行一个Java程序,在进程中就能够看到
import java.io.IOException;public class demo1 {public static void main(String[] args) throws IOException {System.in.read();}
}
运行后发现,程序发送了阻塞
并且我们可以发现,这里编译器是使用了java.exe来启动了这个程序
并且在当前的进程列表会显示这个进程
发现这里有3个Java进程,但是到底哪一个才是我们的Java进程呢
我们可以使用jps命令进行查看
发现id为1976的进程名是demo1,和我们的类名一样,所以这个就是我们正在启动的Java进程
并且Java虚拟机不仅仅可以运行Java程序,还可以运行其他语言的程序,比如kotlin
🛸Java虚拟机有什么用
为了支持Java中,编写一次,到处运行的跨平台的特性

🌹Java虚拟机的功能

下面来讲解一下什么是jvm的即时编译
我们来看下面这段代码
public class demo2 {public static void main(String[] args) {long start=System.currentTimeMillis();demo2 test=new demo2();test.jitTest();long end=System.currentTimeMillis();System.out.println("耗时:"+(end-start)+"ms");}public int add(int x, int y){return x+y;}public int jitTest(){int sum=0;for(int i=0;i<100000000;i++){sum+=add(i, i);}return sum;}
}
默认情况是打开即时编译的

下面我们加上
-Xint这个参数,关闭即时编译功能,看看耗时多少
执行后发现,耗时比之前多了

🎈Java虚拟机的组成
jvm组成分为类加载子系统,运行时数据区,执行引擎,本地接口这四部分

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!

相关文章:
【JVM篇】什么是jvm
文章目录 🍔什么是Java虚拟机🛸Java虚拟机有什么用🌹Java虚拟机的功能🎈Java虚拟机的组成 🍔什么是Java虚拟机 JVM指的是Java虚拟机,本质上是一个运行在计算机上的程序,可以运行 Java字节码文件…...
Vulnhub靶场 DC-9
目录 一、环境搭建 二、信息收集 1、主机发现 2、指纹识别 三、漏洞复现 1、dirsearch目录探测 2、sqlmap注入测试 3、文件包含漏洞 4、Knockd敲门服务 5、ssh爆破 6、提权 四、提取flag 一、环境搭建 Vulnhub靶机下载: 官网地址:https://…...
day2-理解 linux 云计算
1.解释服务器是什么; 服务器是一种高性能计算机,它的主要功能是提供计算服务和资源给其他计算机使用。在网络环境中,服务器扮演着重要的角色,它们可以存储和管理大量的数据,处理网络请求,提供应用程序运行…...
Android 13.0 开启禁用系统接收短信功能
1.概述 在13.0的系统rom定制化中,在一些wifi产品的机器中,对于系统4g部分的功能需要裁剪 比如拨打电话 接听电话 短信功能等这部分 需要禁用系统对应的功能,接下来就来初步分析下系统中接收短信部分功能,然后实现禁用接收短信功能 2.禁用和启用系统短信功能实现的核心类 …...
compile error ESP32cam.h no such file or directory
解决方法 可以参考这篇文章: But first, you will need to download the esp32cam.h library. For this go to Github and download the esp32cam Zip. GitHub - yoursunny/esp32cam: OV2640 camera on ESP32-CAM, Arduino library 具体就是下面的这篇重要的文章 …...
使用 Chainlit, Langchain 及 Elasticsearch 轻松实现对 PDF 文件的查询
在我之前的文章 “Elasticsearch:与多个 PDF 聊天 | LangChain Python 应用教程(免费 LLMs 和嵌入)” 里,我详述如何使用 Streamlit,Langchain, Elasticsearch 及 OpenAI 来针对 PDF 进行聊天。在今天的文章中…...
Gitee的使用教程(简单详细)
1.安装git(我的电脑自带git,我没弄这步QAQ) Git (git-scm.com)https://git-scm.com/ 安装好后在桌面点击鼠标右键会出现git GUI 和 git Bash(没有的话点击显示更多选项) 2.去gitee上注册一个账号 工作台 - Gitee.co…...
生成树(习题)
模板】最小生成树 生成树有两种方法,但是我只会克鲁斯卡尔算法,所以接下来下面的的题目都是按照这个算法来实现的,首先来见一下生么是这个算法,在之前的我写的一篇博客中有题使叫修复公路,其实这一题就是使用了这个算…...
ARMv8-AArch64 的异常处理模型详解之异常处理概述Handling exceptions
异常处理模型详解之异常处理概述 一,异常处理相关概念二,异常处理概述 一,异常处理相关概念 在介绍异常处理之前,有必要了解一些关于异常处理状态的术语: 当处理器响应一个异常时,我们称该异常被获取了&a…...
Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南
Content 一、前言二、准备工作三、安装步骤1. 启用本地仓库2. 导入CUDA GPG密钥3. 更新仓库元数据4. 安装运行时库5. 安装开发者库6. 安装代码示例7. 另外一种安装办法 四、验证安装1. 验证cuDNN版本2. 测试示例代码 五、总结 一、前言 在深度学习领域,高效的计算资…...
Microsoft Word 超链接
Microsoft Word 超链接 1. 取消超链接2. 自动超链接2.1. 选项2.2. 校对 -> 自动更正选项2.3. Internet 及网络路径替换为超链接 References 1. 取消超链接 Ctrl A -> Ctrl Shift F9 2. 自动超链接 2.1. 选项 2.2. 校对 -> 自动更正选项 2.3. Internet…...
SparkJDBC读写数据库实战
默认的操作 代码val df = spark.read.format("jdbc").option("url", "jdbc:postgresql://localhost:5432/testdb").option("user", "username").option("password", "password").option("driver&q…...
代码随想录 -- 数组
文章目录 二分查找题目描述题解 移除元素题目描述题解:暴力解法题解:双指针法 有序数组的平方题目描述题解:暴力解法题解:双指针法 长度最小的子数组题目描述题解:暴力解法题解:滑动窗口(双指针…...
【国产MCU】-CH32V307-基本定时器(BCTM)
基本定时器(BCTM) 文章目录 基本定时器(BCTM)1、基本定时器(BCTM)介绍2、基本定时器驱动API介绍3、基本定时器使用实例CH32V307的基本定时器模块包含一个16 位可自动重装的定时器(TIM6和TIM7),用于计数和在更新新事件产生中断或DMA 请求。 本文将详细介绍如何使用CH32…...
Node.js开发-fs模块
这里写目录标题 fs模块1) 文件写入2) 文件写入3) 文件移动与重命名4) 文件删除5) 文件夹操作6) 查看资源状态7) 相对路径问题8) __dirname fs模块 fs模块可以实现与硬盘的交互,例如文件的创建、删除、重命名、移动等,还有文件内容的写入、读取ÿ…...
探索Nginx:强大的开源Web服务器与反向代理
一、引言 随着互联网的飞速发展,Web服务器在现代技术架构中扮演着至关重要的角色。Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx因其卓越的性能、稳定性和灵活性&…...
相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距
系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…...
【从Python基础到深度学习】1. Python PyCharm安装及激活
前言: 为了帮助大家快速入门机器学习-深度学习,从今天起我将用100天的时间将大学本科期间的所学所想分享给大家,和大家共同进步。【从Python基础到深度学习】系列博客中我将从python基础开始通过知识和代码实践结合的方式进行知识的分享和记…...
片上网络NoC(3)——拓扑指标
目录 一、概述 二、指标 2.1 与网络流量无关的指标 2.1.1 度(degree) 2.1.2 对分带宽(bisection bandwidth) 2.1.3 网络直径(diameter) 2.2 与网络流量相关的指标 2.2.1 跳数(hop coun…...
二叉树 ---- 所有结点数
普通二叉树的结点数: 递归法: 对二叉树进行前序or后序遍历: typedef struct Tree {int data;Tree* leftChild;Tree* rightChild; }tree,*linklist; //计算普通二叉树的结点数 int nodenums(linklist node) {if(node nullptr) return 0; …...
零中断迁移:企业级文档系统全流程实战指南
零中断迁移:企业级文档系统全流程实战指南 【免费下载链接】outline Outline 是一个基于 React 和 Node.js 打造的快速、协作式团队知识库。它可以让团队方便地存储和管理知识信息。你可以直接使用其托管版本,也可以自己运行或参与开发。源项目地址&…...
我花了 3 小时吃透:Spring AI 核心三剑客 ChatModel、Prompt、ChatResponse 到底怎么用?
你在学习 Spring AI 的时候,肯定遇到过这三个类:ChatModel、Prompt、ChatResponse看着眼熟,却总搞不清谁负责干嘛、代码里为啥要这么写?接下来就是我的理解。一、先搞懂:这三个东西是什么关系?在开始写代码…...
别再只用交叉熵了!深入对比YOLOv8中Focal Loss与CIoU Loss的改进效果与适用场景
深入解析YOLOv8损失函数优化:Focal Loss与CIoU Loss的实战对比与场景适配 当你在深夜调试YOLOv8模型时,是否遇到过这样的困境:明明增加了训练数据,小目标检测的准确率却始终上不去?或是发现模型对密集排列的物体总是漏…...
QQ音乐加密音频终极解密指南:qmcdump完整教程与实战应用
QQ音乐加密音频终极解密指南:qmcdump完整教程与实战应用 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是…...
QGIS3.28最新版行政区合并避坑指南:县转市数据融合的3个关键检查点
QGIS 3.28行政区合并实战:县转市数据融合的3个关键检查点 当我们需要将县级行政区数据合并为市级边界时,看似简单的"线转面融合"操作背后,往往隐藏着诸多数据陷阱。许多中级用户在QGIS中执行这类操作时,明明步骤正确却频…...
JSON·学习笔记
“误报。我的安全阀一切正常。” “我们继续,今天我想解释一下什么是JSON。” “是啊,这个词我听过很多次了,什么意思?” “随着网络的发展,带有 JavaScript 的 HTML 页面开始主动与服务器通信并从服务器下载数据。为…...
Python开源代码管理避坑实战:从Git高级操作到Docker环境配置
前言:为什么你总在开源门前徘徊? “这个项目看起来好复杂,我连代码都看不懂...” “提交PR会不会被大佬嘲笑?” “环境配置又报错了,算了,下次再说吧” 如果你有过这些想法,别担心ÿ…...
Docker 部署 Vaultwarden:轻量级自托管密码管理解决方案
1. 为什么选择Vaultwarden作为自托管密码管理方案 在这个数字时代,我们每个人平均要管理超过100个在线账户的密码。传统的密码管理方式——用同一个简单密码注册所有网站,或者把密码写在记事本上——已经远远不能满足安全需求。这就是为什么像Bitwarden这…...
Sonic数字人效果展示:看静态图片如何“开口说话”生成流畅视频
Sonic数字人效果展示:看静态图片如何"开口说话"生成流畅视频 1. 数字人视频生成技术概览 数字人视频技术正在改变内容创作的方式。传统方法需要复杂的3D建模和动画制作,而现在的AI技术只需一张静态图片和一段音频,就能让图片中的…...
告别手动建模!用Blender GIS插件5分钟搞定CARLA地图(附OSM数据源)
告别手动建模!用Blender GIS插件5分钟搞定CARLA地图(附OSM数据源) 在自动驾驶仿真领域,快速构建高精度地图一直是开发者的痛点。传统手动建模方式不仅耗时费力,还难以保证道路网络的拓扑准确性。现在,通过…...






