finalizer

    0熱度

    1回答

    我們有一個java web應用程序,它通過JMS發送(JobsController.java)並接收消息(JMSMessageListener.java)。恆定負載下運行的應用程序24小時,採取堆轉儲後,我觀察內存使用量的不斷增加,應用程序不放手,當處於空閒狀態。我知道這會導致java堆內存不足的問題。 JobsController是一個EJB無狀態Bean和它的資源每次通話後正確銷燬。 JMSM

    2熱度

    1回答

    在下面的代碼不工作: class ExampleClass def initialize ObjectSpace.define_finalizer(self, proc{puts 'dead'}) end end ex = ExampleClass.new ex = nil GC.start while true # the while lo

    0熱度

    1回答

    當python進程的主線程關閉時(通常還是未捕獲的異常),有沒有辦法執行一個函數? 我希望atexit.register將提供該功能,但顯然它當主線程終止不會被調用 - 只有當已經終止所有線程。因此,作爲打算在代碼不起作用: import atexit import threading done = False def stop_child_thread(): global d

    1熱度

    2回答

    我想在垃圾收集器收集對象時發出HTTP請求。我在這個班的最後一班給了一個簡單的電話,只要應用程序沒有關閉,工作正常。 當程序結束後,我的應用程序要關閉,GC作爲前調用終結,但這次請求被卡住或只是退出沒有例外。至少Studio不顯示異常,程序只在發送呼叫時終止。我不得不使用Dispose而不是終結器。如果可能的話,我們可以從中找到一種方法。 :) 這裏是我的代碼的重要組成部分: class MyEx

    1熱度

    2回答

    我正在研究一個應用程序,其目的是儘可能快地計算報表。 我的應用程序使用了大量的內存;超過100 Go。 自我們上次發佈以來,我注意到一個很大的性能放緩。我的調查顯示,在計算過程中,我在40到60秒之間得到了很多垃圾回收! (JMC告訴我,他們是SerialOld,但我不知道它究竟意味着),當然,當JVM的垃圾收集,應用是絕對凍結 我現在調查這些垃圾收集的來源......這是一項非常艱苦的工作。 我

    1熱度

    1回答

    我有一個對象解析文本文件。這是我的主要程序: program main use Parser_class implicit none type(Parser) :: Parser call Parser%ProcessFile('data.txt') call Parser%Deallocate end program main 其中類型定義 module Parser_class

    1熱度

    1回答

    今天我們收到了一個掛起應用程序的CrashDump。通過DebugDiag運行它,我們獲得了以下信息: Analysis Summary Error Description Recommendation The finalizer thread 5 in this WordHangs.dmp is blocked Review the callstack for the Finalizer thr

    0熱度

    1回答

    我們在數百個客戶端中安裝了WinForms應用程序。在其中一些內存中,隨着時間的推移,內存使用率開始上升,顯然沒有理由,直到OutOfMemoryException最終被拋出。 我們使用DebugDiag集合和分析來試圖理解問題。我們得到了these warnings。 所以,首先要看的是Finalizer線程,因爲有一個巨大的對象隊列(42K)準備好完成。這是它的調用堆棧怎麼看起來像在轉儲的時間

    0熱度

    2回答

    我有一個類收集一個字符串。有一個方法Commit,它將字符串寫入目標文件。 如果一個字符串被收集,但提交從未被調用,我想報告一個錯誤到一個日誌文件。 IDisposable不會解決問題,因爲依賴者會忘記調用它。 我實現了一個終結,但得到編譯器錯誤: The class has a finalizer implemented in it. Consider deriving from IDispos

    10熱度

    1回答

    的端部執行從文檔?reg.finalizer: 除其他外,它提供了一種方法的程序代碼來運行在R會話結束時不操作.Last。爲了在包中使用,在命名空間中的對象上設置終結器通常是一個好主意:然後它將在會話結束時或在命名空間卸載後立即被調用,如果在會話期間完成的話。 看來我可以使用reg.finalizer()在R會話結束時運行某些代碼,但它不適用於我。我已經準備了一個最小的包在https://gith