当前位置: 首页 > 知识库问答 >
问题:

java:clear()big size列表有助于快速垃圾收集吗?

施念
2023-03-14
List<DannDB> dDb = fromNamedQuery();
List<LannDB> lDb = fromNamedQuery();
 dDb.clear();

  or 

 dDb = null

或者我还能做什么?

共有1个答案

邵亦
2023-03-14

问题是,默认情况下,一旦分配了堆内存大小就不会缩小(我指的是从操作系统分配的内存大小)。如果您的Java应用程序一次需要2 GB的RAM,那么默认情况下,它将从操作系统中保留这一内存。

如果可以,试着改变应用程序的设计,不首先将所有数据加载到内存中,而只加载您真正需要完成工作的内容。

如果您确实需要同时使用这两个大批处理,可以考虑使用以下Java命令行参数:“-xx:+UseAdaptiveSizePolicy”,这将使得在大量使用内存后缩小堆空间成为可能。

 类似资料:
  • Kubernetes 垃圾收集器的角色是删除指定的对象,这些对象曾经有但以后不再拥有 Owner 了。 注意:垃圾收集是 beta 特性,在 Kubernetes 1.4 及以上版本默认启用。 Owner 和 Dependent 一些 Kubernetes 对象是其它一些的 Owner。例如,一个 ReplicaSet 是一组 Pod 的 Owner。具有 Owner 的对象被称为是 Owner

  • 本文向大家介绍Java垃圾收集,包括了Java垃圾收集的使用技巧和注意事项,需要的朋友参考一下 示例 C ++方法-新增和删除 在像C ++这样的语言中,应用程序负责管理动态分配的内存所使用的内存。当使用new运算符在C ++堆中创建对象时,需要相应地使用delete运算符来处置该对象: 如果程序忘记了delete一个对象而只是“忘记”了该对象,则关联的内存将丢失给应用程序。这种情况的术语是内存泄

  • JavaScript 具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。 而在C 和C++之类的语言中,开发人员的一项基本任务就是手工跟踪内存的使用情况,这是造成许多问题的一个根源。在编写JavaScript 程序时,开发人员不用再关心内存使用问题,所需内存的分配以及无用内存的回收完全实现了自动管理。这种垃圾收集机制的原理其实很简单:找出那些不再继续使用的变量,然后释放其

  • 好的,今天我接受了一次采访,多年来我一直在Java编码。采访说“Java垃圾回收机制是一个棘手的问题,我有几个朋友一直在努力弄清楚。你在这方面做得怎么样?”。她是想欺骗我吗?还是我的一生都是谎言,java没有自动垃圾回收机制? 因为据我所知,java有自动垃圾回收机制,你可以调用System.gc()来收集一些资源,但这并不强制对象被销毁。它仍然由JVM决定。 我说错了吗?

  • 问题内容: 我想向JVM注册一个回调,所以我知道何时进行垃圾回收。有什么办法吗? 编辑:我想这样做,以便可以在应用程序日志中发生垃圾收集时注销,这样我就可以查看它是否与我所看到的问题相关。启用- Xloggc很有帮助,但是将GC日志中的时间(自应用程序启动以来使用秒数)整合到我的主应用程序日志中有点棘手。 编辑2012年4月:从Java7u4开始,您可以从GarbageCollectorMXBea

  • 问题内容: 您可以简单地通过调用Java来进行垃圾回收,但有时这会使应用程序“停滞”。这样垃圾收集并避免停顿是一个坏主意: 还是可能导致更多问题? 问题答案: 是的,在大多数情况下,调用System.gc()是一个非常糟糕的主意。有例外,但例外很少,最好花一些时间来确保自己不会在GC环境中做会损害性能的事情,并且学习并确保自己了解gc的工作方式比尝试自己处理它要好得多。显式调用System.gc(