說說java內(nèi)存結(jié)構(gòu)
各內(nèi)存空間的理解
①方法區(qū):當(dāng)類被加載到j(luò)vm時(shí),需要一個(gè)內(nèi)存空間來記錄類的信息,如類的全類名,變量名,方法名,訪問權(quán)限等等。
②堆:當(dāng)一個(gè)類通過new 被創(chuàng)建時(shí),需要一個(gè)區(qū)域來保存類的實(shí)例對象,如 Student student = new Student(); 這時(shí)候Student的實(shí)例對象保存在堆內(nèi)存中。
、厶摂M機(jī)棧:當(dāng)運(yùn)行某個(gè)類的方法時(shí),如果方法有局部變量那么就需要一個(gè)區(qū)域來存放局部變量,這個(gè)內(nèi)存區(qū)域叫做虛擬機(jī)棧,每個(gè)線程都有自己的虛擬機(jī)棧。棧的數(shù)據(jù)機(jī)構(gòu)為LIFO 后進(jìn)先出。 為什么要設(shè)計(jì)這樣的數(shù)據(jù)結(jié)構(gòu)呢:當(dāng)a方法調(diào)用b方法時(shí),a先進(jìn)棧,然后b進(jìn)棧,b運(yùn)行完后,繼續(xù)執(zhí)行a的方法。
、墚(dāng)?shù)讓覣PI不是java語言寫的時(shí)候,就需要調(diào)用native方法,native方法的實(shí)現(xiàn)根據(jù)不同的操作系統(tǒng)會有不同,這也是jvm夸平臺的原因,比如最簡單的System.out 也是調(diào)用的native方法。既然后native方法與java語言本身寫的方法不同,這里就需要一個(gè)線程對應(yīng)的內(nèi)存空間,也就是本地方法棧,來存放native方法中的局部變量表之類的信息。
填寫下面表單即可預(yù)約申請免費(fèi)試聽!害怕學(xué)不會?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國推薦就業(yè)!
初級會計(jì)職稱中級會計(jì)職稱經(jīng)濟(jì)師注冊會計(jì)師證券從業(yè)銀行從業(yè)會計(jì)實(shí)操統(tǒng)計(jì)師審計(jì)師高級會計(jì)師基金從業(yè)資格稅務(wù)師資產(chǎn)評估師國際內(nèi)審師ACCA/CAT價(jià)格鑒證師統(tǒng)計(jì)資格從業(yè)
一級建造師二級建造師消防工程師造價(jià)工程師土建職稱房地產(chǎn)經(jīng)紀(jì)人公路檢測工程師建筑八大員注冊建筑師二級造價(jià)師監(jiān)理工程師咨詢工程師房地產(chǎn)估價(jià)師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評價(jià)土地登記代理公路造價(jià)師公路監(jiān)理師化工工程師暖通工程師給排水工程師計(jì)量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導(dǎo)游考試社會工作者司法考試職稱計(jì)算機(jī)營養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護(hù)士資格證初級護(hù)師主管護(hù)師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實(shí)踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗(yàn)技師臨床醫(yī)學(xué)理論中醫(yī)理論