我应该在我的java持久性项目中调用System.gc()吗?

Tha*_*nuj 2 java garbage-collection jvm memory-management

我正在使用Java持久性API来开发独立软件.最近我看到当我从实体类以及JPAController类创建对象时,内存使用率不断上升.似乎对象停留在内存中,因为项目的内存分配不会减少(例如:400mb ---> Create Object ---> 450mb ---> Stams at 450mb).这会对性能造成严重影响吗?我应该调用System.gc()方法来删除这些对象吗?

小智 5

通常System.gc()不保证执行垃圾收集.最终由JVM来决定.请参阅javadoc.

您是否观察过当您接近JVM的内存限制时会发生什么,那么垃圾收集会发生吗?如果没有,并且您收到了OutOfMemoryError,则要么保留比您需要的更长的时间,要么实际上需要为VM分配额外的堆.

无论如何,System.gc()我认为不应该用它来解决这些问题.