我编写了一个在Java程序中运行声纳扫描程序的程序。我将迭代大量项目(2K)并运行声纳扫描仪。问题是,经过一段时间后,我总会遇到内存不足的问题。我认为有些资源没有被发布,并且在一些项目之后堆已经满了。有人可以帮我改变我的代码以避免这个问题吗?
谢谢。
private void executeSonarScanner(Project project,String temporaryProjectFolder,int version){
HashMap prop = new HashMap();
prop.put("sonar.projectKey", String.format("Project%s",project.getId()));
prop.put("sonar.projectName", String.format("Project%s",project.getId()));
prop.put("sonar.projectVersion", String.valueOf(version));
prop.put("sonar.projectBaseDir",temporaryProjectFolder);
prop.put("sonar.sources",temporaryProjectFolder + File.separator +".");
prop.put("sonar.java.binaries", temporaryProjectFolder);
prop.put("sonar.host.url", this.sonarUrl);
prop.put("sonar.language", "java");
this.scanner = EmbeddedScanner.create("", "", this.outPutlogger);
this.scanner.start();
this.scanner.execute(prop);
}