自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JVM底層原理解析,在這個(gè)開源項(xiàng)目里講透了

云計(jì)算 虛擬化
JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來的計(jì)算機(jī),是通過在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)的。

[[415998]]

JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,JVM是一種用于計(jì)算設(shè)備的規(guī)范,它是一個(gè)虛構(gòu)出來的計(jì)算機(jī),是通過在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能來實(shí)現(xiàn)的。

Java程序員們都知道,JVM 是咱們成為大神必須要跨過的一道坎,今天猿妹在Github周榜上發(fā)現(xiàn)了一個(gè)非常干的JVM開源項(xiàng)目——jvm,這個(gè)項(xiàng)目里面記錄一些創(chuàng)建者認(rèn)為需要重點(diǎn)掌握的JVM知識(shí)點(diǎn),通過這個(gè)項(xiàng)目學(xué)習(xí)后,如果你想更加全面地了解 JVM 底層原理,可以閱讀周志明老師《深入理解 Java 虛擬機(jī)——JVM 高級(jí)特性與最佳實(shí)踐(第 2/3 版)》全書。

這個(gè)項(xiàng)目主要內(nèi)容如下:

整個(gè)項(xiàng)目?jī)?nèi)容還是相對(duì)完整的,下面一起來看看【JVM內(nèi)存結(jié)構(gòu)】部分內(nèi)容:

Java 虛擬機(jī)的內(nèi)存空間分為 5 個(gè)部分:

  • 程序計(jì)數(shù)器
  • Java 虛擬機(jī)棧
  • 本地方法棧
  • 方法區(qū)

JDK 1.8 同 JDK 1.7 比,最大的差別就是:元數(shù)據(jù)區(qū)取代了永久代。元空間的本質(zhì)和永久代類似,都是對(duì) JVM 規(guī)范中方法區(qū)的實(shí)現(xiàn)。不過元空間與永久代之間最大的區(qū)別在于:元數(shù)據(jù)空間并不在虛擬機(jī)中,而是使用本地內(nèi)存。

Java 虛擬機(jī)棧的定義

Java 虛擬機(jī)棧是描述 Java 方法運(yùn)行過程的內(nèi)存模型。Java 虛擬機(jī)棧會(huì)為每一個(gè)即將運(yùn)行的 Java 方法創(chuàng)建一塊叫做“棧幀”的區(qū)域,用于存放該方法運(yùn)行過程中的一些信息,如:

  • 局部變量表
  • 操作數(shù)棧
  • 動(dòng)態(tài)鏈接
  • 方法出口信息

壓棧出棧過程

當(dāng)方法運(yùn)行過程中需要?jiǎng)?chuàng)建局部變量時(shí),就將局部變量的值存入棧幀中的局部變量表中。

Java 虛擬機(jī)棧的棧頂?shù)臈钱?dāng)前正在執(zhí)行的活動(dòng)棧,也就是當(dāng)前正在執(zhí)行的方法,PC 寄存器也會(huì)指向這個(gè)地址。只有這個(gè)活動(dòng)的棧幀的本地變量可以被操作數(shù)棧使用,當(dāng)在這個(gè)棧幀中調(diào)用另一個(gè)方法,與之對(duì)應(yīng)的棧幀又會(huì)被創(chuàng)建,新創(chuàng)建的棧幀壓入棧頂,變?yōu)楫?dāng)前的活動(dòng)棧幀。

方法結(jié)束后,當(dāng)前棧幀被移出,棧幀的返回值變成新的活動(dòng)棧幀中操作數(shù)棧的一個(gè)操作數(shù)。如果沒有返回值,那么新的活動(dòng)棧幀中操作數(shù)棧的操作數(shù)沒有變化。

 

目前,jvm已經(jīng)在Github上標(biāo)星6.1K,累計(jì)分支1.5K(Github地址:https://github.com/doocs/jvm)

 

責(zé)任編輯:武曉燕 來源: 開源前線
相關(guān)推薦

2021-07-05 07:51:43

JVM底層Python

2019-04-08 12:14:59

Elasticsear程序員Lucene

2024-08-27 12:32:32

2017-05-31 13:16:35

PHP運(yùn)行機(jī)制原理解析

2020-08-10 18:03:54

Cache存儲(chǔ)器CPU

2022-11-04 09:43:05

Java線程

2021-07-23 13:34:50

MySQL存儲(chǔ)InnoDB

2023-02-28 09:07:18

ChatGPTAI

2020-03-17 08:36:22

數(shù)據(jù)庫(kù)存儲(chǔ)Mysql

2020-04-27 09:40:43

開源項(xiàng)目 Bug

2020-03-26 16:40:07

MySQL索引數(shù)據(jù)庫(kù)

2021-01-12 14:46:34

Kubernetes開發(fā)存儲(chǔ)

2019-12-06 10:59:20

JavaScript運(yùn)行引擎

2021-07-12 09:45:36

NameServer 核心Conusmer

2021-04-21 10:27:17

JavaScript代碼項(xiàng)目

2023-11-20 07:10:48

用戶分析聚類算法

2023-08-11 07:44:40

TCP滑動(dòng)窗口數(shù)據(jù)

2021-12-01 18:36:35

屬性

2020-05-21 13:25:43

Spring組件架構(gòu)

2018-07-13 11:12:03

芯片設(shè)計(jì) IC
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)