Java-JVM(一)

##JVM
jvm指的就是java虛擬機,可能把這麼生硬的詞給你,那你可能體會的可能有點生硬,或者不是特別容易懂,最近一段時間體會還是挺深 的,因爲這次接觸到了很多與硬件相關的東西,而這個時候的程序就要從高級語言轉變爲01,所以體會很多,首先從最簡單的開始,之後會不斷的更新


##過程
這次我是於硬件交互,這樣說的話不太確切,其實是屬於物聯網,通過網絡傳輸,然後和硬件去交互,總結一句話就是幹這個的,最開始的.java 文件經過編譯變爲.class文件,然後通過java的JVM變成轉換爲01,然後通過網絡傳輸。

這裏寫圖片描述


##JVM運行
最開始的時候我只知道堆棧,然後一個存對象一個變量還有代碼,但是這都一些比較淺顯的概念,這次有了不一樣的感悟
這裏寫圖片描述


##程序計數器
聽到這個是不是感覺特別的熟悉啊,但是你有沒有想過爲什麼會有程序計數器:程序計數器的作用是什麼?
其實到jvm的時候就不得不提到線程了,進程只是一個很泛泛的詞,其實真正幹活的是線程,所以線程是調度的單位,而在線程運行的時候我們是有爭奪資源的,根據一定的時間片然後去運行
如果最開始的時候A在運行但是突然時間片到 了,,或者是b的優先級要比A的高,那麼這個時候B就要執行,所以程序計數器在這裏起到的作用就是記錄當前A的線程位置或者是序號把。


##虛擬棧
當前線程中所需要的內容,例如mian線程,方法,變量,這是就是棧最終要乾的事情。

這裏寫圖片描述

##方法區
存放方法的,這個比較簡單,不過裏面有一個this
##heap
補充

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