1. JVM為以下內容提供定義:
一套指令系統
一組寄存器
類文件格式
堆棧
垃圾回收堆
內存區
致命錯誤報告
高精度定時支持
JVM執行三個任務
加載代碼
校驗代碼
執行代碼
2. 類加載器
加載程序執行需要的全部類
將本地文件系統的類保存在單獨的命名空間中
3. 數據存放在什麼地方?
棧Stack
。基本類型數據
。對象的引用句柄
。每個線程都有一個棧
。棧內數據都是私有的
。方法執行完後自動回收內存空間
堆Heap:
。存儲的全都是對象
。JVM只有一個堆空間
。堆的數據可被所有線程共享
。由系統GC來回收內存空間
4. 基本類型和引用類型
基本類型
變量直接包含了具體的值,存儲在棧(Stack)中,存取比引用類型高效
引用(Reference)類型
new出來的對象被放置在堆(Heap)中,變量實際是指向一個對象的句柄