Java虛擬機器體系結構由幾部分組成?
Java虛擬機器體系結構圖如下:
Java虛擬機器體系運作順序:
class檔案通過類裝載子系統將資訊存入執行時資料區(包括方法區、堆、Java棧、程式計數器、本地方法棧),執行引擎通過一定的規範去解釋執行。本地方法能通過執行引擎也能自己去呼叫執行時資料區。
Java虛擬機器體系結構解釋:
1) 類裝載器子系統
Classloader是JVM的一個子系統,用於載入類檔案。
2) 方法區
方)區儲存每個類結構,例如執行時常量池,欄位和方法資料,方法的程式碼等
3) 堆
它是分配物件的執行時資料區。
4) Java棧
它儲存區域性變數和部分結果,並在方法呼叫和返回中起作用。每個執行緒都有一個私有JVM堆疊,同時建立執行緒。每次呼叫方法時都會建立一個新的框架。 框架在其方法呼叫完成時被銷燬。
5)程式計數器
程式計數器, 它包含當前正在執行的Java虛擬機器指令的地址。
6)本地方法棧
它包含應用程式中使用的所有本地方法。
7)執行引擎
執行引擎包含:虛擬處理器,直譯器,JIT編譯器
相關推薦
Java虛擬機器體系結構由幾部分組成?
Java虛擬機器體系結構圖如下: Java虛擬機器體系運作順序: class檔案通過類裝載子系統將資訊存入執行時資料區(包括方法區、堆、Java棧、程式計數器、本地方法棧),執行引擎通過一定的規範去解釋執行。本地方法能通過執行引擎也能自己去呼叫執行時資料區。 Java虛擬
JAVA虛擬機器體系結構
1 Java虛擬機器的生命週期 一個執行時的Java虛擬機器例項的天職是:負責執行一個java程式。當啟動一個Java程式時,一個虛擬機器例項也就誕生了。當該程式關閉退出,這個虛擬機器例項也就隨之消亡。如果同一臺計算機上同時執行三個Java程式,將得到三個Java虛擬機器例項。每個Java程式都運行於它自己的
Java虛擬機器體系結構概述
Java虛擬機器之所以稱為“虛擬”,就是因為它僅僅是由一個規範來定義的抽象計算機。要執行某個Java程式,首先需要一個符合該規範的具體實現。下面主要討論這個規範本身。 Java虛擬機器是什麼 要理解Java虛擬機器,你必須意識到,當你說“Java虛擬機器”時,可能指的是
JVM系列第6講:Java 虛擬機器記憶體結構
看到這裡,我相信大家對於一個 Java 原始檔是如何變成位元組碼檔案,以及位元組碼檔案的含義已經非常清楚了。那麼接下來就是讓 Java 虛擬機器執行位元組碼檔案,從而得出我們最終想要的結果了。在這個過程中,Java 虛擬機器會載入位元組碼檔案,將其存入 Java 虛擬機器的記憶體空間中,之後進行一系列的初始化
深入理解JVM(1)—Java虛擬機器基本結構
最近開始看周志明著的《深入理解Java虛擬機器》一書,此書作為Java虛擬機器的經典暢銷書,果然是非常優秀的,在學習它的過程中逐漸理解了Java執行機理、記憶體分配與回收等知識,收穫頗多。 要學習Java虛擬機器,首先要了解其歷史與基本構造。Java虛
Java虛擬機器記憶體結構介紹
文章目錄 一 前言 二 JVM記憶體結構 三 程式計數器 四 虛擬機器棧 五 本地方法棧 六 GC堆 七 方法區 八 執行時常量池 九 直接記憶體 十 總結 一
理解Android虛擬機器體系結構
理解Android虛擬機器體系結構1 什麼是Dalvik虛擬機器 Dalvik是Google公司自己設計用於Android平臺的Java虛擬機器,它是Android平臺的重要組成部分,支援dex格式(Dalvik Executable)的Java應用程式的執行。dex格式是專門為Dalvik設計的一種壓縮格
Java 虛擬機器基本結構介紹
java虛擬機器的基本結構如圖所示: 基本的結構有8個 類載入子系統: 主要負責負責載入Class資訊,載入的類資訊都存放在方法區的類存空間中。 當JVM使用類載入器裝載某個類時,它首
從一道面試題深入瞭解java虛擬機器記憶體結構
記得剛大學畢業時,為了應付面試,瘋狂的在網上刷JAVA的面試題,很多都靠死記硬背。其中有道面試題,給我的印象非常之深刻,有個大廠的面試官,順著這道題目,一直往下問,問到java虛擬機器的知識,最後把我給問住了。 我當時的表情是這樣的: 後來我有機會面試別人了,也按照他的思路出面試題,很多已經工作了2年的程式設
Java虛擬機器記憶體結構及編碼實戰
瞭解JVM記憶體結構的目的 在Java的開發過程中,因為有JVM自動記憶體管理機制,不再需要像在C、C++開發那樣手動釋放物件的記憶體空間,不容易出現記憶體洩漏和記憶體溢位的問題。但是,正是由於把記憶體管理的權利交給了JVM,一旦出現記憶體洩漏和記憶體溢位方面的問題,如果不瞭解JVM是如何使用記憶體的,不瞭解
Java虛擬機器學習(1):體系結構 記憶體模型
JVM記憶體區域模型 1.方法區 也稱”永久代” 、“非堆”, 它用於儲存虛擬機器載入的類資訊、常量、靜態變數、是各個執行緒共享的記憶體區域。預設最小值為16MB,最大值為64MB,可以通過-XX:PermSize 和 -XX:MaxPermSize 引數限制方法區的大小。
《深入Java虛擬機器 第二版》之第1章 Java體系結構介紹
1、Java技術的核心就是“Java虛擬機器”。 2、Java體系結構四個獨立的技術: ·Java程式設計語言; ·Java class檔案格式; ·Java應用程式設計介面(API); ·Java虛擬機器; 3、編寫並執行一個Java程式,對四種技術的體驗:
JAVA虛擬機器結構之執行時資料區
jvm的執行時資料區根據用途一共可以分為這幾類:pc寄存機,java虛擬機器棧,java堆,方法區,執行時常量池,本地方法棧。其中java堆,方法區,執行時常量是公有的資料區,隨著虛擬機器的啟動而建立,隨著虛擬的退出而銷燬。而pc暫存器,java虛擬機器棧,本地方法棧則是執行緒私有的
【玩轉jvm系列 01】Java虛擬機器的基本結構
Java虛擬機器架構圖 Java虛擬機器基本結構思維導圖 類載入子系統 類載入子系統負責從檔案系統或者網路中載入Class資訊,載入的類資訊存放於一塊稱為方法區的記憶體空間。 Java堆 Java堆是被所有執行緒共享的一塊記憶體區域,在虛擬機器啟動
讀書筆記 ---- 《深入理解Java虛擬機器》---- 第5篇:類檔案結構
上一篇:虛擬機器效能監控與故障處理工具:https://blog.csdn.net/pcwl1206/article/details/84197113 第5篇:類檔案結構 開篇說明:本文的重點就是類檔案結構,只需要清楚Class檔案格式中的各名稱的實際意義就行,不用對具體名稱下的細節進行深究
【Java虛擬機器】類檔案結構
類檔案結構 class檔案是一組8位位元組為基礎單位的二進位制流,各個資料專案嚴格按照順序緊湊地排列在class檔案中,中間沒有新增任何分隔符。遇到需要佔用8位位元組以上空間的資料項時,則會按照高位在前的方式分割成若干個8位位元組進行儲存。 class檔案格式只有兩種資料型別:無
深入理解Java虛擬機器(類檔案結構+類載入機制+位元組碼執行引擎)
周志明的《深入理解Java虛擬機器》很好很強大,閱讀起來頗有點費勁,尤其是當你跟隨作者的思路一直探究下去,開始會讓你弄不清方向,難免有些你說的啥子的感覺。但知識不得不學,於是天天看,反覆看,就慢慢的理解了。我其實不想說這種硬磨的方法有多好,我甚至不推薦,我建議大家閱讀這本書時,由淺入深,有舍有得,先從巨集觀去
Java虛擬機器筆記-1(Java技術體系&自動記憶體管理機制&記憶體區域與記憶體溢位&垃圾收集器與記憶體分配策略)
世界上沒有完美的程式,但寫程式是不斷追求完美的過程。 Devices(裝置、裝置)、GlassFish(商業相容應用伺服器) 目錄 1. Java技術體系包括: Java技術體系的4個平臺 虛擬機器分類 HotSpot VM 模組化、混合程式設計 多核並行
深入理解JAVA虛擬機器2:JVM記憶體結構
記憶體結構一覽 在上一篇文章中,我們最後給出了一幅圖 這幅圖中,就包含了JVM的記憶體結構的所有組成元素,他們分別是:java堆記憶體、java棧、方法區、本地方法區以及pc暫存器,接下來我們就對這些區域逐一介紹。 java堆 Java堆是Java虛擬
深入理解Java虛擬機器之類執行時棧幀結構
棧幀(Stack Frame)是用於支援虛擬機器進行方法呼叫和方法執行的資料結構,它是虛擬機器執行時資料區中的虛擬機器棧(Virtual Machine Stack)的棧元素。棧幀儲存了方法的區域性變量表、運算元棧、動態連線和方法返回地址等資訊。每一個方法從呼叫