当前位置:首页 > 虚拟机 > 正文

虚拟机有哪些类型


一、虚拟机有几种类型?虚拟机包括提供软件运行环境的虚拟机和提供其他系统功能的虚拟机。
提供软件运行环境的虚拟机比较有代表性的是Java虚拟机、框架虚拟机(微软的.net本质上就是虚拟机)、Android虚拟机(本质上是Java在虚拟机上的改进)
提供虚拟机运行在其他系统上的机器,比较有代表性的机器有VMware、VirtualPC和VirtualBox。许多其他系统也可以安装在其上。


二、java虚拟机数据类型

Java虚拟机支持多种基本数据类型,包括:


字节:以二进制补码表示的单字节有符号整数。
Short:有符号双字节整数,也带有补码。
int:四字节有符号整数。
long:8字节有符号整数。
float:四字节IEEE754单精度浮点数。
double:8字节IEEE754双精度浮点数。
Char:无符号双字节Unicode字符。

Java的类型检查主要在编译阶段完成。执行期间不需要硬件标签来存储原始数据类型。字节码指令明确定义了iadd、ladd等操作数类型,fadd、dad分别对应int、long、float、double的加法运算。boolean类型boolean不是单独处理的,而是通过Integer语句间接处理的,包括返回值。布尔数组使用字节数组存储。Java虚拟机使用IEEE754格式的浮点数。不支持此格式的旧设备在运行数值计算程序时可能会遇到性能下降的情况。


此外,虚拟机还支持其他数据类型:


Object:实际实现中对Java对象的4字节引用在像Sun企业的实现中,对象引用通常包含指向方法表和数据的指针。
returnAddress:4字节地址,用于jsr/ret等指令。
注意:Java数组在虚拟机中被视为对象。

虚拟机规范对对象的内部结构没有提出任何具体要求,但所有实现都必须符合类型规定,否则执行将被拒绝。尽管Java虚拟机看起来只支持32位地址空间,但是有一些技术方法可以将其转换为64位。通过严格定义数据类型的内部格式,Java确保所有虚拟机实现对数据的解释一致,保证了Java的平台独立性和可移植性。


进阶资讯

Java虚拟机(JavaVirtualMachine),简称JVM,是通过软件模拟在实际计算机上实现的一种想象的机器。Java虚拟机拥有自己想象中的处理器、堆栈、寄存器等硬件,以及相应的命令系统。


三、虚拟机种类系统虚拟机、程序虚拟机、操作系统层虚拟化。
1.系统虚拟机主要包括Linux虚拟机、微软虚拟机、Mac虚拟机、BM虚拟机、HP虚拟机、SWsoft虚拟机、SUN虚拟机、Intel虚拟机、AMD虚拟机、BB虚拟机等。ETC。
2。程序的虚拟机主要有Java虚拟机(又称:JVM)等。
3。操作系统层虚拟化主要包括Docker容器。