話說不想做一個只會寫if(){}else{}的程序員就得努力學習,但是沒有什麼好的方向,姑且好好理解下java底層吧 。同時轉一下注意力,剛要對愛情充滿各種美好,瞬間又成了單身狗了 ~~~
1.java體系結構四個獨立但卻相關聯的的技術
a.java程序設計
b.編譯後的.class文件
c.調用的借口API
d.虛擬機
2.虛擬機
裝載class文件並執行其中的字節碼;
裝載:虛擬機中包含一個裝載類class loader,它可以從程序和api中裝載class文件。
執行:123是由軟件實現的
①最簡單的執行引擎一次性解釋字節碼
②即時編譯器 占用內存做緩存供後續重用
③自適應優化器 把使用頻繁的編譯成本機代碼
④硬件實現 執行引擎卸載芯片裡面
java中有兩種方法:java方法(java語言實現)和本地方法(肯能是C、C++或是匯編等實現)。虛擬機裝載時會把本地方法裝載到動態庫中,本地方法是連接java程序和底層主機操作系統的橋梁
2.裝載器
啟動類裝載器
用戶自定義類的裝載器
3.java class 文件
java class 文件是可運行在任何支持java虛擬機的硬件平台和操作系統上的二進制文件
4.java API
java API是運行庫的集合,她提供了訪問主機資源的標准方法
P36