日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java虚拟机_Oracle独家:Java虚拟机学习指南

發(fā)布時間:2023/12/2 java 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java虚拟机_Oracle独家:Java虚拟机学习指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大家好,我是極客時間《深入拆解 Java 虛擬機》作者、Oracle Labs 高級研究員鄭雨迪。有幸借這個專題的機會,能和大家分享為何 Java 工程師要學 Java 虛擬機?如何掌握 Java 虛擬機?

工欲善其事,必先利其器

“為什么學 Java 虛擬機”這個問題,就和“為什么要學習數(shù)據結構和算法”是一個道理:工欲善其事,必先利其器。

我總結了三點必須要學好 Java 虛擬機的理由:

  • Java 已然是一門主流的工程語言,擁有大量的應用。作為 Java 語言的執(zhí)行引擎,Java 虛擬機的調優(yōu)一直是熱點話題,成為各大廠面試的壓軸題。

  • 此外,主流的 Java 虛擬機 -- 也就是 OpenJDK 的 HotSpot VM-- 是完全開源的。只要讀得懂 C++ 代碼,便能夠繞開網絡上的“二手”資料,直面 Java 實現(xiàn)的核心邏輯。

  • Java 在不斷地增添新特性、新功能,其中不少都“借鑒”自其他編程語言。同樣,通過學習 Java 虛擬機,在遇到其他語言實現(xiàn)時也能夠觸類旁通,迅速地完成調優(yōu)、排錯工作。

另外,我注意到國內大廠不再只滿足于使用開源項目,而是積極參與這些項目的開發(fā)。例如 Alibaba 在去年便已成為 OpenJDK 項目執(zhí)行委員會的一員,可以左右 Java 語言的發(fā)展。一旦越來越多的大廠加大對底層、對這些開源項目的投入,勢必會產生許多對高精尖技術專家的需求。

所以,作為一名 Java 程序員,在盡情享受 Java 虛擬機帶來好處的同時,你還應該去了解和思考“這些技術特性是如何實現(xiàn)的”,去了解最底層的原理。只有熟悉 JVM,你才能在遇到 OutOfMemory 等異常時,不會束手無策,不會一臉懵逼的上網找解決辦法,最后就算改了幾個啟動參數(shù)解決了問題,也還是云里霧里。

那該如何揭開 Java 虛擬機迷霧,深入底層,將 Java 虛擬機拿下?我分為 3 個階段來分享,每個階段大家又該具備哪些技能?

先附上一張我制作的「Java 虛擬機知識框架圖」,涵蓋了 Java 虛擬機的所有學習要點,建議保存。

此外,我去年在極客時間推出的《深入拆解 Java 虛擬機》專欄,就是希望你可以從底層出發(fā),揭秘 Java 虛擬機的工作原理,讓你更好地理解 Java 語言特性,寫出簡潔高效的代碼,并掌握診斷手法和調優(yōu)方式。同時,我也會講到 Orcale GraalVM 黑科技,讓大家了解到前沿技術熱點,比如編譯器 Graal、語言實現(xiàn)框架 Truffle 等待。不管你是在準備面試、還是想進階 Java,Java 虛擬機絕對是一把助力的利劍。

一、Java 虛擬機新手入門

雖然我們和語言朝夕相處,但不少人提及代碼的詳細運行過程也難免會一時語塞。這都是由于 Java 虛擬機封裝得太好,讓使用者幾乎感覺不到它的存在,也導致不少初學者學習 Java 虛擬機時摸不著頭腦,找不到脈絡。

Java 虛擬機的基本原理及運行機制,對于初學者來說,是必須要掌握的,至少我是這么要求的。不然根基不牢,何來平地高樓起。

所以我也花了一整個模塊的篇幅來逐次介紹 Java 虛擬機的設計決策以及工程實現(xiàn),讓大家在學習 Java 虛擬機時,可以知其然,也要知其所以然。

以下是專欄里的部分原理內容,大家對照著,看看是否已掌握。

  • Java 代碼有很多種運行方式,那 Java 虛擬機具體是怎樣運行 Java 字節(jié)碼的?[第 1 講 | Java 代碼是怎么運行的?]

  • boolean 在 Java 虛擬機是以整數(shù)形式表示的 --0 代表 false,1 代表 true。那么 2 又代表什么呢?為什么要這樣設計?[第 2 講 | Java 的基本類型]

  • 都說反射慢,究竟為什么慢?[第 7 講 | JVM 是如何實現(xiàn)反射的?]

  • 垃圾回收的原理是什么?如何優(yōu)化? [第 11 講 | 垃圾回收]

  • Java 內存模型是在解決什么疑難雜癥? [第 13 講 | Java 內存模型]

