Java JVM虚拟机内部体系结构

news2024/11/18 11:49:49

JVM(Java虚拟机)是一个抽象机器。 它是一个提供可以执行Java字节码的运行时环境的规范。JVM可用于许多硬件和软件平台(即JVM是平台相关的)。

什么是JVM?

JVM(Java虚拟机)是:

  1. 指定Java虚拟机的工作的规范。 但实现提供程序是独立的选择算法。 其实现是由Sun和其他公司提供。

  2. 它的实现被称为JRE(Java运行时环境)。

  3. 运行时实例只要在命令提示符上编写java命令来运行java类,就会创建JVM的实例。

JVM(Java虚拟机)能做什么?

JVM执行以下操作:

  • 加载代码
  • 验证代码
  • 执行代码
  • 提供运行时环境

JVM提供了以下定义:

  • 内存区
  • 类文件格式
  • 寄存器集合
  • 垃圾收集堆
  • 致命错误报告等

JVM(Java虚拟机)内部体系结构

下面让我们来了解JVM的内部架构。它包含类加载器,内存区域,执行引擎等。

  • 类加载器

Classloader是JVM的一个子系统,用于加载类文件。

  • 类(方法)区域

类(方法)区域存储每个类结构,例如运行时常量池,字段和方法数据,方法的代码。

它是分配对象的运行时数据区。

  • 堆栈

Java堆栈存储帧。它保存局部变量和部分结果,并在方法调用和返回中起作用。

每个线程都有一个私有JVM堆栈,同时创建线程。每次调用方法时都会创建一个新的框架。 框架在其方法调用完成时被销毁。

  • 程序计数器寄存器

PC(程序计数器)寄存器。 它包含当前正在执行的Java虚拟机指令的地址。

  • 本地方法堆栈

它包含应用程序中使用的所有本地方法。

  • 执行引擎

执行引擎包含:

  1. 虚拟处理器
  2. 解释器:读取字节码流,然后执行指令。
  3. 即时(JIT)编译器:它用于提高性能,JIT编译的同时有类似字节代码部分的功能,从而减少编译所需的时间。编译器是指从Java虚拟机(JVM)的指令集到特定CPU的指令集的转换器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/799866.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

25.5 matlab里面的10中优化方法介绍——牛顿法(matlab程序)

1.简述 1 牛顿法简介 牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 多数方程不存…

PHP登陆/php登录--【白嫖项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 上效果图phpStudy 设置导数据库 项目目录如图:页面代码后台代码 这么丑的界面能忍?配套资源作业: 本系列校训 用免费公开视频&#xff0…

二叉树进阶(红黑树改造)

目录 引言 改造比较 1.颜色定义 2.节点构造 3.迭代器 3.1 迭代器的模板参数 3.2 迭代器的构造函数 3.3 迭代器的运算符重载函数 3.3.1 前置 3.3.2 前置-- 3.3.3 源码对比 3.3.4 其它运算符重载 4.红黑树改造 4.1 红黑树的begin(),end()函数 4.2 红黑树的模板…

又有一个手艺人震惊了B站用户

飞瓜数据(B站版)【热门视频榜】周榜显示,霸占全站视频流量第一的是来自UP主爱捣鼓的邢志磊发布的作品《我花了半年时间给猫做了个房子》。 视频在一周时间内新增播放1232.2万,新增点赞139.4万。 根据视频详细数据显示&#xff0c…

超详细推导逻辑回归公式与代码实现(二分类与多分类)

目录 概述逻辑回归理论数学推导二类分类多分类 代码实现备注 概述 本文使用梯度下降法对逻辑回归进行训练,使用类似于神经网络的方法进行前向传播与反向更新,使用数学公式详细推导前向传播与反向求导过程,包括二分类和多分类问题&#xff0c…

农业管理3d可视化管理大屏展示为乡村新基建加速

随着科技的不断发展,智慧农业已经成为当今社会农业发展的一个重要趋势。而数字孪生技术作为一种新兴的技术手段,正在逐渐应用到智慧农业领域中。 数字孪生公司深圳华锐视点基于数字孪生为核心技术打造的智慧大脑为乡村新基建加速,让乡村更“聪…

