JAVA中的垃圾收集(标记、扫描和引用计数)

JAVA中的垃圾收集(标记、扫描和引用计数),java,collections,garbage-collection,rmi,distributed,Java,Collections,Garbage Collection,Rmi,Distributed,在分布式系统中工作时,我对Java的垃圾收集概念有一些疑问: 为什么RMI系统中不推荐标记和扫描GC 是否可以在并行线程中运行GCs“引用计数”算法而不挂起应用程序本身 提前谢谢 查看Java的网站: 基本上有几个垃圾收集器可用。我在生产系统上运行Parallel collector已经有一段时间了,但通过谷歌搜索,您会发现G1也显示出了巨大的潜力。查看Java网站: 基本上有几个垃圾收集器可用。我在生产系统上运行Parallel collector已经有一段时间了,但通过谷歌搜索,您会发现G1

在分布式系统中工作时,我对Java的垃圾收集概念有一些疑问:

  • 为什么RMI系统中不推荐标记和扫描GC

  • 是否可以在并行线程中运行GCs“引用计数”算法而不挂起应用程序本身


  • 提前谢谢

    查看Java的网站:


    基本上有几个垃圾收集器可用。我在生产系统上运行Parallel collector已经有一段时间了,但通过谷歌搜索,您会发现G1也显示出了巨大的潜力。

    查看Java网站:


    基本上有几个垃圾收集器可用。我在生产系统上运行Parallel collector已经有一段时间了,但通过谷歌搜索,您会发现G1也显示出了巨大的潜力。

    查看Java网站:


    基本上有几个垃圾收集器可用。我在生产系统上运行Parallel collector已经有一段时间了,但通过谷歌搜索,您会发现G1也显示出了巨大的潜力。

    查看Java网站:

    基本上有几个垃圾收集器可用。我在生产系统上运行并行收集器已经有相当一段时间了,但谷歌搜索一下就会发现G1也显示出了巨大的潜力

    为什么RMI系统中不推荐标记和扫描GC

    我不相信是这样

    是否可以在并行线程中运行GCs“引用计数”算法而不挂起应用程序本身

    虽然引用计数作为GC模式并没有被禁止,但任何JVM AFAIK都不支持它,因为它有许多限制,包括性能、内存使用和循环引用。我知道C++使用它,但与托管内存系统所做的相比,它是一个黑客。 注意:MappedBytebuffer出于某些目的使用引用计数。这是一个单独的用例

    有一个纯粹的并发收集器,其中最流行的可从Azul获得。注意:它实际上应该被称为“无暂停”,而不是“无暂停”,因为它显著减少了与GC相关的暂停,但并不能完全消除它们。(它通常用于Java中的低延迟交易系统。)

    如果您真的担心GC暂停,那么最好避免使用JavaRMI。它被设计成一个“全脂”功能齐全的RPC,可以做很多你可能从未想过要做的事情。序列化不是很有效,会产生大量垃圾。使用更有针对性的RPC解决方案可以将垃圾减少90-99%甚至更好

    为什么RMI系统中不推荐标记和扫描GC

    我不相信是这样

    是否可以在并行线程中运行GCs“引用计数”算法而不挂起应用程序本身

    虽然引用计数作为GC模式并没有被禁止,但任何JVM AFAIK都不支持它,因为它有许多限制,包括性能、内存使用和循环引用。我知道C++使用它,但与托管内存系统所做的相比,它是一个黑客。 注意:MappedBytebuffer出于某些目的使用引用计数。这是一个单独的用例

    有一个纯粹的并发收集器,其中最流行的可从Azul获得。注意:它实际上应该被称为“无暂停”,而不是“无暂停”,因为它显著减少了与GC相关的暂停,但并不能完全消除它们。(它通常用于Java中的低延迟交易系统。)

    如果您真的担心GC暂停,那么最好避免使用JavaRMI。它被设计成一个“全脂”功能齐全的RPC,可以做很多你可能从未想过要做的事情。序列化不是很有效,会产生大量垃圾。使用更有针对性的RPC解决方案可以将垃圾减少90-99%甚至更好

    为什么RMI系统中不推荐标记和扫描GC

    我不相信是这样

    是否可以在并行线程中运行GCs“引用计数”算法而不挂起应用程序本身

    虽然引用计数作为GC模式并没有被禁止,但任何JVM AFAIK都不支持它,因为它有许多限制,包括性能、内存使用和循环引用。我知道C++使用它,但与托管内存系统所做的相比,它是一个黑客。 注意:MappedBytebuffer出于某些目的使用引用计数。这是一个单独的用例

    有一个纯粹的并发收集器,其中最流行的可从Azul获得。注意:它实际上应该被称为“无暂停”,而不是“无暂停”,因为它显著减少了与GC相关的暂停,但并不能完全消除它们。(它通常用于Java中的低延迟交易系统。)

    如果您真的担心GC暂停,那么最好避免使用JavaRMI。它被设计成一个“全脂”功能齐全的RPC,可以做很多你可能从未想过要做的事情。序列化不是很有效,会产生大量垃圾。使用更有针对性的RPC解决方案可以将垃圾减少90-99%甚至更好

    为什么RMI系统中不推荐标记和扫描GC

    我不相信是这样

    是否可以在并行线程中运行GCs“引用计数”算法而不挂起应用程序本身

    虽然引用计数作为GC模式并没有被禁止,但任何JVM AFAIK都不支持它,因为它有许多限制,包括性能、内存使用和循环引用。我知道C++使用它,但与托管内存系统所做的相比,它是一个黑客。 注意:MappedBytebuffer出于某些目的使用引用计数。这是一个单独的用例

    有一个纯并发收集器,其中最流行的是fr