gpt4 book ai didi

java - java 成员变量是 GC-free 是什么意思

转载 作者:行者123 更新时间:2023-12-04 14:21:26 26 4
gpt4 key购买 nike

我在 org.apache.coyote.Request.java 中的 apache tomcat 源代码中偶然发现了如下注释:

    This is a low-level, efficient representation of a server request. Most
* fields are GC-free, expensive operations are delayed until the user code
* needs the information.

无 GC 意味着什么?如何让 JVM 不对变量运行垃圾回收,这样才不会很危险?

最佳答案

链接到 org.apache.coyote.Request.java在 Github 上。

他们并不是说他们让 JVM 不运行垃圾收集。他们所说的是这些字段不会产生 JVM 需要收集的垃圾。更好的术语可能是 garbage-free 而不是 GC-free。或者可回收内存。事实上,如果你看org.apache.tomcat.util.buf.MessageBytes.java ,他们使用术语可回收。

您可以在 Java Development without GC 阅读更多相关讨论。 .警告,他们试图向您推销一种商业产品来检查您的内存使用情况并查找垃圾泄漏。

基本概念是,如果您分配内存,则将其存储在分配池中。不要让它超出范围并被垃圾收集,而是将其保留在范围内并在下一次分配时重用它。

Request.java 中,您可能需要查看 recycle 方法。这似乎是清除旧内存并准备对象以供重用的原因。

关于java - java 成员变量是 GC-free 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54275919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com