二、進階 Java 虛擬機

告別了 GRUD 研究員,如果你想再進一步進階,那么以下是知識點是你必須要掌握的。弄懂了這些,你基本上掌握了面試官 80% 的問題。

  • 怎么判定對象已經“死去”?垃圾回收的原理是什么? [第 11 講 | 垃圾回收(上)]

  • Java 虛擬機的堆是如何劃分的? [第 12 講 | 垃圾回收(下)]

  • Java 內存模型是在解決什么疑難雜癥? [第 13 講 | Java 內存模型]

  • 如何用紅綠燈類比 Java 虛擬機中的各項鎖優(yōu)化?[第 14 講 | Java 虛擬機是怎么實現(xiàn) synchronized 的?]

  • 即時編譯器有哪些優(yōu)化?[第 16 講 | 即時編譯(上) ]

  • 即時編譯器應用了哪些面向循環(huán)的編譯優(yōu)化?[第 25 講 | 循環(huán)優(yōu)化]

  • JVM 垃圾回收算法

當然,我希望大家能系統(tǒng)學習 Java 虛擬機,而不是為了面試去刷題。更要的是希望這個專欄能激發(fā)出大家學習 Java 虛擬機乃至其他底層工作、前沿工作的熱情。

就像我開設這個專欄一樣,為不辜負大家的信任,我?guī)缀趺科獙诙紩罅块喿x HotSpot 的源代碼,和同事討論實現(xiàn)背后的設計理念,在這個過程中,我也發(fā)現(xiàn)了一些 HotSpot 中的 Bug,或者年久失修的代碼,又或者是設計不合理的地方。苦中有樂,忙碌中又有驚喜。

《深入拆解 Java 虛擬機》3 月 20 日(3 天后)起漲價至¥99,限時拼團¥58

三、Java 虛擬機高手

在我的專欄中,有一條令我印象頗深的留言,講的是他如何解決反射調用效率低下的問題。之所以印象深刻,是因為他的做法和 Java 虛擬機中附帶的自動優(yōu)化方式完全一致。換個角度來看,他其實已經具備為 Java 虛擬機設計優(yōu)化的能力,也完全可以將這一優(yōu)化實現(xiàn)回饋給 OpenJDK 社區(qū)。

舉一反三,主動的解 t 決問題,且能回饋開源。這必然是高手需要具備的能力之一。

這時候大家必須去想的一個問題:如何讓 Java(以及其他 Java 虛擬機語言,如 Scala、Kotlin 等)跑得更快?

主要分三個方面去考慮:

  • 什么是虛方法調用?如何消除虛方法調用開銷?[第 20 講 | 方法內聯(lián)]

  • Java 虛擬機是如何進行硬件加速的?[第 22 講 |HotSpot 虛擬機的 intrinsic]

  • 我需要手工避免 new 語句嗎?[第 23 講 | 逃逸分析]

另外,我也推薦你看看專欄里這些內容,追上 JVM 的前沿技術熱點:

  • 第 34 講 | Graal:用 Java 編譯 Java

  • 第 35 講 | Truffle:語言實現(xiàn)框架

  • 第 36 講 | SubstrateVM:AOT 編譯框架

再之,Java 虛擬機有很多工具,需要大家熟練掌握,比如 javap-- 能夠將 class 文件反匯編人類可讀格式的工具;OpenJDK 項目 Code Tools-- 包含了好幾個實用小工具,又或者是 ASM--Java 字節(jié)碼框架等等。

在專欄里,我專門有幾篇文章來介紹各類工具的使用:

  • 如何通過注解處理器自動生成業(yè)務邏輯? [第 27 講 | 注解處理器]

  • 如何標準化地衡量程序性能? [第 28 講 | 基準測試框架 JMH]

  • 如何對 Java 虛擬機進行監(jiān)控及診斷?[第 30 講 | Java 虛擬機的監(jiān)控及診斷工具(命令行篇)]

3 天倒計時福利

《深入拆解 Java 虛擬機》3 月 20 日(3 天后)起漲價至¥99,限時拼團¥58,已超過 2.2w 人加入學習,想認真進階 Java 的同學,請抓緊搭上這趟末班車(方式:點擊下圖)

下面給大家截了部分讀者評價,你可以參考。

可以點擊看大圖

額外福利:

今日參團,還可獲得 Java 學習禮包:鄭雨迪總結的《Java 虛擬機知識圖譜》+《Java 經典圖書 *6》+《Java 面試卡片》。(具體操作:將截圖在后臺,審核通過后立即獲得鏈接。)

點擊“”,試讀或訂閱

總結

以上是生活随笔為你收集整理的java虚拟机_Oracle独家:Java虚拟机学习指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。