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栈,堆,方法区,本地方法区,运行时常量池;
JVM体系结构与工作方式的更多相关文章
- 第七章 JVM体系结构与工作方式
JVM能跨计算机体系结构来执行Java字节码,主要是由于JVM屏蔽了与各个计算机平台的软件和硬件之间的差异. 7.1 JVM体系结构 7.1.1 何谓JVM 模拟一个计算机来达到一个计算机所具有的计算 ...
- JVM 体系结构与工作方式
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- JVM体系结构和工作方式
JVM能够跨计算机体系结构来执行Java字节码,主要是由于JVM屏蔽了与各个计算机平台相关的软件或者是硬件之间的差异,使得与平台相关的耦合统一由JVM提供者来实现. 何为JVM ...
- Java Web 深入分析(11) JVM 体系结构与工作方式
jvm体系 jvm简介 java virtual machine jvm体系详解 jvm工作机制 虚拟机怎么执行代码 jvm为何基于栈 执行引擎 执行引擎过程 java调用栈 总结
- java体系结构与工作方式 《深入分析java web 技术内幕》第七章
java体系结构与工作方式 7.1 JVM体系结构 何谓JVM JVM(Java Virtual Machine) 通过模拟一个计算机来达到一个计算机所具有的计算功能 指令集:计算机所能识别的机器语言 ...
- JVM体系结构及优化
源文档:https://docs.oracle.com/javase/8/docs/technotes/guides/vm/index.html JVM体系结构 方法区,类加载器,堆,Java ...
- LVS三种工作方式八种算法
一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算 ...
- LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)
一.集群简介 什么是集群 计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一 台计算机.集群系统中的单个计 ...
- NIO的工作方式
BIO带来的挑战 BIO 就是我们常说的阻塞I/O , 不论磁盘I/O 还是网络/O ,数据在写入OutputStream 或者从 InutStream 读取数据时都有可能会阻塞,一旦有了阻塞,线程就 ...
随机推荐
- See you~_树状数组
Problem Description Now I am leaving hust acm. In the past two and half years, I learned so many kno ...
- PHP之数组array
$switching = array( 10, // key = 0 5 => 6, 3 ...
- 使用ActionBar Tab
使用ActionBar Tab(地址) 本文实现将页面分为多个选项卡,并在每一个选项卡中显示一个ListView. 创建新Layout - ActionbarTab.axml, 并向页面中添加Fram ...
- JavaScript HTML CSS外部链接
HTML文件 <!--<html> <head><link rel="stylesheet" type="text/css" ...
- Winscp sftp远程linux服务器需要预设密码,怎么解决
需要在root账户下修改/etc/ssh/sshd_config 文件中PermitEmptyPasswords no改成yes
- @html.ActionLink的几种参数格式
一 Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法, ...
- 获得触发hover事件的元素id
例: <div class="menu"> <ul> <li> <a id="menu1"></a> ...
- SILVERLIGHT 应急卫生模拟演练项目之GRID布局
上篇文章 我介绍了LOADING界面 loading加载完成后 会进入主界面 效果图如下 这里我要给大家说一下我在布局方面的应用 说起布局 做过SL开发的一定都知道 Grid,StackPanel和 ...
- C++中的new与delete(二)
C++一个对象构造的完整过程为:分配内存和初始化,这也是new关键字所实现的功能,分配内存可通过重载new操作符来实现,系统初始化可通过调用构造函数来完成.我们不能改变new关键字的功能,但可以改变分 ...
- 转发一篇C++编译器环境搭建的文章
一.环境配置 1. 下载安装MinGW 地址 http://sourceforge.net/projects/mingw/ 2. 设置环境变量 在path变量中, ...