1 什么是JVM的“无关性”?
Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现"一次编写,处处运行".
而JVM不仅具有平台无关性,还具有语言无关性.
- 平台无关性是指不同操作系统都有各自的JVM
- 语言无关性是指Java虚拟机能运行除Java以外的代码!
这听起来非常惊人,但JVM对能运行的语言是有严格要求的.首先来了解下Java代码的运行过程.
Java源代码首先需要使用Javac编译器编译成class文件,然后启动JVM执行class文件,从而程序开始运行.
也就是JVM只认识class文件,它并不管何种语言生成了class文件,只要class文件符合JVM的规范就能运行.
因此目前已经有Scala、JRuby、Jy