Java基礎 程式執行過程中的記憶體管理

2021-08-15 14:46:29 字數 495 閱讀 1130

例如我們寫的乙個程式,存放在硬碟的某個區域,如果不執行此程式,它就會默默的存放在那裡。當我們執行它時,它執行的過程如下:

1.將程式load到記憶體區域

2.作業系統自己會找到程式的main方法,從main開始執行程式

3.當程式開始執行時,程式中的資料會被記憶體分類管理起來。基本有四類記憶體管理:heap(堆記憶體)、stack(棧記憶體)、data segment(資料段)、code segment(**段)

code segment:(**段):存放**,**首先放在code segment中,作業系統找到main方法後,執行後面的**。

stack(棧):區域性變數

heap(堆):new出來的東西

data segment(資料段):

靜態變數、字串常量

先簡單介紹到這裡,以後還會繼續深入的學習。

程式執行過程中的記憶體活動

預備知識 在c 中,記憶體分成 5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區和常量儲存區。棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清除的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制...

Java程式的執行過程

what will be printed when you execute the following code?classc classa a string s classtestextendsa publicstaticvoidmain string args 以上是乙個案列。開始的時候,我以為...

程式執行過程中的各個暫存器!

eax 是 累加器 accumulator 它是很多加法乘法指令的預設暫存器。ebx 是 基位址 base 暫存器,在記憶體定址時存放基位址。ecx 是計數器 counter 是重複 rep 字首指令和loop指令的內定計數器。edx 則總是被用來放整數除法產生的餘數。esi edi分別叫做 源 目...