目錄
1 JVM模式
Java是編譯型和解釋型混合 mixed mode
java的解釋器逐條解釋,這個逐條解釋的問題就是我們理解的那個逐條解釋,也就是說如果有個for循環,解釋器在每個循環都會解釋執行循環體。針對這種場景,jvm採用JIT的方式的進行優化,將這種循環體編譯成機器碼,這樣就不用每次循環都去解釋執行,而是直接執行,省去解釋的過程。
圖中Server表示以服務器模式運行,server模式運行速度快,client模式啓動速度快。一般都是以server模式啓動。
1.2 JVM與JRE
jvm其實耳熟能詳,到底什麼才能虛擬機,是個靜態的概念,還是個動態運行的實體。jvm和線程關係(普通線程/守護線程)?
jvm其實包含,classLoader, 執行引擎,運行時數據區。
JVM顧名思義就是虛擬出來的一個計算機,有自己的內存和硬件等。
jdk文件夾中有個jre,這個jre就是運行時環境,jre有兩個重要的文件夾 bin和lib。其中bin就對應着我們俗稱的jvm,lib則是jvm運行時所需要的類庫。我們常見的lang包和util包就在這裏