gpt4 book ai didi

java - 将 java 对象/类从一个类加载器复制到另一个类加载器

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:44 27 4
gpt4 key购买 nike

您好,有没有一种方法可以将一个类加载的上下文(属性等)从一个类加载器(例如“制作的”类点)复制到另一个类加载器?

明确地说,例子:我在 CL 1 上有一个对象点。现在在另一个 CL2 上运行,我想在 CL 3 中创建这个对象。

一些对象:

class Point {
int x;
int y;
public Point() {}
//getters and setters

风景:

... 
class CL2 {

// Running on CL 2
...
// Point obj from CL 1
Object point = gotFromCL1();

// Want to create the object on Cl2
Object pointCL2 = point.conversion();

但我不能使用 sun.reflection(不可用)并且序列化不起作用,因为 CL2 会自动使用 CL 1“重建”对象。

我认为的一个解决方案是执行“100%”java 反射 rconstruct,基本上从 CL2 获取对象字段并在新对象上设置。

PS: 它需要在 Java 1.4.2 上运行:'(

最佳答案

参见 Transloader关于如何在类加载器之间复制类,如果您需要执行以下操作之一:

  • 克隆从一个类加载器到另一个类加载器的几乎任何对象图

  • 从外部 ClassLoader 获取任何对象并在其上调用任何方法而不克隆它

关于java - 将 java 对象/类从一个类加载器复制到另一个类加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735714/

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