zoukankan      html  css  js  c++  java
  • 基于栈的虚拟机字节码执行引擎

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

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

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

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

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

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

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

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

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

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

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

    三、Java中线程的模型

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

  • 相关阅读:
    (转)HTTP、TCP和HTTPS
    使用覆盖索引优化like查询
    Laravel 源码解析(一)
    redis 缓存策略注意的问题总结
    laravel 监听mysql操作 生成时间
    CommonJS, AMD, CMD 笔记
    php json_encode小数精度丢失的问题
    Python通过pandas操作excel常用功能
    Vmware 虚拟化技术
    磁盘中的esp分区与msr分区
  • 原文地址:https://www.cnblogs.com/sun1993/p/7819629.html
Copyright © 2011-2022 走看看