最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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ū)內存,壓棧的評論 (共 條)

分享到微博請遵守國家法律
鹤山市| 礼泉县| 璧山县| 黄浦区| 青川县| 平远县| 韶山市| 蓬莱市| 攀枝花市| 安顺市| 容城县| 蓬莱市| 攀枝花市| 平山县| 会理县| 广水市| 孟连| 蒙阴县| 恩平市| 怀化市| 库车县| 体育| 枣庄市| 桂平市| 常宁市| 独山县| 申扎县| 金湖县| 大港区| 惠东县| 乡宁县| 英山县| 阿拉善盟| 文成县| 静乐县| 红桥区| 搜索| 密山市| 西和县| 陵川县| 康乐县|