平台无关性
各种不同平台虚拟机和所使用平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石。
语言无关性
实现语言无关性的基础仍然是虚拟机个字节码存储格式,Java虚拟机不和包括Java语言在内的任何语言进行绑定,它只与“class”这种特定的二进制格式文件所关联,“Class”文件包含了虚拟机指令集和符号表以及其他的辅助信息,基于安全方面的考虑,Java虚拟机规范要求在class文件中使用许多强制性的语法和结构化约束,但任何一门语言都可以表示为一个能被虚拟机所接受的有效class文件。
Java虚拟机提供的语言无关性Java语言的各种变量、关键字运算符号的语义最终都是由多条字节码命令组合而成,因此字节码命令所能提供的语义描述肯定比Java语言本身更强大,因此有一些Java语言本身无法有效支持的语言特性不代表字节码本身不能有效的支持。
网友评论