2013-11-02 30 views
1

我閱讀了以下關於收藏和周圍的開銷。
因爲我沒有計算機科學的背景,將不勝感激,如果有人通過這更深入一點得到了一個門外漢拿起:收藏和內容

在一個典型的8個字符的字符串,在32位平臺上,25 %是數據,75%是JVM開銷(可以理解)。
需要96個字符的開銷爲20%或更少 - 這是我無法理解的部分。
它可能暗示更長的字符串更有效率(對於集合也是如此)。
這是怎麼回事?

回答

2

這不是句子的意思。其含義是,如果8字符佔字符串佔用內存總數的25%,那麼這意味着開銷大致爲24字節。

所以在96字符字符串,你有開銷

24/(24+96) = 20% 

所以更長的字符串是在絕對數量沒有更有效的,它是在這個意義上更有效的開銷,無論是固定字符串長度,與佔用內存的總數相比,對較短字符串的影響較小。