Re: [問題] 關於static method 在class initializa …
※ 引述《akaing (平心靜氣談問題最難)》之銘言:
: 最近在自行研究Java的Initialization
: instance varible 和constructor 的情況大致上已經了解了.
: 現在是想針對.class檔在runtime時期初次讀入JVM(Class initialization的其中一種),
: 進行Loading Linking Initializing的過程中
: 1.static method 會在何時載入Ram,以及是載入在那種儲存裝置
: stack,heap,還是static storage中?
: 2.是優於static fields和static initializers的Initializing
: 還是早在其它階段就已完成。
第二點是指優於 static fields 的甚麼?(static field initializer?)
class initializer 與 static field initializer 是在 Initialization 階段
進行,而且這兩種 initializer 實際上是 static method,所以 static method
allocation 一定得在 Class Initialization 之前就進行。
static method allocation 比較合理的時機是介於 Verification 與
Class Initialization 之間,因為至少要驗證過 method bytecode 是合格的。
至於為 static field 與 static method 配置記憶體(與初始化記憶體內容)應該
是沒有一定要哪一個先。如果 method 要經過 JIT 編譯成 native code,或許
static field allocation 會早於 method allocation。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.134.151
※ 編輯: sbrhsieh 來自: 218.173.134.151 (01/06 01:20)
推
01/06 05:29, , 1F
01/06 05:29, 1F
→
01/06 05:31, , 2F
01/06 05:31, 2F
→
01/06 05:33, , 3F
01/06 05:33, 3F
推
01/06 05:37, , 4F
01/06 05:37, 4F
→
01/06 14:49, , 5F
01/06 14:49, 5F
推
01/06 17:20, , 6F
01/06 17:20, 6F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):