1

コレクションとそれらにまつわるオーバーヘッドについて、以下を読みました。
私はコンピューターサイエンスのバックグラウンドを持っていないので、素人が拾うために誰かがこれをもう少し深く理解してくれれば幸いです:

32 ビット プラットフォームの典型的な 8 文字の文字列では、25% がデータで、75% が JVM オーバーヘッドです (当然のことです)。
オーバーヘッドを 20% 以下にするには 96 文字が必要です。これは私が理解できなかった部分です。
おそらく、より長い文字列がより効率的であることを示唆しています(コレクションについても同じです)。
どうですか?

4

1 に答える 1

2

それは文の意味ではありません。意味は、文字列が占有する総メモリを8文字数が占めている場合25%、オーバーヘッドはおよそ24バイトであることを意味します。

したがって、96文字列では、そのオーバーヘッドは

24 / (24+96) = 20%

したがって、文字列が長いほど絶対的に効率的というわけではなく、文字列の長さに関係なく固定されるオーバーヘッドが、短い文字列と比較して、占有されるメモリの合計に対する割合での影響が少ないという意味で、より効率的です。

于 2013-11-02T18:26:58.747 に答える