Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
2年前关闭。
这是source code。
但是似乎每次用户调用
我应该误会了一些东西。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
2年前关闭。
这是source code。
但是似乎每次用户调用
getInstance()
时都会创建一个新的instance
。我应该误会了一些东西。
最佳答案
资料与您的观察结果并不矛盾:
public static final KeyGenerator getInstance(String algorithm)
throws NoSuchAlgorithmException {
if (algorithm == null) {
throw new NullPointerException("algorithm == null");
}
Engine.SpiAndProvider sap = ENGINE.getInstance(algorithm, null);
return new KeyGenerator((KeyGeneratorSpi) sap.spi, sap.provider, algorithm);
}
SpiAndProvider
返回的ENGINE#getInstance
可能是单例。如果进一步研究实现,每次调用getInstance
都会有一个新实例也就不足为奇了,因为KeyGenerator
具有实例成员,该成员由您通过调用传递的参数启动。关于java - Java KeyGenerator是否使用Singleton模式? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46124765/
10-09 03:15