【JVM】開篇

本文是開篇,不涉及技術層面的知識。

一、jvm是什麼

1. 百度百科上的概念

JVM是Java Virtual Machine(Java虛擬機)的縮寫,JVM是一種用於計算設備的規範,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。
——百度百科

2.作用

  1. 實現一處編譯到處運行

這是java語言能夠一處編譯到處運行的根本,一般不同操作系統都會對應一個jvm,我們只需要編寫好java源代碼,編譯成class文件,就可以放到任意一種的操作系統上已經安裝好的jvm中運行。
jvm在各種操作系統中的存在相當於一個進程,它的底層是調用操作系統的指令實現的。

  1. 執行class文件
    jvm有自己完善的硬件架構,能夠幫我們實現類加載,將class文件轉換成操作系統的指令,優化class文件。

3.特性

  1. 移植性。上面也有講到,就不重複了。
  2. 成熟性。Java,誕生於1995年,原屬於SUM公司,在1996,JDK1.0正式發佈,jvm就誕生了,時間越長成熟性就越高。
  3. 覆蓋面。

4.jvm中的程序執行流程

在這裏插入圖片描述

二、JVM的五大模塊

1.類裝載器子系統

用來將.class文件裝載到內存中
在這裏插入圖片描述

2.*運行時數據區

這個是我們應該瞭解的重點。
這一模塊講的是jvm在運行時,它所佔據的內存結構
在這裏插入圖片描述

3.執行引擎

執行引擎是jvm核心組成部分之一,建立在物理器,硬件和操作系統層面之上,引擎在執行代碼時會有解釋執行和編譯執行兩種選擇,輸入字節碼文件,字節碼解析輸出結果.

就是將.class文件轉換爲操作系統的指令。

4.*本地方法接口

這裏涉及到本地方法棧,本地方法庫,這是我們要學習的重點

5.*垃圾回收機制

GC策略/算法、GC分析、JVM調優等,這也是我們要學習的重點。

三、最後

以後關於【JVM】的文章都會圍繞這五個模塊來講,爭取精通JVM。

——————————————————————————————
如果本文章內容有問題,請直接評論或者私信我。
從文中也可以看出,我有很多概念都是不熟悉的,不懂纔要學嘛。
我相信,輸出型學習的效率是最高的,從現在開始我也會堅持每一篇博客都會原創,絕不復制粘貼其他博客上的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章