博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于栈的虚拟机字节码执行引擎
阅读量:4974 次
发布时间:2019-06-12

本文共 591 字,大约阅读时间需要 1 分钟。

一、虚拟机字节码执行引擎概述

  虚拟机字节码执行引擎主要就是研究字节码指令具体怎样被执行。对于物理机器,指令的执行是直接建立在OS和硬件的基础上

对于字节码指令的执行就是直接建立在JVM上,然后通过JVM完成具体的字节码指令到机器指令的过程。一般来说虚拟机的执行的

字节码指令是基于栈的不是采用寄存器,主要考虑的原因跨平台。

  虚拟机的执行引擎是有JVM规范定义的,可以自己定义指令集以及执行引擎来执行字节码指令。不同的JVM执行引擎的实现可能不同

总体来说一个线程对应的是一个虚拟机栈:线程代码中调用的其他方法,在被调用的时候形成一个栈桢---是虚拟机栈中的一个元素,它随着

方法的调用执行,进行进栈和出栈的操作。

二、具体来讲下栈桢的组成

  运行时栈桢是方法调用与方法执行的数据结构,其所需要的内存空间大小在编译期间已经确定。栈桢包含以下几部分的内容

局部变量表;操作数栈(所有指令中涉及的操作数全部在栈中进行操作);动态连接;方法的返回信息等。另外对于方法调用会产生

两种不同的模式:前期绑定和后期绑定(运行时候才确定调用具体的方法是哪个)。

三、Java中线程的模型

  一个用户态线程对应一个内核态线程,线程的调度,以及线程的TCB信息维护完全由操作系统进行控制。

转载于:https://www.cnblogs.com/sun1993/p/7819629.html

你可能感兴趣的文章
数组的初始化
查看>>
bzoj3156 防御准备
查看>>
Git----查看提交日志
查看>>
XE7/X10.2 Datasnap使用 dbExpress 连接MySQL数据库
查看>>
Eclipse修改编码格式
查看>>
生成器和协程 —— 你想知道的都在这里了
查看>>
初级算法-6.两个数组的交集 II
查看>>
欧拉函数 / 蒙哥马利快速幂 / 容斥
查看>>
Makefile
查看>>
软件开发文档以及项目开发流程理解
查看>>
2019微软Power BI 每月功能更新系列——Power BI 4月版本功能完整解读
查看>>
truncate 、delete、drop的区别
查看>>
DynamoDB 中的限制
查看>>
mysql做主从配置
查看>>
Docker练习例子:基于 VNCServer + noVNC 构建 Docker 桌面系统
查看>>
《码出高效 Java开发手册》第六章 数据结构与集合
查看>>
Python获取本机外网IP
查看>>
sleep和wait的区别
查看>>
[导入]弯管机3D DEMO
查看>>
关于51单片机使用printf串口调试
查看>>