java - java Java有手动垃圾回收吗?

标签 java garbage-collection garbage

好吧,今天我正在接受采访,我已经从事 Java 编码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我很少有 friend 费尽心思去弄清楚。你在这方面做得怎么样?”。她是想骗我吗?或者我的整个生活都是谎言而java没有自动垃圾收集?

因为据我所知java具有自动垃圾收集功能,您可以调用System.gc()来收集一些资源,但这不会强制对象被销毁。还是由JVM决定的。

我错了吗?

最佳答案

仅仅因为垃圾收集是自动的并不意味着您可以完全忽略对象分配和清理的影响以及 GC 的工作方式。

对于许多应用程序,尤其是简单的应用程序,让 GC 来做它的事情就可以了。但即便如此,您也必须确保您保留引用文献的时间不会超过所需的时间。

随着您的应用程序变得越来越大、越来越复杂,尤其是在使用多线程时,GC 造成的影响变得更加令人担忧,并且了解代码中的所有内容如何工作以及 GC 的作用变得更加重要正在做。

关于java - java Java有手动垃圾回收吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43900426/

相关文章:

java - HTTP 响应显示 Accept=multipart/form-data 但未设置此 header 并设置 CamelAcceptContentType, "application/json"

java - 如何将 enum 与 switch 语句一起使用?

c# - 经常调用的方法中的新临时变量

java - 即使一个对象引用了其他对象,它是否也不会被GC?

c++ - 为什么在for循环中k == 0时,我的程序返回无用值?

java - Spring Mongotemplate从多个集合中获取数据

java - 使用 GridBagLayout 使组件跨多行

c# - .NET Task 实例能否在运行期间超出范围?

android - 何时何地调用 GC_CONCURRENT?

python - 从双向链表中删除节点并保持位置不变