美文网首页
JVM 2种实现方式的对比

JVM 2种实现方式的对比

作者: professorHe | 来源:发表于2021-07-09 22:35 被阅读0次

常见的虚拟实现方式有以下两种:

1. 基于栈式架构的特点

  • 设计和实现更简单,适用于资源受限的系统
  • 避开了寄存器的分配问题:使用零地址指令方式分配
  • 指令流中的指令大部分是零地址指令,其执行过程依赖于操作栈。指令集更小,编译器容易实现。
  • 不需要硬件支持,可移植性更好,更好实现跨平台

2. 基于寄存器架构的特点

  • 典型的应用是x86的二进制指令集:比如传统的PC以及Android的Davlik虚拟机。
  • 指令集架构则完全依赖硬件,可移植性差
  • 性能优秀和执行更高效
  • 花费更少的指令去完成一项操作
  • 在大部分情况下,基于寄存器架构的指令集往往都以一地址指令、二地址指令和三地址指令为主,而基于寄存器架构的指令集却是以零地址指令为主

关于指令的概念

机器指令就是机器语言的一条语句,是一组有意义的二进制代码

指令的结构如下:

指令结构

指令的分类

1. 零地址指令

指给出操作码,没有显示地址,适用于:

  • 不需要地址码的指令,例如空操作、停机、关中断指令等;
  • 堆栈计算机中,仅仅依靠入栈和出栈操作进行运算,典型的就是Java虚拟机
    零地址指令

2.一地址指令

定义:指令编码中只有一个地址码,指出了参加操作的一个操作数的存储位置,被操作数则隐含在累加器中,这样的指令称为一地址指令。


一地址指令

2.二地址指令

二地址指令

3.三地址指令

三地址指令

4.四地址指令

四地址指令

相关文章

  • JVM 2种实现方式的对比

    常见的虚拟实现方式有以下两种: 1. 基于栈式架构的特点 设计和实现更简单,适用于资源受限的系统 避开了寄存器的分...

  • 单例模式

    懒汉式双重检查方式 这种方式是通过双重检查+synchronized实现线程安全。volatile:防止jvm指令...

  • mapboxGL卷帘实现

    概述 卷帘对比是webgis中常见的一种对比方式,本文讲述一下如何在mapboxGL中实现卷帘对比。 效果 实现思...

  • 图-实现, 2020.02.26

    (2020.02.26)图数据结构有如下四种实现方式。 实现方式对比 Edge list structure边列表...

  • css实现交互式图片对比控件

    介绍 使用纯CSS实现交互式的图片对比控件 实现方式 演示效果

  • JS 全屏

    实现效果 JS实现浏览器全屏 实现方式对比 1、ActiveXObject 只支持IE 2、FullScreen(...

  • 单例模式的常用实现方式

    单例模式属于最常用的设计模式,Java中有很多实现单例模式的方式,各有其优缺点 实现方式对比 单例实现方式线程安全...

  • Android弹幕实现现状与原理浅析

    弹幕实现对比 目前的弹幕实现方案,主要有以下几种实现方式。 Android View实现 通过Android已有的...

  • 集合、多线程、事件模型

    JVM内存 运算符 & 按位与 | 按位或 ~ 取反 ^ 异或 多线程实现方式 Java多线程实现方式主要有四种:...

  • SpringBoot下实现Shutdown Hook的几种方式

    在应用中,经常希望在JVM关闭时做一些清理的动作,本文陈述几种常用的实现方式。 1、JVM自带的shutdownH...

网友评论

      本文标题:JVM 2种实现方式的对比

      本文链接:https://www.haomeiwen.com/subject/rwraultx.html