2015-10-17 59 views
1
  • 在與stackoverflow中的日曆對象相關的問題上出現了問題。讀這個問題讓我問自己一個問題:'如果我們能夠找到一個物體的年齡怎麼辦?以小時/天/周/月/年爲單位的物體年齡。我們能做些什麼呢?它會有所幫助嗎?它會幫助我分析我的程序運行時? '計算物體年齡的好處是什麼?

  • 我想我們可以將對象的年齡與單身對象的年齡聯繫起來,因爲它在應用程序的生命週期中存在。從這個意義上說,單身物體從那時開始裝載,它在應用程序結束時開始其生命並結束生命。但是同樣可以擴展到非單例對象。

  • 我認爲這個問題可能值得追求,但我想從stackoverflow社區確認。你認爲我們可能遇到應用程序/系統運行時的場景,我們需要計算JVM或運行時內存中對象的年齡等。通過計算,我們可以爲應用程序做出一些決定。

  • 經過一些小的研究,發現垃圾收集器需要注意物體的年齡。

所以,我想知道的是以下幾點:

  1. 如果我們能找到一個對象的年齡?以小時/天/周/月/年爲單位的物體年齡。我們能做些什麼?
  2. 它會有所幫助嗎?
  3. 它可以幫助我們分析我的程序運行時間並做些什麼,它會是什麼?
  4. 什麼是應用程序運行時/場景中可能受益於對象計算年齡的可能/可能部分?
  5. 在開發/調試/現場問題期間,您是否遇到過這種情況?您希望如果能夠計算某個對象的年齡,它會受益嗎?

(希望這可能不會得到downvoted,只是想補充一點,我很想問問stackoverflow社區,道歉,這不是一個適合在這裏被問到的編程練習。這個問題。)

+1

閱讀上[代垃圾收集(http://c2.com/cgi/wiki?GenerationalGarbageCollection)。 – aioobe

+0

謝謝,將它讀起來 –

回答

1

我不知道會有什麼好處。我想,這可能有助於某些性能調優和調試問題。

但是,除非對象被編碼以記錄其自己的年齡,否則沒有實際的方法來執行此操作(在標準Java中)。這將會帶來巨大的時間和空間成本。


經過一些小的研究發現,垃圾收集器需要了解的對象的年齡。

其實,代GC只需要大概的年齡。它可以根據對象當前的居住地點來確定;即它當前分配了什麼「空間」


對於Java語言和主流的實現......

如果我們能找到一個對象的年齡?

總的來說,我們不能。一般來說,這使得剩下的問題「模擬」。

我們能做些什麼?

模擬。

它會有幫助嗎?

模擬。

它可以幫助我們分析我的程序運行時間並做些什麼,它會是什麼?

在某些情況下,可能是的。然而問題是沒有意義的。

什麼是可能受益於計算對象計算年齡的應用程序運行時/場景的可能/可能部分?

可能的性能調整。可能調試。然而問題是沒有意義的。

在開發/調試/字段問題期間,您是否遇到過一個場景?您希望如果它能夠計算對象的年齡,它會受益嗎?

可能。 (我已經編程了40多年,在這段時間內很難記住我所做的一切。)但是我沒有強調它。另外,我從來沒有考慮過(假設)記錄每個對象的生命週期的好處是值得的。

但是,如果您正在設計/實施一種新的實驗性編程語言,請隨時在功能列表中包含此功能。如果它是一個有用的功能,應該有一些研究論文。


1 - 和(冷笑),即使不:-)

+0

謝謝。如果我偶然想到設計一種實驗語言,就會試試這個。 –