1. 程式人生 > >Java虛擬機器記憶體區域劃分-----內容為自己記憶所用

Java虛擬機器記憶體區域劃分-----內容為自己記憶所用

首先是通過網上圖片自己所畫的java虛擬機器記憶體圖

1.程式計數器

程式計數器與執行緒的相關的

當一個執行緒停止工作後,在次啟動該執行緒,執行緒是如何回到上一次停止工作的地方,此時便應用到了程式計數器

2.本地方法棧

它就是與外界一些關聯,比如作業系統之類

3.虛擬機器棧

虛擬機器棧中儲存的是區域性變數,運算元表,動態連線,方法出口等等

方法的呼叫就是將該線幀壓入棧,當該方法呼叫完後線幀出棧

4.堆

堆就是存放new出來的東西,所有的new出來的例項物件都存放在堆中

5.方法區

方法區是儲存被虛擬機器載入的類資訊,常量,靜態變數,編譯器編譯後的程式碼

前3個是執行緒不共享,後邊兩個是執行緒共享

這篇文章用於自己學習,對jvm有一定的印象

這篇文章講的比較詳細

相關推薦

Java虛擬機器記憶體區域劃分-----內容自己記憶所用

首先是通過網上圖片自己所畫的java虛擬機器記憶體圖 1.程式計數器 程式計數器與執行緒的相關的 當一個執行緒停止工作後,在次啟動該執行緒,執行緒是如何回到上一次停止工作的地方,此時便應用到了程式計數器 2.本地方法棧 它就是與外界一些關聯,比如作業系統之類

深入JVM(Java虛擬機器)(一)Java虛擬機器記憶體區域劃分

   本文為博主參閱自《深入理解Java虛擬機器:JVM高階特性與最佳實踐(第2版)》,書中的全部講解均以《Java虛擬機器規範(Java SE 7)》為依據    圖一中為JVM規範中對java虛擬機器記憶體區域的劃分及定義,為單執行緒時的粗略劃分 圖二,中所繪為JVM

Java虛擬機器記憶體區域劃分

Java程式執行時的資料區域 Java虛擬機器在執行Java程式的過程中,會把它所管理的記憶體劃分為若干個不同的資料區域,這些區域都有各自的用途,以及建立和銷燬的時間,有的區域隨著虛擬機器程序的啟動而存在,有些區域則依賴使用者執行緒的啟動和結束而建立和銷燬。J

Java虛擬機器--記憶體區域劃分

執行時資料區域 在執行時資料區內,白色部分的是執行緒私有的:虛擬機器棧、本地方法棧、程式計數器 程式計數器:執行緒私有,可以看做當前執行緒所執行的位元組碼的行號指示器。若執行緒正在執行

java虛擬機器記憶體區域劃分以及作用詳解

        為什麼有時候學著學著會突然之間覺得一切度是那麼無趣,男的每個月也有那麼幾天難道?哈哈,不然是什麼,我還是要堅持,可以做少一點,但是不能什麼度不做。總會過去的,加油                                              

jvm學習筆記(1)——java虛擬機器記憶體區域

一、java記憶體區域:      1、程式計數器(執行緒私有):     記憶體中較小的記憶體空間,可以當做當前執行緒所執行位元組碼的行號指示器。如分支、迴圈、跳轉、異常處理、執行緒恢復都需要依賴這個計數器完成。 2、java虛擬機

java虛擬機器記憶體區域

java虛擬機器執行時記憶體區域結構主要分為: -方法區、堆、虛擬機器棧、本地方法區、程式計數器 方法區 堆 虛擬機器棧 本地方法區 程式計數器 程式計數器 程式計數器是較小的一塊記憶體

java虛擬機器---記憶體區域

1.程式計數器: 主要作用是記錄正在執行的虛擬機器位元組碼指令的地址,或者接下來要執行的下條指令地址,簡單的說就是記錄正在執行的程式碼地址或者將要執行程式碼的地址(這樣說不是很準確,只是好理解)分支

Java虛擬機器-記憶體區域

