gpt4 book ai didi

java - 从已签名的小程序加载 Java 类

转载 作者:搜寻专家 更新时间:2023-10-31 19:51:27 25 4
gpt4 key购买 nike

如果我正在运行签名的 Java 小程序。我可以从同一域甚至同一主机中的远程源加载其他类并运行它们吗?

我想在不更改页面甚至不停止当前小程序的情况下执行此操作。当然,所有类的总大小太大,无法一次全部加载。

有没有办法做到这一点?有没有办法对已签名的小程序执行此操作并保持其“信任”状态?

最佳答案

我认为小程序中的类是延迟加载的。按需加载。

无论如何,如果类在 jar 之外,您可以简单地使用 applet 类加载器并按名称加载它们。例如:

ClassLoader loader = this.getClass().getClassLoader();
Class clazz = loader.loadClass("acme.AppletAddon");

如果您想从 jar 加载类,我认为您需要使用 jar(s) 的 url 创建一个新的 URLClassLoader 实例。

URL[] urls = new URL[]{new URL("http://localhost:8080/addon.jar")};
URLClassLoader loader = URLClassLoader.newInstance(urls,this.getClass().getClassLoader());
Class clazz = loader.loadClass("acme.AppletAddon");

默认情况下,小程序被禁止创建新的类加载器。但是,如果您签署您的小程序并包含创建新类加载器的权限,您就可以做到。

关于java - 从已签名的小程序加载 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com