单选题 Which of the following best describes the role of the Java Virtual Machine in the execution of Java applets?
【正确答案】 B
【答案解析】解析:B正确。Java是一种面向对象的、与平台无关的编程语言。它可以作为一个成熟的编程语言进行使用,既可以用于编写完整的程序,也可以用来编写叫做applet的简短程序(applet运行于用户的浏览器中)。Java是一种与平台无关的语言,因为它创建中间代码,即并不专门针对处理器的字节码。然后,Java虚拟机(Java Vigual Machine,JVM)将字节码转换成特定系统上的处理器能够理解的机器代码。 A不正确。因为Java虚拟机将字节码转换成机器代码,它并不将源代码转换为字节码一一这是Java编译器的工作。JVM也会在一个环境里创建叫做沙箱(sandbox)的虚拟机。这个虚拟机是一个封闭的环境,applet在其中执行它的活动。applet通常通过一个请求Web页面的HTTP发送,这意味着applet一经到达便立即执行。如果applet的开发人员没有正确编程的话,该程序便会故意或者偶然地执行某些恶意活动。所以这个沙箱严格限制applet对任何系统资源的访问。JVM调解对系统资源的访问,从而确保applet代码规矩地呆在它自己的沙箱里执行。 C不正确。因为Java是一种面向对象的、与平台无关的编程语言。其他种类的语言被编译成供特定操作系统和处理器使用的对象代码。这就是为什么一个特定的应用程序可以在Windows上运行而不能在Macintosh上运行的原因。Intel处理器不需要理解为Alpha处理器编译的机器代码,反之亦然。Java是与平台无关的语言,因为它创建中间代码,即并不专门针对处理器的字节码。 D不正确。因为Java虚拟机并不编写applet。Java是一个成熟的编程语言,用来编写完整程序和叫做applet的简短程序,applet运行于用户的浏览器中。程序员创建Java applet,并通过一个编译器运行它。Java编译器把这个源代码转换成字节码。然后,用户下载这个Java applet。字节码被JVM转换成机器代码。最终,这个applet会在调用时运行。