2010-05-25 53 views

回答

5

我不知道你用術語的意思是「字符串地方內存「,但是在虛擬機中存在字符串文字池這樣的東西,因此字符串文字彙集(並重用)。見Java語言規範部分3.10.5:

http://java.sun.com/docs/books/jvms/second_edition/html/Overview.doc.html#1732

http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#100960

你提到上面詳細介紹在VM規範的運行時數據區部分中的其他事情希望解釋更多一點(使用正確的術語)。

+0

感謝鏈接喬恩:) – 2010-05-25 06:38:34

+0

+1有趣的鏈接! – oedo 2010-05-25 06:57:36

3

我從來沒有聽說過,和谷歌搜索沒有找到它的任何提及。你能告訴我們你聽說過Java的「字符串本地內存」嗎?我不相信這是一個標準的術語。

(我真的不知道你所說的「臨時」或「註冊表」無論至於JVM而言。意思)

+0

這是Java架構師在面試中提出的問題。仍然在尋找這個奇怪的術語:) – 2010-05-25 06:22:58

+0

喬恩是否有JVM中的任何其他內存,不包括此方法區域,堆棧,堆,溫度和註冊表? – 2010-05-25 06:28:49

+0

@Srinivas:正如我所說,我甚至不確定「臨時」和「註冊表」。通過「方法區域」,我假設你指的是JITted代碼。這聽起來像是這位Java架構師感到困惑,可能與其他答案中提到的字符串文字池有關。 – 2010-05-25 06:34:37

2

從來沒有聽說過「字符串本地內存」。不過,我聽說過「線程本地」內存。這就是訪問給定ThreadLocal對象的每個線程獲取不同的值,完全取決於它是哪個線程。如果你問我,我還沒有必要使用它 - 感覺太神奇了。

查看http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ThreadLocal.html瞭解更多詳情。

我之所以提到這一點是因爲「字符串」和「線索」在「長,靈活,非常非常瘦的材料」中意味着非常相似的東西,並且來回翻譯可能會導致混淆。

3

在JVM中的存儲器被分成 方法區,棧,堆,溫度和 註冊表。

不,它不是。它被分成堆棧,堆,方法區和常量池。請參閱the JVM Specification

什麼是字符串本地內存?

不知道。什麼是'Temp'和'Registry'?

無論你從中得到這個是錯誤的。

相關問題