Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GC-次要GC收集是STW事件吗?_Java_Garbage Collection - Fatal编程技术网

Java GC-次要GC收集是STW事件吗?

Java GC-次要GC收集是STW事件吗?,java,garbage-collection,Java,Garbage Collection,GC是否需要为次要GC或仅为完整GC“停止世界”?据我所知,当EDEN中没有空间分配对象时,会发生一个次要GC,这是否意味着每个次要GC都会有一个STW事件?答案是“视情况而定” 对于大多数现代Java收藏家来说,一个次要的(young/Eden space)收藏品确实是一个stop the world收藏品。这并不是一个年轻的空间被填满而触发次要GC的直接逻辑结果。(其他的策略可能会触发一个小GC,或者处理一个年轻的空间填充。)相反,它只是。。。它们是大多数Java GC实现的方式 一个例外是

GC是否需要为次要GC或仅为完整GC“停止世界”?据我所知,当EDEN中没有空间分配对象时,会发生一个次要GC,这是否意味着每个次要GC都会有一个STW事件?

答案是“视情况而定”

对于大多数现代Java收藏家来说,一个次要的(young/Eden space)收藏品确实是一个stop the world收藏品。这并不是一个年轻的空间被填满而触发次要GC的直接逻辑结果。(其他的策略可能会触发一个小GC,或者处理一个年轻的空间填充。)相反,它只是。。。它们是大多数Java GC实现的方式

一个例外是ZGC,它不是分代的。因此,没有所谓的小收藏。相反,当GC被触发时,在找到GC根的同时,会有一个短时间(小于10ms)停止world事件。第二个例外是Shenandoah GC,它同样不是分代的

(当然,最初的Java 1.1 GC是一个标记扫描收集器,不分代,可以让世界停止。)

答案是“视情况而定”

对于大多数现代Java收藏家来说,一个次要的(young/Eden space)收藏品确实是一个stop the world收藏品。这并不是一个年轻的空间被填满而触发次要GC的直接逻辑结果。(其他的策略可能会触发一个小GC,或者处理一个年轻的空间填充。)相反,它只是。。。它们是大多数Java GC实现的方式

一个例外是ZGC,它不是分代的。因此,没有所谓的小收藏。相反,当GC被触发时,在找到GC根的同时,会有一个短时间(小于10ms)停止world事件。第二个例外是Shenandoah GC,它同样不是分代的


(当然,最初的Java 1.1 GC是一个标记扫描收集器,不分代,停止世界。)

读了几本书后,我发现次要GC总是一个停止世界事件,它将停止所有应用程序线程,通常会有一个短的持续时间,而不是完全GC的GC暂停,这将需要相当多的时间,因为它将在年轻人和老年人身上运行。因此,次要GC和完全GC总是停止世界事件。

读了几本书后,我发现次要GC总是停止世界事件,它将停止所有应用程序线程,通常持续时间较短,而不是完全GC的GC暂停,这将需要相当多的时间,因为它将在年轻人和老年人身上运行。因此,次要GC和完全GC总是停止世界事件。

通常是。这就是伊甸园空间相对较小的原因之一。(但你的推理是不正确的。)谢谢你的回答,斯蒂芬,介意我问一下为什么推理是不正确的吗?是的,每个小收藏都会有一个STW暂停。更糟糕的是,G1不能是局部的,它必须扫描所有的年轻区域。通常是的。这就是伊甸园空间相对较小的原因之一。(但你的推理是不正确的。)谢谢你的回答,斯蒂芬,介意我问一下为什么推理是不正确的吗?是的,每个小收藏都会有一个STW暂停。更糟糕的是,G1不能是局部的,它必须扫描所有的年轻区域。我不知道“这取决于”是从哪里来的。在小集合同时进行的时刻,没有代收器。根本没有。所以它不是“依赖”,它是一个“事实”。这不是事实。它是从一小部分数据点进行的概括。事实上,目前还没有一代Java GC,其中的次要收集不会停止世界并不意味着没有。我必须承认,这是一个相当有趣的观点,并不意味着我同意,但你的观点仍然很有趣。我不明白“它取决于”是从哪里来的。在小集合同时进行的时刻,没有代收器。根本没有。所以它不是“依赖”,它是一个“事实”。这不是事实。它是从一小部分数据点进行的概括。事实上,目前还没有一代Java GC,其中的次要收集不会停止世界并不意味着没有。我必须承认,这是一个相当有趣的观点,并不意味着我同意,但你的观点仍然很有趣。