gpt4 book ai didi

java - 静态属性的问题

转载 作者:行者123 更新时间:2023-12-02 11:17:13 25 4
gpt4 key购买 nike

我的问题是,我正在开发一个项目,该项目要求我运行其他人代码的多个实例,该代码具有许多静态属性/变量,这会导致所有实例共享这些资源,然后崩溃。如果我创建一个 .jar 文件并通过在 Windows 中运行 .jar 多次打开它,但在我的代码中多次调用“main”方法(这就是我需要做)不会工作。

我考虑过创建一个 .jar 并使用 Runtime.getRuntime().exec( "myprog.jar"); 多次调用该程序,但这对我来说不起作用,因为我必须将对象的实例传递给这个新程序,但我认为这个解决方案不允许这样做。

PS:This is also posted in the Sun forums ,所以我会发布我在这里得到的答案,或者我在这里得到的答案,一旦我解决了这个问题,自然会给予适当的认可=P。

最佳答案

请记住,Java 中的静态元素仅在类加载器(层次结构)的上下文中是唯一的;类在 JVM 中由元组 {classloader, classname} 唯一标识。

您需要实例化隔离的类加载器并使用该类加载器加载 jar。每个加载的类(以及 statis 元素)在其类加载器中都是唯一的,并且不会相互干扰。

关于java - 静态属性的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993739/

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