Python入门【推导式创建序列、字典推导式、集合推导式】(九)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…

239.滑动窗口最大值

leetcode原题链接 题目描述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例1: 输入:nums [1,…

【UniApp开发小程序】悬浮按钮+出售闲置商品+商品分类选择【基于若依管理系统开发】

文章目录 界面效果界面实现悬浮按钮实现商品分类选择界面使元素均匀分布 闲置商品描述信息填写界面价格校验 界面效果 【悬浮按钮】 【闲置商品描述信息填写界面】 【商品分类选择界面】 【分类选择完成】 界面实现 悬浮按钮实现 悬浮按钮漂浮于页面之上,等页面…

使用langchain与你自己的数据对话(三):检索(Retrieval)

之前我已经完成了使用langchain与你自己的数据对话的前两篇博客,还没有阅读这两篇博客的朋友可以先阅读一下: 使用langchain与你自己的数据对话(一):文档加载与切割使用langchain与你自己的数据对话(二):向量存储与嵌入 今天我们…

【C语言】文件操作(二)

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃 目录 📌补充1.sprintf2.…

hive 全量表、增量表、快照表、切片表和拉链表

全量表:记录每天的所有的最新状态的数据,增量表:记录每天的新增数据,增量数据是上次导出之后的新数据。快照表:按日分区,记录截止数据日期的全量数据切片表:切片表根据基础表,往往只…

如何利用tf.keras 实现深度学习?

tf.keras是TensorFlow 2.0的高阶API接口,为TensorFlow的代码提供了新的风格和设计模式,大大提升了TF代码的简洁性和复用性,官方也推荐使用tf.keras来进行模型设计和开发。 常用模块 tf.keras中常用模块如下表所示: 常用方法 深度…

智慧环保:创造绿色未来

随着全球环境问题的日益严重,智慧环保成为推动绿色发展的关键。智慧环保利用先进的技术手段和智能化设备,致力于解决环境问题,保护生态环境,实现可持续发展。它融合了物联网、人工智能、大数据等技术,将科技的力量与环…

C#实现计算题验证码

开发环境:C#,VS2019,.NET Core 3.1,ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和Check,Create用于创建验证码,Check用于验证它是否有效。 声明一个静态类变量存放列表,列…

公众号运营:公众号互选广告操作流程指南

什么是公众号互选广告平台? 公众号互选平台,是广告主和流量主双向互选、自由达成内容合作的交易 平台,广告创意呈现在公众号文章内容中。 收入模式:按合作文章收费,合作价格由流量主自主决定。 操作配合:提…

1334179-85-9,BTTAA,是各种化学生物学实验中生物偶联所需

资料编辑|陕西新研博美生物科技有限公司小编MISSwu​ BTTAA试剂 | 基础知识概述(部分): 中文名称:2-[4-({双[(1-叔丁基-1H-1,2,3-三唑-4-基)甲基]氨基}甲基)-1H-1,2,3-三唑-1-基]乙酸 英文名称:BTTAA CAS号:1334179-8…

Vue2 第一节 通用概念和前置知识

本篇将记录自己学习Vue的知识点总结 学习资源: B站 :尚硅谷Vue2.0Vue3.0全套教程 有个博主将这个视频总结成了笔记,之后的博客也会参考这个笔记 (126条消息) 【2022.3】尚硅谷Vue.js从入门到精通基础笔记(理论实操知识点速查&…

Android 之 Paint API —— PathEffect (路径效果)

本节引言: 本节继续来学习Paint的API——PathEffect(路径效果),我们把画笔的sytle设置为Stroke,可以 绘制一个个由线构成的图形,而这些线偶尔会显得单调是吧,比如你想把这些先改成虚线,又 或者想让路径的转…

我们聊聊性能测试的理解误区

有同学私信我,和他聊了聊关于性能测试的一些话题,发现他对性能测试的理解走入了一些误区。 在一些技术交流群,同样遇到过很多同学由于对性能测试理解上的误区导致的各种问题,比如: 注册用户数并发数,然后服…