当前位置: 首页 > 面试题库 >

基于堆栈的JVM指令体系结构的优势

慕容俭
2023-03-14
问题内容

为什么Java虚拟机被设计为没有用于保存中间数据值的寄存器?相反,所有东西都可以在堆栈上工作。使用基于堆栈的体系结构而不是寄存器有什么特别的优势?


问题答案:

Java被设计为从头开始可移植。但是,如果字节码取决于运行它的平台上存在的某些寄存器,那么如何保持字节码的可移植性呢?特别要考虑到它最初打算(也)要在机顶盒上运行,该机顶盒的处理器架构与主流PC完全不同。

只有在运行时,JVM才真正知道可用的寄存器和其他特定于硬件的信息。然后,JIT编译器可以(并将)对其进行优化(如适用)。



 类似资料:
  • 我来自C/C++背景,在这里一个进程内存分为: null 我想把我的注意力集中在这一点上,当我阅读JVM中的堆和堆栈时,我们是在谈论堆栈和堆的概念吗?并且整个JVM的实际内存驻留在堆上(这里指的是堆的C++概念)?

  • 我们计划基于SaaS模式开发一款产品“在线服装店”。 不同的布料供应商应注册到我们的门户网站。他们将获得网络界面来管理自己的服装目录。 当最终用户在系统中注册时,他们可以看到不同供应商的不同目录。当然,他们可以对现有产品进行标准搜索、筛选、排序等。选择后,他们将订购商品。各供应商应获得从其目录中选择的这些项目的订单。 在我们这方面,我们将需要管理小组和客户关系管理。它将为所有客户保留记录和数据。我

  • 字节码->类装载子系统->JVM->引擎/接口欧 类装载子系统:将字节码文件加载至大的Class文件.分为:加载,连接,初始化3部分 执行引擎: java代码执行流程 jvm的架构模型 hotspot虚拟机是基于栈的虚拟机

  • 冯·诺依曼体系结构 计算机处理的数据和指令一律用二进制数表示 顺序执行程序 计算机运行过程中,把要执行的程序和处理的数据首先存入主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 数据的机内表示 二进制表示 机器数 由于计算机中符号和数字一样,都必须用二进制数串来表

  • 问题内容: 每当加载一个类时,什么存储在堆中以及什么存储在堆栈中? 线程也驻留在哪里? 问题答案: 引用类型在堆中。 任何原始类型的数据和对堆上值(方法的参数/局部变量)的引用都在堆栈上。 每个线程都有自己的堆栈。 应用程序中的所有线程共享同一堆。

  • 6、堆栈操作指令(StackOperation Instruction) 堆栈是一个重要的数据结构,它具有“先进后出”的特点,通常用来保存程序的返回地址。它主要有两大类操作:进栈操作和出栈操作。 1)、进栈操作 、PUSH(Push Word or Doublewordonto Stack) 指令格式:PUSH Reg/Mem PUSH Imm;80286+ 一个字进栈,系统自动完成两步操作:SP