java虛擬機,8大知識點,講得淺顯易懂,值得收藏!

2020-12-25 阿叔說研發

大家好,我是阿叔,專注分享職場、產品、研發、管理等相關經驗。

Java虛擬機是運行所有Java程序的虛擬計算機,是Java語言的運行環境,它屏蔽了與具體作業系統平臺相關的信息,使得Java程序只需生成在Java虛擬機上運行。

本文來重點介紹下Java虛擬機的以下幾個知識點:垃圾回收算法、對象引用、垃圾回收器、性能監控工具、堆內存分析、class文件結構、calss裝載系統、調優。

秉承一貫的風格,用思維導圖的方式來表現。如果大家喜歡這些內容,請點讚、收藏、轉發!關注「阿叔說研發」,更多的精彩還將繼續。

註:我會在評論區發布這些內容的高清原圖下載地址,需要的兄弟們請留意下評論區。

1. Java虛擬機 垃圾回收算法

2. Java虛擬機 對象引用

3. Java虛擬機 垃圾回收器

4. Java虛擬機 性能監控工具

5. Java虛擬機 堆內存分析

6. Java虛擬機 class文件結構

7. Java虛擬機 calss裝載系統

8. Java虛擬機 調優

相關焦點

  • Java學到什麼程度才能叫精通?
    阿里:阿里巴巴招聘官網Java 程式設計師必備書單核心基礎知識《圖解HTTP》(推薦,豆瓣評分 8.1 , 1.6K+人評價): 講漫畫一樣的講HTTP,很有意思,不會覺得枯燥,大概也涵蓋也HTTP常見的知識點。
  • Java學習必備書籍推薦終極版!
    JVM•《深入理解 Java 虛擬機(第 2 版)周志明》[9](推薦,豆瓣評分 8.9,1.0K+人評價):建議多刷幾遍,書中的所有知識點可以通過 JAVA 運行時區域和 JAVA 的內存模型與線程兩個大模塊羅列完全。
  • 心理學初學者必看書單,淺顯易懂,值得收藏!
    1.心理學與生活這本書是國外教材,淺顯易懂,貼近生活,教你從多個角度理解身邊的人和事,體會到神秘的心理學其實存在於我們生活中的每一個方面,非常適合初學者,而且這本書的熱度一直不低與上一本相比,這本書要簡短得多,搭配起來看更具體驗感。6.普通心理學這本書是國內得教材,書中大多都是在堆各種實驗和論證,很平淡,讀起來有一點點困難,需要有耐心才能讀完,如果剛開始實在看不下去,可以留到以後再看。7.
  • 深入分析Java虛擬機堆和棧及OutOfMemory異常產生原因
    前言JVM系列文章如無特殊說明,一些特性均是基於Hot Spot虛擬機和JDK1.8版本講述。: Java heap spaceat java.util.Arrays.copyOf(Arrays.java:3210)at java.util.Arrays.copyOf(Arrays.java:3181)注意:堆不能設置的太小,太小的話會啟動失敗,如上我們把參數大小都修改為2m
  • 深入理解Java虛擬機:類加載機制
    虛擬機把描述類的數據從Class文件加載到內存,並對數據進行校驗,解析和初始化,最終形成可以被虛擬機直接使用的Java類型。一、類的生命周期二、類加載時機必須對類進行"初始化"的情況:使用new關鍵字實例化對象的時候讀取或設置一個類型的靜態欄位(被final修飾、已在編譯期把結果放入常量池的靜態欄位除外)的時候。
  • 學習筆記 | Java虛擬機第一篇
    GCIH中的對象還能夠在多個Java虛擬機進程中實現共享。使用crc32指令實現JVM Intrinsic降低JNI的調用開銷。PMU hardware的Java profiling tool和診斷協助功能。針對大數據場景的ZenGC。
  • Java基礎知識點面試手冊(線程+JDK8)
    詳細請看Java虛擬機知識點面試手冊。volatile 關鍵字經典:https://www.jianshu.com/p/195ae7c77afe解析:關於指令重排序的問題,可以查閱 DCL 雙檢鎖失效相關資料。
  • Oracle獨家:Java虛擬機學習指南
    不管你是在準備面試、還是想進階 Java,Java 虛擬機絕對是一把助力的利劍。雖然我們和語言朝夕相處,但不少人提及代碼的詳細運行過程也難免會一時語塞。這都是由於 Java 虛擬機封裝得太好,讓使用者幾乎感覺不到它的存在,也導致不少初學者學習 Java 虛擬機時摸不著頭腦,找不到脈絡。
  • Java初學者入門指南,值得收藏~
    想想這些代碼中用到了哪些知識點。不要一味地照著書本敲代碼。而不去理解。1.Java程式語言,即語法。2.Java文件格式,即各種文件夾、文件的後綴。3.Java虛擬機(JVM),即處理*.class文件的解釋器。
  • 8千字java反射乾貨|java反射精講
    java反射機制精講目錄1. 反射機制的概念2. 反射的基礎Class類3. 反射的用法4.反射的應用示例反射機制的概念:在運行狀態中,對於任意一個類,都能夠獲取到這個類的所有屬性和方法,對於任意一個對象,都能夠調用它的任意一個方法和屬性(包括私有的方法和屬性),這種動態獲取的信息以及動態調用對象的方法的功能就稱為java語言的反射機制。反射被視為動態語言的關鍵。簡單來說反射就是java的各種成分映射成對應的java類。
  • 「原創」JVM系列02|Java虛擬機結構
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫Java虛擬機學習 Java 虛擬機,先要掌握其基本結構,了解各部分有什麼作用,各部分之間是如何協調工作的。
  • 為何白居易的詩比較淺顯易懂?其實真正會寫詩的人都用大白話!
    唐朝有那麼多的詩人,可是真正讓大家比較讀得懂的詩人,大概可能只有白居易了,他的詩可以說是淺顯易懂,差不多與白話差不多了。這也是為什麼,他的詩一直在民間廣為流傳,而且還流傳到了日本。據說在日本,他是最受歡迎的中國的詩人。
  • 給Java新手的一些建議——Java知識點歸納(Java基礎部分)
    JVM作為java運行的基礎,很難相信對於JVM一點都不了解的人可以把java語言吃得很透。我在面試有超過3年Java經驗的開發者的時候, JVM幾乎就是一個必問的問題了。當然JVM不是唯一決定技術能力好壞的面試問題,但是可以佐證java開發能力的高低。
  • 學習Java 從這些書開始吧
    其實Java並沒有想像中的那麼難,前提是做好一個心理準備,那就是你想走遠點,就得不間斷的去學習,去汲取知識,前期不能怕辛苦,不要閒下來就打遊戲,多看看各種開源項目的代碼,API的設計方式,各大網站的設計架構,理解各個環節的作用。
  • Java四大名著是什麼?java程式設計師提高技能的經典編程書籍推薦
    java編程的小夥伴有參考。學任何語言,基本的語法知識不能少,首推,Java四大名著( java編程思想+Effective java中文版+Java核心技術卷12),下面來具體介紹以下包含Java四大名著在內的java程式設計師類圖書。
  • 精通Java虛擬機必讀書籍推薦書單
    閱讀前需要知道Java虛擬機規範/Go語言書單4:Java虛擬機規範(Java SE 8版)Java虛擬機規範(Java SE 8版)推薦語:本書完整而準確地闡釋了Java虛擬機各方面的細節,圍繞Java虛擬機整體架構、編譯器、class文件格式
  • Java 8裡面 lambda 的最佳實踐
    帶有高效運行期編 譯器的Java虛擬機(JVM)的出現,使得程式設計師將精力更多放在編寫乾淨、易於維護的代碼上,而不是思考如何將每一個CPU時鐘、每一字節內存物盡其 用。多核CPU的出現成了「房間裡的大象」,無法忽視卻沒人願意正視。算法中引入鎖不但容易出錯,而且消耗時間。
  • Android虛擬機之 ART
    而且 JVM 是基於棧的虛擬機,而 Android 是基於寄存器的虛擬機上面提到棧和寄存器虛擬機,那麼它倆有什麼區別呢?  基於棧虛擬機讀取指令是在內存上工作的,而寄存器讀取指令則是在高速緩存區(寄存器)上工作,CPU 直接操作,執行更快。棧虛擬機更不依賴於硬體,而寄存器虛擬機會根據硬體來進行優化,所以不適合多平臺移植。並且如果做同一個操作,棧的指令比寄存器的指令更多。
  • 一篇文章全面吃透Java虛擬機,線程安全的實現方法
    由於java虛擬機的多線程是通過線程輪流切換並分配處理器執行時間的方式來實現的,所以,為了線程切換後能恢復到正確的執行位置,每條線程都需要有一個獨立的程序計數器,各條線程之間計數器互不影響,獨立存儲,所以我們說,它是線程私有的.
  • 好書一起讀(92):我的Java Web書單
    我答:Android和IOS的書籍沒列……javascript書籍:《Javascript權威指南》犀牛書厚,唯一的頂尖著作,上冊的每個章節都將一個知識點深入挖掘講透,必看。下冊API無關緊要。《Javascript高級程序設計》厚,與犀牛書有很大重疊,但感覺各個方面都不如犀牛書。