【发布时间】:2017-09-14 20:49:55
【问题描述】:
我有一个弹簧休息控制器,它实例化一个新的 POJO。此 POJO 将用于反序列化来自 DB 的 XML 对象。
我注意到使用 IDEAs Memory View 插件,在我的应用程序的生命周期中,只创建了一个控制器对象(如预期的那样),但是对于控制器的每个请求都会创建一个新的 POJO 实例,并且即使在之后也不会收集垃圾请求完成。
这会导致内存不足异常。
解决这个问题的最佳方法是什么?
@RestController
public class VendorController {
private ChuckNorris chuckNorris;
@RequestMapping("/vendor")
public String vendors() {
ChuckNorris chuckNorris = new ChuckNorris();
chuckNorris.setType("roundhouse");
return "test";
}
}
在这段代码中,每个请求都会创建一个新的 ChuckNorris 对象,它们会在内存中徘徊,直到应用程序终止。
【问题讨论】:
标签: java spring spring-mvc model-view-controller garbage-collection