当前位置: 首页 > news >正文

【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组成分为类加载子系统,运行时数据区,执行引擎,本地接口这四部分
在这里插入图片描述


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

在这里插入图片描述

http://www.lryc.cn/news/299266.html

相关文章:

  • Vulnhub靶场 DC-9
  • day2-理解 linux 云计算
  • Android 13.0 开启禁用系统接收短信功能
  • compile error ESP32cam.h no such file or directory
  • 使用 Chainlit, Langchain 及 Elasticsearch 轻松实现对 PDF 文件的查询
  • Gitee的使用教程(简单详细)
  • 生成树(习题)
  • ARMv8-AArch64 的异常处理模型详解之异常处理概述Handling exceptions
  • Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南
  • Microsoft Word 超链接
  • SparkJDBC读写数据库实战
  • 代码随想录 -- 数组
  • 【国产MCU】-CH32V307-基本定时器(BCTM)
  • Node.js开发-fs模块
  • 探索Nginx:强大的开源Web服务器与反向代理
  • 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距
  • 【从Python基础到深度学习】1. Python PyCharm安装及激活
  • 片上网络NoC(3)——拓扑指标
  • 二叉树 ---- 所有结点数
  • 步步深入 k8s 使用 pv pvc sc 在 nfs 基础上共享存储
  • Stable Diffusion 模型下载:Disney Pixar Cartoon Type A(迪士尼皮克斯动画片A类)
  • Modelsim10.4安装
  • Java基于微信小程序的医院核酸检测服务系统,附源码
  • VC++ 绘制折线学习
  • 速盾:dns解析和cdn加速的区别与联系
  • C++ Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统(3) 保存表格数据
  • ChatGPT 4:新特性与优势
  • 【教程】MySQL数据库学习笔记(二)——数据类型(持续更新)
  • Servo的并发模型介绍
  • Vue3大事件项目(ing)