91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

發布時間:2020-05-24 01:08:10 來源:網絡 閱讀:204 作者:wx5d9ed7c8443c3 欄目:編程語言

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中cdn.xitu.io/2019/11/12/16e5ea36aa6e617d?w=477&h=178&f=png&s=90057">

前言

JVM是Java的核心和基礎,在Java編譯器和os平臺之間的虛擬處理器。它是一種基于下層的操作系統和硬件平臺并利用軟件方法來實現的抽象的計算機,可以在上面執行Java的字節碼程序。

java編譯器只需面向JVM,生成JVM能理解的代碼或字節碼文件。Java源文件經編譯器,編譯成字節碼程序,通過JVM將每一條指令翻譯成不同平臺機器碼,通過特定平臺運行。

這里就給大家講一下JVM。

JVM是什么?

JDK: java development kit (Java開發工具包) 編譯、反編譯、調試等。

JRE: java runtime enviroment (Java運行環境)

JVM: java Virtual Mechinal (Java虛擬機) 一次編寫,到處運行!

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

學JVM的目就是:

提升代碼質量、解決項目問題。

面試!面試!還是面試!

JVM是怎么玩的

類加載器:Class字節碼文件加載到內存

執行引擎:解析字節碼指令,得到執行結果

運行時數據區

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

JVM運行時數據區

線程私有

  • 程序計數器
  • 虛擬機棧
  • 本地方法棧

線程共享

  • 方法區

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

BAT的JVM面試題

JVM什么情況下會發生棧內存溢出?

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

JVM中一次完整的GC流程是怎樣的?

  • GC——垃圾回收
  • 完整意味著有多種情況

程序計數器

指向當前線程正在執行的字節碼指令的地址(行號)

棧是什么?

棧(Stack)

  • 入口和出口只有一個
  • 入棧
  • 出棧

FILO

  • 先進后出

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

虛擬機棧

虛擬機棧

創建一個線程就為線程分配一個虛擬機棧,它又會包含多個棧幀,因為每運行一個方法就創建一個棧幀。

  • 運行時才有數據

棧幀

運行一個線程中的一個方法

  • 局部變量表
  • 操作數棧
  • 動態連接
  • 返回地址

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

深入理解虛擬機棧

演示一段代碼的方法的執行過程

代碼:

public int calc(){
int a=100;
int b=200;
int c=300;
return(a+b)*c;
}

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

虛擬機棧的異常

StackOverFlowError異常

  • 原因:執行的虛擬機棧深度大于虛擬機棧允許的最大深度(方法的遞歸調用)。
  • 解決辦法:增加默認棧的容量。

棧容量 -Xss 默認1M

OutOfMemeoryError異常

  • 原因:多線程環境下虛擬機在擴展棧時無法申請到足夠的內存空間。
  • 解決辦法:減少默認棧的容量來換取更多的線程支持。

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

JVM中線程共有的內存區域

Java堆

  • Java堆是被所有線程共享的一塊內存區域
  • 所有的對象實例以及數組要在堆上分配

元數據區

  • 老版本名稱:方法區(永久代)
  • 類信息、常量、編譯后的代碼信息

直接內存

Java架構師必備技能—JVM系列:不識JVM真面目,只緣身在增刪查改中

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼勒克县| 安新县| 青冈县| 开平市| 页游| 石泉县| 福贡县| 西峡县| 商水县| 杭锦旗| 东兰县| 柘城县| 成安县| 青州市| 扎囊县| 湖州市| 望城县| 贵州省| 万载县| 诸城市| 灵丘县| 宁明县| 石城县| 武陟县| 景宁| 乌什县| 昌都县| 芜湖市| 莱州市| 乌拉特前旗| 莆田市| 弋阳县| 辽阳市| 乡城县| 宝清县| 甘泉县| 漳州市| 东乡| 合阳县| 大宁县| 溧阳市|