正如您在下面看到的,我的Spring Boot应用程序在开始时使用50 Mb堆。然后,此使用量增加到600 Mb。我该如何预防?
在不了解您的应用程序的情况下很难给出具体答案。
根据Java GC的工作方式,这也可能是非常正常的行为。由于GC会定期运行,因此在Java堆中应采用这种模式。
总之,要收集更多信息,您需要分析堆结构。如果有不必要的对象生成,或者如果有大量对象具有进出引用,则可以基于堆洞察力优化代码。您可以在JDK中使用eclipse memory analyzer之类的工具,甚至可以使用jhat命令。