JVM的角色

JVM的角色,jvm,virtual-machine,vm-implementation,Jvm,Virtual Machine,Vm Implementation,JVM(可能还有CLI)会被视为虚拟机(相当于“普通”程序堆栈中的x86)还是虚拟操作系统(相当于Windows)?严格来说,它是一个虚拟机,即:它执行一种特殊的低级语言(类似于x86 ASM。CLI使用MSIL,JVM使用“字节码”)并将它们转换为目标机器的操作码(x86、x86_64、ARM..等),以便在主机CPU上执行 它还管理封送(即:正确处理变量并将其传递到本机内存堆栈/堆),以允许从托管世界内部调用函数到运行VM的外部操作系统 实际上,除了自动垃圾收集和CPU体系结构独立性之外,J

JVM(可能还有CLI)会被视为虚拟机(相当于“普通”程序堆栈中的x86)还是虚拟操作系统(相当于Windows)?

严格来说,它是一个虚拟机,即:它执行一种特殊的低级语言(类似于x86 ASM。CLI使用MSIL,JVM使用“字节码”)并将它们转换为目标机器的操作码(x86、x86_64、ARM..等),以便在主机CPU上执行

它还管理封送(即:正确处理变量并将其传递到本机内存堆栈/堆),以允许从托管世界内部调用函数到运行VM的外部操作系统

实际上,除了自动垃圾收集和CPU体系结构独立性之外,JVM和CLI本身都不是很有用,但它们由一个大型的基本库(Java类或.NET BCL)来补充它允许您执行许多与平台相关的操作,而无需调用特定于平台的API并手动使用封送处理

这就是为什么每个操作系统都有不同的Java运行时环境。每个JVM都转换为特定的CPU架构,并使用不同的特定于平台的API来完成统一基础库作为托管世界中的友好API向您公开的内容


希望这对您有所帮助。

严格来说,它是一个虚拟机,即:它执行一种特殊的低级语言(类似于x86 ASM.CLI使用MSIL,JVM使用“字节码”),并将它们转换为目标机的操作码(x86、x86_64、ARM..等),以便在主机CPU上执行

它还管理封送(即:正确处理变量并将其传递到本机内存堆栈/堆),以允许从托管世界内部调用函数到运行VM的外部操作系统

实际上,除了自动垃圾收集和CPU体系结构独立性之外,JVM和CLI本身都不是很有用,但它们由一个大型的基本库(Java类或.NET BCL)来补充它允许您执行许多与平台相关的操作,而无需调用特定于平台的API并手动使用封送处理

这就是为什么每个操作系统都有不同的Java运行时环境。每个JVM都转换为特定的CPU架构,并使用不同的特定于平台的API来完成统一基础库作为托管世界中的友好API向您公开的内容


希望对您有所帮助。

jvm被认为是一台真正的计算机,只是没有在硬件上实现。机器有它自己的存储容量,它自己的内存模型,它自己的中央处理器的特定行为,它自己的内部机器代码。这台机器是可扩展的,具有新的可能性和用类、API等表示的模块


它有自己的基于堆栈的体系结构,就像大多数虚拟机一样。

jvm被认为是真正的计算机,只是没有在硬件中实现。机器有它自己的存储容量,它自己的内存模型,它自己的中央处理器的特定行为,它自己的内部机器代码。这台机器是可扩展的,具有新的可能性和用类、API等表示的模块

它有自己的基于堆栈的体系结构,就像大多数虚拟机一样