gpt4 book ai didi

java - 从 NSF 加载的单例对象的行为

转载 作者:行者123 更新时间:2023-12-02 07:30:23 27 4
gpt4 key购买 nike

我试图了解 Java 对象在 Domino 环境中的行为方式,并且想知道当您使用单例时会发生什么(单例是一种 Java 对象,其构造方式使得 JVM 中只存在一个实例) .

假设我在数据库 1 中有一个单例,对其使用 getInstance() 。该对象是在 JVM 中创建的,每次我使用 getInstance() 方法时,都会返回相同的对象。

现在我将该类复制到数据库 2 并在该数据库中也使用 getInstance()。返回哪个对象?我最初在数据库 1 中创建的数据库还是从数据库 2 中创建的新数据库?

最佳答案

我已经做了一个测试,正如 jjtbsomhorst 所建议的那样,确实会有两个单独的单例。

XPage SingletonTest.xsp:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:text escape="true" id="computedField1" value="#{javascript:nl.tjit.SingletonTest.INSTANCE.getWhoami()}"></xp:text>
</xp:view>

Java 类:

package nl.tjit;
public enum SingletonTest {
INSTANCE;

private final String whoami = "I am your father";

public String getWhoami() {
return whoami;
}
}

使用稍微修改过的 whoami 字符串复制到另一个数据库的 XPage 和 Java 类会产生不同的输出。因此单例不在数据库之间共享。

关于java - 从 NSF 加载的单例对象的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13001106/

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