了解Java小程序

了解Java小程序,java,class,jar,applet,Java,Class,Jar,Applet,我试图了解小程序是如何工作的 我知道类文件是字节码,JVM可以理解和执行它。当小程序在用户系统上运行时,字节码通过网络传输到用户系统 现在,当有多个类文件时会发生什么?例如,如果具有小程序的init()方法(类A)的类具有我的另一个类(类B)的对象,该怎么办?html文件在APPLET标记中仍然包含classA.class。在这种情况下,classB.class是否也通过网络传输 还有,jar文件如何适应这里?它们只是类文件的压缩集合,不是吗 如果您能清楚地了解这一点,我们将不胜感激 谢谢,我认

我试图了解小程序是如何工作的

我知道类文件是字节码,JVM可以理解和执行它。当小程序在用户系统上运行时,字节码通过网络传输到用户系统

现在,当有多个类文件时会发生什么?例如,如果具有小程序的init()方法(类A)的类具有我的另一个类(类B)的对象,该怎么办?html文件在APPLET标记中仍然包含classA.class。在这种情况下,classB.class是否也通过网络传输

还有,jar文件如何适应这里?它们只是类文件的压缩集合,不是吗

如果您能清楚地了解这一点,我们将不胜感激


谢谢,

我认为您上面描述的关键事实是,jar文件在小程序运行之前由JVM传输和解释,因此知道并可以访问整个类层次结构。

jar文件是包含类的文件,它使用zip压缩。当浏览器找到指向小程序的标记时,它会将jar文件下载到客户端并运行它。

小程序依赖的任何依赖项都将传输到客户端。这包括单独的类和jar文件


然而,许多java开发人员现在更喜欢使用applet而不是applet。Web Start应用程序不在浏览器内部运行,这有助于缓解不同浏览器Java插件的兼容性问题。此外,WebStart沙盒不像小程序在其中运行的沙盒那样具有限制性。如果您已经以小程序的形式编写了代码,它仍然可以作为Web Start应用程序启动。

来自Sun的
。他们在applet上有一个,包括通过javawebstart启动。

那么,“网络上发生了什么?”?需要所有的类文件吗?jar只是压缩它们的一种方式,这样我们就可以消耗更少的带宽?一个jar通过只使用一次网络往返而不是n次(每个文件一次)来减少延迟,非常感谢您的回复。我记得我遇到过Web Start。。一定要探索,;我需要一个非限制性的沙箱!