Which of the following best describes the role of the Java Virtual Machine in the execution of Java applets?

admin2013-12-19  22

问题 Which of the following best describes the role of the Java Virtual Machine in the execution of Java applets?

选项 A、Converts the source code into bytecode and blocks the sandbox
B、Converts the bytecode into machine-level code
C、Operates only on specific processors within specific operating systems
D、Develops the applets, which run in a user’s browser

答案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会在调用时运行。
转载请注明原文地址:https://jikaoti.com/ti/ktO7FFFM
0

最新回复(0)