JVM規範(JSE 8版)中提到:在JVM堆分配或棧分配框架?
第12頁:2.5.2 JVM棧: 「因爲JVM堆從不直接操縱除了壓入和彈出的幀,幀可以是堆分配」 「框架: 」從創建框架的線程的JVM堆棧中分配框架。「 並在第16頁: 「請注意,線程創建的框架是該線程本地的,並且不能被任何其他線程引用。」
這聽起來讓我感到困惑。由於幀是創建幀的線程本地的,爲什麼在堆中分配幀,因爲堆是在所有JVM線程之間共享的?除非在這裏遺漏某些東西,否則沒有任何意義。第12頁的句子是一個有趣的陳述。
任何提示?謝謝。
「可能堆分配」,我的猜測是,可能存在,因爲它依賴於實現並且沒有JVM規範的固有限制。 JVM實現者可以按照他們想要的方式自由地實現堆棧。 – kosa 2014-11-04 18:14:09