나는 사회적인 그래프를 그리기 위해 gephi를 사용한다. 그러나 ProjectController 클래스를 생성하기 위해 싱글 톤을 사용한다.org.openide.util.Lookup에서 객체를 죽이는 법
@ServiceProvider(service = ProjectController.class)
public class ProjectControllerImpl implements ProjectController {
private enum EventType {
INITIALIZE, SELECT, UNSELECT, CLOSE, DISABLE
};
//Data
private final ProjectsImpl projects = new ProjectsImpl();
private final List<WorkspaceListener> listeners;
private WorkspaceImpl temporaryOpeningWorkspace;
public ProjectControllerImpl() {
//Listeners
listeners = new ArrayList<WorkspaceListener>();
listeners.addAll(Lookup.getDefault().lookupAll(WorkspaceListener.class));
registerNetbeansPropertyEditors();
}
그리고 우리는 넷빈즈 API를 통해이 클래스 얻을 수 있습니다 :
ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
당신은 그것을 볼 수 있습니다 당신이 싱글에서 객체를 생성이 class.When의 목록을 가지고, 그것은 목록을 추가합니다 메모리 누수가 생기고 org.openide.util.Lookup에서 객체를 죽이고 싶습니다. 어떻게하면됩니까?
github의 코드 : https://github.com/geph/master/modules/ProjectAPI/src/main/java/org/gephi/project/impl/ProjectControllerImpl.java – v11