jvm記憶體區域 方法區(Method Area) 常量池(Run-Time Constant Pool) 堆(Heap 程式計數器(Program Counter) 虛擬機器棧(Java Virtual Machine Sta

JAVA虛擬機器記憶體劃分學習

JAVA虛擬機器所管理的記憶體將分為以下幾個區:  1.程式計數器:主要包括程式的分支、迴圈、跳轉、異常處理等基礎功能;  2.棧:主要用於儲存區域性變數、方法出口、物件引用等資訊; 是執行緒私有的,生命週期與執行緒相同;  3.堆:主要儲存物件的例項;是執

java 虛擬機器記憶體劃分,類載入過程以及物件的初始化

涉及關鍵詞: 虛擬機器執行時記憶體 java記憶體劃分 類載入順序  類載入時機  類載入步驟  物件初始化順序  構造程式碼塊順序 構造方法 順序 記憶體區域   java記憶體圖  堆 方法區 虛擬機器棧 本地方法棧 程式計數器  區域性變量表   棧幀  java堆 執行時常量池   直接記憶體

Java虛擬機器記憶體劃分分析

根據《Java虛擬機器規範(Java SE7版)》的規定,Java虛擬機器所管理的記憶體將會包括以下幾個執行時資料區域,如圖所示一、程式計數器        程式計數器是一塊較小的記憶體空間,他的作用可以看做是當前執行緒所執行的位元組碼的行號指示器。在虛擬機器的概念模型裡(僅

《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體

《深入理解Java虛擬機器》個人讀書總結——JAVA虛擬機器記憶體 最近在讀《深入理解Java虛擬機器》,網上對Java虛擬機器的總結有很多,自己覺得自己也應該記錄一點個人的讀書總結,以便日後複習方便。 隨著開發工作的逐漸深入,對Java的理解不能止步於crud,Java不像C語言

java虛擬機器(第二版) 第二章總結 (三)-手工復現java虛擬機器記憶體溢位(OutOfMemoryError異常)

  文章概述 的java虛擬機器記憶體溢位的簡要概述,復現堆記憶體,棧記憶體,方法區的執行時常量池記憶體等區域的溢位情況,以及上述區域發生記憶體溢位的判斷方式和解決思路。   1,概述:      IDE為eclipse,需要在執

Java虛擬機器 記憶體管理與垃圾回收

java和C++之間有一堵由記憶體自動分配與垃圾回收所圍成的高牆,外面的人想進來,裡面的人想出去 主要內容 記憶體分佈 垃圾回收機制 垃圾收集器 Java記憶體分佈 當java虛擬機器執行程式時,會把由虛擬機器管理的記憶體劃分為不同的區域,他們的作用不同,建立和銷燬時間也不同,有的是虛擬

Java虛擬機器記憶體模型與執行緒

Java虛擬機器—記憶體模型與執行緒 Lyon Keep balance,Be a better man! ​關注他 3 人讚了該文章 前言: 本文主要介紹Java的記憶體模型和Java執行緒。 Java記憶體模型的主要目標是定義程式中各個變數的訪問規則,即在JVM

JVM系列第6講:Java 虛擬機器記憶體結構

看到這裡,我相信大家對於一個 Java 原始檔是如何變成位元組碼檔案,以及位元組碼檔案的含義已經非常清楚了。那麼接下來就是讓 Java 虛擬機器執行位元組碼檔案,從而得出我們最終想要的結果了。在這個過程中,Java 虛擬機器會載入位元組碼檔案,將其存入 Java 虛擬機器的記憶體空間中,之後進行一系列的初始化

JVM調優--------理解java虛擬機器記憶體模型

java虛擬機器記憶體模型是java程式執行的基礎,為了能使Java應用程式正常執行,JVM虛擬機器將記憶體資料分為程式計數器,虛擬機器棧,本地方法棧,Java堆和方法區 程式計數器用於存放下一條執行的指令;虛擬機器棧和本地方法棧用於存放函式呼叫堆疊資訊;java堆用於存放Java程式執行時所需

Confluence 提高Java虛擬機器記憶體

Confluence 提高Java虛擬機器記憶體 版本 系統:CentOS release 6.8 (Final)Java版本:1.8.0_162Confluence版本:6.8.5 問題描述 confluence記憶體使用率的配置都是預設的,相對會比較低,可以根據實際server的配置情況,升級記憶

JVM篇:淺談java虛擬機器記憶體模型

  博主最近嘗試著瞭解JVM,博主目前的一些理解,總之會隨著博主的深入瞭解慢慢完善吧 圖片來自網路 當JVM執行時,便會建立這五個區域,退出時銷燬。 JVM的五個區域:方法區、堆、棧(也可以稱為虛擬機器棧)、程式計數器、本地方法棧 博主在這裡說明一下:方法區概括了元空間