JVM体系结构与工作方式

JVM全程是java virtual machine(java虚拟机)。

以计算为中心来看计算机的体系结构可以分为以下几个部分:

1.指令集:这个计算机所能识别的机器语言的命令集合;

2.计算单元:能够识别并控制指令执行的功能模块;

3.寻址方式:地址的位数、最小地址和最大地址范围,以及地址的运行规则;

4.寄存器定义:包括操作数寄存器、变址寄存器、控制寄存器等的定义、数量和使用方式;

5.存储单元:能够存储操作数和保存操作结构的单元,如内核级缓存、内存和磁盘等;

执行引擎是JVM的核心部分,它的作用是解析JVM字节码指令,得到指令结果。

JVM是按照运行时数据的存储结构来划分内存结构的。JVM在运行java程序时,见它们划分成几种不同格式的数据,分别存储在不同的区域,这些数据统一称为运行时数据。

运行时数据包括Java程序本身的数据信息和JVM运行Java程序需要的额外数据信息,如要记录当前程序指令执行的指针(又称PC指针)等。

在Java虚拟机规范中将Java运行时数据划分为6种,分别为:

PC 寄存器数据,Java栈,堆,方法区,本地方法区,运行时常量池;

时间: 2024-08-28 14:54:35

JVM体系结构与工作方式的相关文章

第七章 JVM体系结构与工作方式

JVM能跨计算机体系结构来执行Java字节码,主要是由于JVM屏蔽了与各个计算机平台的软件和硬件之间的差异. 7.1 JVM体系结构 7.1.1 何谓JVM 模拟一个计算机来达到一个计算机所具有的计算功能. 以计算为中心来看计算机的体系结构可以分为如下几个部分. 指令集    计算机能识别的机器语言的命令集合. 计算单元  能够识别并且控制指令执行的功能模块. 寻址方式  地址的位数,最小地址和最大地址范围,以及地址的运行规则. 寄存器定义 包括操作数寄存器,变址寄存器,控制寄存器等的定义,数量

JVM体系结构和工作方式

JVM的全名是Java Virtual Machine(Java虚拟机).它是通过模拟一个计算机的形式来实现到计算机所具有的计算功能.让我们先来看看一台真实的计算机具备计算功能的条件: 指令集 这个计算机所能识别的机器语言的命令集合. 计算单元 即能够识别并且控制指令执行的功能模块 寻址方式 地址的位数.最小地址和最大地址范围,以及地址的运行规则 寄存器定义 包括操作数寄存器.变址寄存器.控制寄存器等的定义.数量和使用方法 存储单元 能够存储操作数和保存操作结构的单元,如内核级缓存.内存和磁盘等

LVS三种工作方式八种算法

一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集群计算机通常用来改进单个计算机的计算速度和/或可靠性.一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多. 集群就是一组独立的计算机,通过网络连接组合成一个组合来共同完一个任务 LVS在企业架构中的位置: 以上的

Buffer的工作方式

1.Buffer的工作方式 前面<java NIO的工作方式>介绍了Selector检测到通信信道I/O有数据传输时,通过select()方法取得SocketChannel,将数据读取或写入Buffer缓冲区,下面讨论Buffer如何接受和写出数据.通过查看JDK源码可知道,Buffer的构造函数 Buffer(int mark, int pos, int lim, int cap) { // package-private if (cap < 0) throw new IllegalA

LVS原理详解(3种工作方式8种调度算法)

一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集群计算机通常用来改进单个计算机的计算速度和/或可靠性.一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多. 集群就是一组独立的计算机,通过网络连接组合成一个组合来共同完一个任务 LVS在企业架构中的位置: 以上的

JVM垃圾回收器工作原理及使用实例介绍

垃圾收集基础 Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况.自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担. 拥有垃圾收集器可以说是 Java 语言与 C++语言的一项显著区别.在 C++语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间.当内存释放不够完全时,即存在分配但永不释放的内存块,就会引起内存泄漏,严重时甚至导致程序瘫痪. 以下列举了垃圾回收器常用的算法及实

JVM 垃圾回收器工作原理及使用实例介绍

垃圾收集基础 Java 语言的一大特点就是可以进行自动垃圾回收处理,而无需开发人员过于关注系统资源,例如内存资源的释放情况.自动垃圾收集虽然大大减轻了开发人员的工作量,但是也增加了软件系统的负担. 拥有垃圾收集器可以说是 Java 语言与 C++语言的一项显著区别.在 C++语言中,程序员必须小心谨慎地处理每一项内存分配,且内存使用完后必须手工释放曾经占用的内存空间.当内存释放不够完全时,即存在分配但永不释放的内存块,就会引起内存泄漏,严重时甚至导致程序瘫痪. 以下列举了垃圾回收器常用的算法及实

JVM体系结构概述(一)

一.app.java程序运行具体的流程 假设我们现在有app.java这个程序要运行,那么具体的流程到底是怎么样的呢? 我们会先运行 javac app.java, 然后这个程序会被编译,产生了app.class这个file,然后我们会用java app去执行整个程序.下面几幅图解释了这背后发生的事. 步骤一: 这是一个简化的流程:class loader先将开发者编译的app.class和基本的.class文件load到RAM里面,这过程也load了其它基本的.class文件: 比如说,Str

NIO 的工作方式

NIO 的工作方式 BIO 带来的挑战 BIO : BIO 通信模型,通常由一个独立的 Acceptor 线程负责监听客户端的连接,接受到请求之后,为每个客户端创建一个新的线程进行链路处理,处理完成之后,线程销毁.是典型的 请求-应答通信模型. BIO 即阻塞 IO,不管是磁盘IO 还是 网络 IO,数据在写入 OutputStream 或者从 InputStream 读取时都有可能会阻塞,一旦有阻塞,线程将会失去 CPU 的使用权,这在当前的大规模访问量和有性能要求的情况下是不能被接受的. 虽