JVM中物件訪問定位兩種方式

lonecloud發表於2017-09-12

1.通過控制程式碼方式訪問,

  在Java堆中分出一塊記憶體進行儲存控制程式碼池,這樣的話,在棧中儲存的是控制程式碼的地址

優點:

  當物件移動的時候(垃圾回收的時候移動很普遍),這樣值需要改變控制程式碼中的指標,但是棧中的指標不需要變化,因為棧中儲存的是控制程式碼的地址

缺點:

  需要進行二次定位,尋找兩次指標,開銷相對於更大一些

2.直接指標訪問方式

  Java棧直接與物件進行訪問,在Java堆中物件帆布中必須考慮儲存訪問型別的資料的相關資訊,因為沒有了控制程式碼了

優點:

  速度快,不需要和控制程式碼一樣指標定位的開銷

相關文章