簡體   English   中英

我們可以在java中定制垃圾收集器嗎?

[英]Can we have a customized Garbage collector in java?

我們知道java的垃圾收集器是一個低優先級的線程。 在java中,我們可以創建任何具有高優先級的線程。 因此可以擁有我們自己的具有可變優先級的自定義垃圾收集器線程(我們可以根據內存管理的級別進行設置)。

有人試過嗎 如果是,你可以分享一些關於如何及其邏輯的知識嗎? 謝謝

Java的垃圾收集器不是“低優先級線程”。 例如,垃圾收集通常並行使用多個線程。 而且,當內存不足時,垃圾收集可以搶占任何應用程序線程。

我建議研究垃圾收集調整指南,以確定最適合應用程序的垃圾收集器類型,以及如何調整其參數。

Java中的垃圾收集已經過多年的精心調整。 這是可能的,但你不太可能做一些在這個領域有特殊需要的特殊事物。

但我認為更有可能的是,您認為與垃圾收集器有關的任何問題都是您的應用程序中存在的問題。 更多猜測:

  • 您不必要地創建和丟棄了很多對象。
  • 你有內存泄漏。
  • 您的應用程序中存在性能問題。
  • 你有不可能的表現期望。

是的,你可以,但它需要你做一些相當硬的核心JVM工作,因為你無法從正在運行的Java程序中做到這一點。 最簡單的入門方法可能是使用Jikes RVM,因為它是用Java編寫的(一個IBM項目已經開源)。

http://jikesrvm.org/

玩得開心,但期待一場艱苦的戰斗:)

我相信你必須部署自己的JRE / JVM。 無法關閉Java中的默認垃圾回收。

Java 7將使用一個全新的GC,因此應該可以將它們交換掉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM