假设你使用Groovy编写了一个程序,并将其编译为可以在JVM上执行的.class文件,随后你又使用Kotlin编写了另一个程序,也将其编译为.class文件。现在你将这两个.class文件放在同一个目录下,由同一个JVM实例加载并运行。以下哪种情况最可能发生?
答案解析
选项A错误,JVM加载的是.class文件,而不是特定语言的源代码。JVM并不关心.class文件是由哪种编程语言编译而来。选项B错误,JVM的加载顺序不取决于生成时间,而是由类的引用关系以及程序入口等因素决定。选项D错误,虽然.class文件确实有magic number,但JVM并不会根据magic number来判断语言特性,而是根据字节码来执行。选项C正确,只要编译后的.class文件符合JVM规范,JVM可以加载并执行,这体现了JVM的语言无关性。
正确答案:C