Applet 的执行环境

Java applet 在浏览器的上下文中运行。浏览器中的 Java 插件软件控制 JavaServlets 的启动和执行。浏览器还具有 JavaScript 解释器,该解释器可在网页上运行 JavaScript 代码。本主题描述了 Java 平台标准版 6 更新 10 中发布的 Java 插件软件的行为。

Java Plug-in

Java 插件软件为每个 JavaServlets 创建一个工作线程。它在 Java 运行时环境(JRE)软件的实例中启动 Servlets。通常,所有 Servlets 都在 JRE 的同一实例中运行。在以下情况下,Java 插件软件将启动 JRE 的新实例:

  • 当 applet 请求在特定版本的 JRE 中执行时。

  • 当 applet 指定其自己的 JRE 启动参数时,例如堆大小。如果新的 applet 的要求是现有 JRE 的子集,则它使用现有的 JRE,否则,将启动新的 JRE 实例。

如果满足以下条件,则 Servlets 将在现有的 JRE 中运行:

  • Servlets 所需的 JRE 版本与现有的 JRE 相匹配。

  • JRE 的启动参数满足 applet 的要求。

下图显示了如何在 JRE 中执行 Servlets。

这是在不同 JRE 版本上运行的 Java 插件的图片。

Java 插件和 JavaScript 解释器的交互

Java applet 可以调用网页中存在的 JavaScript 函数。还允许 JavaScript 函数调用嵌入在同一网页上的 applet 的方法。 Java 插件软件和 JavaScript 解释器协调从 Java 代码到 JavaScript 代码的调用以及从 JavaScript 代码到 Java 代码的调用。

Java 插件软件是多线程的,而 JavaScript 解释器在单个线程上运行。因此,为避免线程相关的问题(尤其是在同时运行多个 Servlets 时),请尽量缩短 Java 代码和 JavaScript 代码之间的调用,并尽可能避免往返。请参阅以下主题,以了解有关 Java 代码和 JavaScript 代码之间交互的更多信息: