【问题标题】:Is there any plugin framework for Java Applets?Java Applets 是否有任何插件框架?
【发布时间】:2008-12-20 17:21:58
【问题描述】:
我们有一个作为小程序或 Java Web Start 运行的大型 Java 应用程序。而且它越来越多。典型的用户只需要一小部分类。因为Java不知道它可以在哪个jar文件中找到哪个类,所以它会加载所有jar文件,直到找到该类。如果它将加载一个不存在的类(例如资源包),那么它将加载所有 jar 文件。这可以减少非常大的小带宽上的启动时间。
是否有一个小框架,我们可以仅在需要时加载插件?或者如果需要并且在后台更好?
当然框架不应该因为它的大尺寸而延迟启动时间。
我认为它应该使用 URLClassLoader 进行下载。
【问题讨论】:
标签:
java
plugins
applet
download
【解决方案1】:
我听说您可以实现自定义类加载器,并且我看过有关此主题的教程。有了这个,您应该能够更精确地控制下载的内容。抱歉,我自己没试过。
【解决方案2】:
这不是您问题的直接答案,但您可以通过使用Pack200 显着减小 JAR 文件的大小来缓解下载缓慢的问题。我之前已经written 讨论过这有多有效。
除此之外,我同意 asalamon74 使用延迟下载 JAR 文件的建议。
也许您可以优化 JAR 的顺序,以便那些包含将首先加载的类的 JAR 更早出现?
【解决方案3】:
我认为(没有 jnlp 我不确定)您已经使用了下载属性:
<jar href="sound.jar" download="lazy"/>
由于 webstart 没有关于 jar 内容的信息,我假设如果类丢失,它会加载所有内容。
虽然我从未尝试过,但有一个<package> 标记,您可以在其中为 webstart 提供一些提示来搜索课程。检查this(非常短的)文档。