我在WebLogic上部署了web服务,它利用bouncy castle进行AES256位解密。这会导致内存泄漏。我拿到的一些日志是这些
--------- Detailed Heap Statistics: ---------
26.9% 429099k 13731188 +429099k java/util/LinkedHashMap$Entry
16.2% 258003k 2969579 +258003k [C
11.0% 175144k 3202651 +175144k java/security/Provider$Service
10.7% 170955k 7294115 +170955k java/util/Hashtable$Entry
9.5% 152003k 6485501 +152003k java/security/Provider$ServiceKey
8.3% 132945k 61545 +132945k [Ljava/util/HashMap$Entry;
4.6% 72660k 3100166 +72660k java/lang/String
3.1% 49413k 20140 +49413k [Ljava/util/Hashtable$Entry;
3.0% 47766k 1504343 +47766k [Ljava/lang/Object;
2.2% 34712k 1481059 +34712k java/util/ArrayList
0.6% 10035k 29012 +10035k [B
1593352kB total ---
--------- End of Detailed Heap Statistics ---我知道这不是足够的信息。真对不起。谁能知道为什么会发生内存泄漏?我对java/security/Provider$ServiceKey的内存泄漏特别感兴趣。提前谢谢。
发布于 2013-03-13 04:27:56
尝试静态安装提供程序,如果这样做会有所不同的话。
要静态安装提供程序,需要将其作为条目添加到java.security文件中,该文件位于您正在使用的JRE/JDK的$JAVA_HOME/jre/lib/security/java.security文件夹中。使用security.provider.X查找文件中的行列表,其中X是某个数字。在列表的底部添加一行:
security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider发布于 2021-06-13 19:03:23
我有一个类似的问题宽度BouncyCastleProvider,我可以解决它宽度这个。
private static BouncyCastleProvider bouncycastleprovider = null;
public static synchronized BouncyCastleProvider getInstance () {
if (bouncycastleprovider == null) {
bouncycastleprovider = new BouncyCastleProvider();
}
return bouncycastleprovider;
}https://stackoverflow.com/questions/6457752
复制相似问题