首頁 Java Java入門 JVM中的運行時資料區域是哪些

JVM中的運行時資料區域是哪些

Nov 26, 2019 am 11:10 AM
jvm

JVM中的運行時資料區域是哪些

首先看圖:

JVM中的運行時資料區域是哪些

java相關影片教學:java課程

1.程式計數器(PC)

是執行緒獨享的。是一塊較小的內存,是目前執行緒所執行的字節碼的行號指示器,是Java虛擬機規格中唯一沒有被規定OOM(OutOfMemoryError)的區域。

2.Java虛擬機器堆疊

是是執行緒獨享的。生命週期和線程相同。是Java方法執行的記憶體模型。執行每個方法都會建立一個棧幀,用於儲存局部變數和操作數(物件參考)。局部變數所需的記憶體空間大小在編譯期間完成分配。所以堆疊幀的大小是不會改變的。

有兩種例外:

1)若執行緒請求深度大於堆疊的深度,會拋出StackOverFlowError。

2)若棧在動態擴展的時候無法請求足夠的內存,會拋出OOM。

3.堆

JVM中的運行時資料區域是哪些Java堆是所有執行緒共享的。是虛擬機器啟動的時候創建的。存放的是物件的實例和陣列。所佔記憶體最大。分為新生代(Young區)、老年代(Old區)。新生代又分為Eden區、Servior區。 Servior區又分為From space區與To space區。 Eden區和Servior區的記憶體比例為8:1。當擴充記憶體大於可用記憶體的時候,會拋出OOM。

4.本地方法堆疊

#本地方法堆疊是執行緒獨享的。與Java虛擬機器堆疊類似,但不是為Java方法(字節碼)服務,而是為本機非Java方法服務。也會拋出StackOverFlowError和OOM。

5.方法區

方法區是所有執行緒共享的。用於儲存已經被虛擬機器載入的類別資訊、常數、靜態變數等數據,又稱為非堆(Non-Heap)。方法區又稱為“永久代”,GC很少在這個區域進行,但不代表不會回收。這個區域回收目標主要是針對常量池的回收和對類型的卸載。當記憶體申請大於實際可用記憶體時,會拋出OOM。

java相關文章推薦:###java入門#######

以上是JVM中的運行時資料區域是哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
JVM記憶體管理要點與注意事項 JVM記憶體管理要點與注意事項 Feb 20, 2024 am 10:26 AM

掌握JVM記憶體使用量的重點與注意事項JVM(JavaVirtualMachine)是Java應用程式運作的環境,其中最為重要的就是JVM的記憶體管理。合理地管理JVM記憶體不僅可以提高應用程式的效能,還可以避免記憶體洩漏和記憶體溢位等問題。本文將介紹JVM記憶體使用的要點和注意事項,並提供一些具體的程式碼範例。 JVM記憶體分區JVM記憶體主要分為以下區域:堆(He

一個分散式 JVM 監控工具,非常實用! 一個分散式 JVM 監控工具,非常實用! Aug 15, 2023 pm 05:15 PM

該專案為了方便開發者更快監控多個遠端主機jvm,如果你的專案是Spring boot那麼很方便集成,jar包引入即可,不是Spring boot也不用氣餒,你可以快速自行初始化一個Spirng boot程式引入jar包即可

JVM命令列參數詳解:掌控JVM運作的秘密武器 JVM命令列參數詳解:掌控JVM運作的秘密武器 May 09, 2024 pm 01:33 PM

透過JVM命令列參數,您可以細微地調整JVM行為。其中通用參數包括:設定Java堆大小(-Xms、-Xmx)設定新生代大小(-Xmn)啟用平行垃圾收集器(-XX:+UseParallelGC)減少Survivor區記憶體佔用(-XX:-ReduceSurvivorSetInMemory)消除冗餘餘垃圾回收(-XX:-EliminateRedundantGCs)列印垃圾回收資訊(-XX:+PrintGC)使用G1垃圾收集器(-XX:-UseG1GC)設定最大垃圾回收暫停時間(-XX:MaxGCPau

Java錯誤:JVM記憶體溢位錯誤,如何處理與避免 Java錯誤:JVM記憶體溢位錯誤,如何處理與避免 Jun 24, 2023 pm 02:19 PM

Java是一種流行的程式語言,在開發Java應用程式的過程中,可能會遇到JVM記憶體溢位錯誤。這種錯誤通常會導致應用程式崩潰,影響用戶體驗。本文將探討JVM記憶體溢位錯誤的原因和如何處理和避免這種錯誤。 JVM記憶體溢位錯誤是什麼? Java虛擬機器(JVM)是​​Java應用程式的運作環境。在JVM中,記憶體被分為多個區域,其中包括堆疊、方法區、堆疊等。堆是用於存儲創建的對象的

JVM虛擬機器的作用及原理解析 JVM虛擬機器的作用及原理解析 Feb 22, 2024 pm 01:54 PM

JVM虛擬機的作用及原理解析簡介:JVM(JavaVirtualMachine)虛擬機是Java程式語言的核心組成部分之一,它是Java的最大賣點之一。 JVM的作用是將Java原始碼編譯成字節碼,並負責執行這些字節碼。本文將介紹JVM的作用及其運作原理,並提供一些程式碼範例以幫助讀者更好地理解。作用:JVM的主要作用是解決了不同平台上Java程式的可移

揭秘JVM工作原理:深入探索Java虛擬機器的原理 揭秘JVM工作原理:深入探索Java虛擬機器的原理 Feb 18, 2024 pm 12:28 PM

JVM原理詳解:深入探究Java虛擬機的工作原理,需要具體程式碼範例一、引言隨著Java程式語言的快速發展和廣泛應用,Java虛擬機(JavaVirtualMachine,簡稱JVM)也成為了軟體開發中不可或缺的一部分。 JVM作為Java程式的運作環境,能夠提供跨平台的特性,使得Java程式能夠在不同的作業系統上運作。在本文中,我們將深入探討JVM的工作原

如何有效調整JVM堆記憶體大小? 如何有效調整JVM堆記憶體大小? Feb 18, 2024 pm 01:39 PM

JVM記憶體參數設定:如何合理調整堆記憶體大小?在Java應用程式中,JVM是負責管理記憶體的關鍵元件。其中,堆記憶體是用來儲存物件實例的地方,堆記憶體的大小設定對應用程式的效能和穩定性有著重要影響。本文將介紹如何合理調整堆記憶體大小的方法,並附帶具體程式碼範例。首先,我們需要了解一些關於JVM記憶體的基礎知識。 JVM的記憶體分成了幾個區域,包括堆疊記憶體、堆疊記憶體、方法區等。其中

Java程式檢查JVM是32位還是64位 Java程式檢查JVM是32位還是64位 Sep 05, 2023 pm 06:37 PM

在寫java程式來檢查JVM是32位元還是64位元之前,我們先討論一下JVM。 JVM是java虛擬機,負責執行字節碼。它是Java執行時間環境(JRE)的一部分。我們都知道java是平台無關的,但是JVM是平台相關的。我們需要為每個作業系統提供單獨的JVM。如果我們有任何java原始碼的字節碼,由於JVM,我們可以輕鬆地在任何平台上運行它。 java檔案執行的整個過程如下-首先,我們保存擴展名為.java的java原始碼,編譯器將其轉換為擴展名為.class的字節碼。這發生在編譯時。現在,在運行時,J

See all articles