java中的棧、堆、方法區(qū)是什么?針對(duì)這個(gè)問題,這篇文章給出了相對(duì)應(yīng)的分析和解答,希望能幫助更多想解決這個(gè)問題的朋友找到更加簡單易行的辦法。
為玉泉街道等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及玉泉街道網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、玉泉街道網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
棧中保存基本數(shù)據(jù)類型的值和對(duì)象以及基礎(chǔ)數(shù)據(jù)的引用;堆中存儲(chǔ)的全部是對(duì)象,每個(gè)對(duì)象都包含一個(gè)與之對(duì)應(yīng)的class的信息;方法區(qū)被所有的線程所共享,方法區(qū)包含所有的class和static變量。
1、Java棧
Java棧是一塊線程私有的空間,一個(gè)棧,一般由三部分組成:局部變量表、操作數(shù)據(jù)棧和幀數(shù)據(jù)區(qū)
局部變量表:用于報(bào)錯(cuò)函數(shù)的參數(shù)及局部變量
操作數(shù)棧:主要保存計(jì)算過程的中間結(jié)果,同時(shí)作為計(jì)算過程中的變量臨時(shí)的存儲(chǔ)空間。
幀數(shù)據(jù)區(qū):除了局部變量表和操作數(shù)據(jù)棧以外,棧還需要一些數(shù)據(jù)來支持常量池的解析,這里幀數(shù)據(jù)區(qū)保存著訪問常量池的指針,方便計(jì)程序訪問常量池,另外當(dāng)函數(shù)返回或出現(xiàn)異常時(shí)賣虛擬機(jī)子必須有一個(gè)異常處理表,方便發(fā)送異常
的時(shí)候找到異常的代碼,因此異常處理表也是幀數(shù)據(jù)區(qū)的一部分。
2、Java 堆
堆內(nèi)存用于存放由new創(chuàng)建的對(duì)象和數(shù)組。在堆中分配的內(nèi)存,由java虛擬機(jī)自動(dòng)垃圾回收器來管理。
在堆中產(chǎn)生了一個(gè)數(shù)組或者對(duì)象后,還可以在棧中定義一個(gè)特殊的變量,這個(gè)變量的取值等于數(shù)組或者對(duì)象在堆內(nèi)存中的首地址,在棧中的這個(gè)特殊的變量就變成了數(shù)組或者對(duì)象的引用變量,以后就可以在程序中使用棧內(nèi)存中的引用變量來訪問堆中的數(shù)組或者對(duì)象,引用變量相當(dāng)于為數(shù)組或者對(duì)象起的一個(gè)別名,或者代號(hào)根據(jù)垃圾回收機(jī)制的不同,Java堆有可能擁有不同的結(jié)構(gòu),最為常見的就是將整個(gè)Java堆分為
新生代和老年代。其中新聲帶存放新生的對(duì)象或者年齡不大的對(duì)象,老年代則存放老年對(duì)象。
新生代分為den區(qū)、s0區(qū)、s1區(qū),s0和s1也被稱為from和to區(qū)域,他們是兩塊大小相等并且可以互相角色的空間。絕大多數(shù)情況下,對(duì)象首先分配在eden區(qū),在新生代回收后,如果對(duì)象還存活,則進(jìn)入s0或s1區(qū),之后每經(jīng)過一次新生代回收,如果對(duì)象存活則它的年齡就加1,對(duì)象達(dá)到一定的年齡后,則進(jìn)入老年代。
3、Java方法區(qū)
Java方法區(qū)和堆一樣,方法區(qū)是一塊所有線程共享的內(nèi)存區(qū)域,他保存系統(tǒng)的類信息。比如類的字段、方法、常量池等。方法區(qū)的大小決定系統(tǒng)可以保存多少個(gè)類。如果系統(tǒng)定義太多的類,導(dǎo)致方法區(qū)溢出。虛擬機(jī)同樣會(huì)拋出內(nèi)存溢出的錯(cuò)誤。方法區(qū)可以理解為永久區(qū)。
關(guān)于java中的棧、堆、方法區(qū)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站標(biāo)題:java中的棧、堆、方法區(qū)是什么
當(dāng)前地址:http://chinadenli.net/article12/ihjggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站設(shè)計(jì)、標(biāo)簽優(yōu)化、Google、服務(wù)器托管、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)