国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

Java預習學習筆記6(動力節(jié)點版,含圖析與注釋):棧內存,堆內存、方法區(qū)內存,壓棧

2019-12-08 23:45 作者:詩書畫唱  | 我要投稿


Java把內存劃分成兩種:一種是棧內存,一種是堆內存。

在函數(shù)中定義的一些基本類型的變量和對象的引用變量都在函數(shù)的棧內存中分配。當在一段代碼塊定義一個變量時,Java就在棧中為這個變量分配內存空間,當超過變量的作用域后,Java會自動釋放掉為該變量所分配的內存空間,該內存空間可以立即被另作他用。


棧的優(yōu)勢是,存取速度比堆要快,僅次于寄存器,棧數(shù)據(jù)可以共享。但缺點是,存在棧中的數(shù)據(jù)大小與生存期必須是確定的,缺乏靈活性。棧中主要存放一些基本類型的變量(,int, short, long, byte, float, double, boolean, char)和對象句柄。棧有一個很重要的特殊性,就是存在棧中的數(shù)據(jù)可以共享。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 棧:聲明對象時 給對象初始化 Student stu=

方法區(qū):存放代碼;靜態(tài)變量,靜態(tài)方法,字符串常量,(在堆內存中)

堆其他部分:給對象分布一個內存地址 new Student

內存地址中有普通變量和普通方法

給對象的變量賦值:首先找到對象賦指的內存地址,如果有字符串賦值會到方法區(qū)去找字符串

1 JVM (Java虛擬機)主要包括三塊內存空間。分別是:棧內存,堆內存、方法區(qū)內存


2.堆內存和方法區(qū)內存各有1個。一個線程,一個棧內存。

線程(英文:thread),臺灣地區(qū)譯為執(zhí)行緒(英文:thread of execution)、緒程,操作系統(tǒng)技術中的術語,是操作系統(tǒng)能夠進行運算調度的最小單位,它被包涵在進程之中,是行程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并行多個線程,每條線程并行執(zhí)行不同的任務。在Unix SystemV及SunOS中也被稱為輕量進程(lightweight processes),但輕量進程更多指內核線程(kernel thread),而把用戶線程(user thread)稱為線程。計算機科學術語,指運行中的程序的調度單位。[1]


3.方法調用的時候,該方法所需要的內存空間在棧內存中分配,稱為壓棧。方法執(zhí)行結束之后,該方法所屬的內存空間釋放,稱為彈棧。


4.棧中主要存儲的是方法體當中的局部變量

5.方法的代碼片段以及整個類的代碼片段都被存儲到方法區(qū)內存當中,在類加載的時候這些代碼片段會載入。


6、在程序執(zhí)行過程中使用new運算符創(chuàng)建的java對象,存儲在堆內存當中。對象內部有實例變量,所以實例變量存儲在堆內存當中。

Java預習學習筆記6(動力節(jié)點版,含圖析與注釋):棧內存,堆內存、方法區(qū)內存,壓棧的評論 (共 條)

分享到微博請遵守國家法律
永康市| 靖宇县| 宝清县| 天峻县| 吴堡县| 晴隆县| 宣城市| 新乐市| 富民县| 拜城县| 大同市| 东丽区| 瑞安市| 军事| 石棉县| 吕梁市| 萝北县| 许昌县| 韶关市| 介休市| 太和县| 长宁县| 长沙市| 平原县| 宁城县| 建阳市| 保德县| 阳泉市| 招远市| 色达县| 根河市| 庐江县| 皮山县| 红桥区| 永清县| 宜兴市| 崇仁县| 潍坊市| 朝阳市| 霍山县| 乐清市|