当我使用Gephi-tookkit在java中绘制图形时。但我发现内存泄漏的问题。我使用MemoryAnalyzer来分析转储,它显示了ProjectController使这个问题。 这个类ProjectController在gephi中是单例。
ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
我想破坏这个课程,我该怎么办?
答案 0 :(得分:0)
我已经使用java反射解决了这个问题。你可以破解查找类,并将字段更改为null。
public static synchronized void cleanUpLookup(){
Lookup obj = Lookup.getDefault();
Field field;
try {
field = Lookup.class.getDeclaredField("defaultLookup");
field.setAccessible(true);
field.set(obj, null);
} catch (Exception e){
}
}