jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程

jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程

ID:32658065

大?。?45.18 KB

頁數(shù):26頁

時間:2019-02-14

jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程_第1頁
jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程_第2頁
jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程_第3頁
jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程_第4頁
jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程_第5頁
資源描述:

《jvm,java虛擬機(jī),內(nèi)存機(jī)制,線程》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、JVM的機(jī)制學(xué)習(xí)代碼編譯為classSunjdk中的javac裝載!classClassLoaderlentcompiler執(zhí)行class-^Servercompiler內(nèi)存空間方法區(qū),堆,JVM方法棧,木地方法棧,PC奇存器j內(nèi)存分配SS內(nèi)〃回收堆上分配棧上分配TLAB分配Copyingark-Sweepark-Compact算法并行回收GC串行GC并行GC內(nèi)存狀態(tài)分析代冋收實(shí)現(xiàn)GC參數(shù)G1新生代可用GC(^_IIVI:KFullGCMinorGC觸發(fā)機(jī)制串行Mark-Swccp-CompactIMrCompact并發(fā)Mar

2、k-Sweep交互狀態(tài)solejstat.jmap,MATJVM標(biāo)準(zhǔn)結(jié)構(gòu)類加載子系統(tǒng)內(nèi)存空間方法區(qū)Java堆本地方法棧A-?垃圾收集器I;/A指令計(jì)數(shù)器及其他隱含計(jì)數(shù)器Z--KXI—1/執(zhí)行引擎<■==>本地方法接口A―本地方法庫Java棧Java代碼執(zhí)行機(jī)制源碼編譯機(jī)制JVM規(guī)范中定義了class文件的格式,JDK在編譯java源碼時,使用了javac,javac編譯的步驟:1.分析和輸入到符號表(ParseAndEnter)Parse做的是詞法和語法的分析。詞法分析:將代碼字符串轉(zhuǎn)變?yōu)閠oken序列語法分析:將根據(jù)語法由

3、token序列生成抽象語法樹Enter將符號輸入到符號表,通常包括確定類的超類和接口,添加默認(rèn)構(gòu)造器等。2.注解處理3.語義分析和生成class文件通常生成class文件不知包括字節(jié)碼,一般包扌舌結(jié)構(gòu)信息,元數(shù)據(jù),方法信息。下面是一個例子:Compiledfrom"Foo.java"〃類/繼承的超類/實(shí)現(xiàn)的接口的聲明信息publicclassFooextendsjava」ang.ObjectSourceFile:"Foo.java"http://class文件格式版本號,majorversion50表示jdk6,49為jdk5只有高版本

4、能執(zhí)行低版本的class文件minorversion:0majorversion:50〃常量池,存放了所有的Field名稱,方法名,方法簽名,類型名,代碼及class文件中的常量值Constantpool:const#1=Methodconst#2=Fieldconst#3=classconst#4=Stringconst#5=Method#7.#27;//java/lang/Object.HM:()V#6.#2&//Foo.count:I#29;//java/lang/Exception#30;//countov

5、erflow#3.#31;//java/lang/Exception.Mu:(Ljava/lang/String;)Vconst#6=classconst#7=classconst#8=Ascizconst#9二Ascizconst#10=Ascizconst#11=int1000;const#12=Ascizconst#13=Ascizconst#14=Ascizconst#15=Ascizconst#16=Ascizconst#17=Ascizconst#18=Ascizconst#19二Ascizconst#

6、20=Ascizconst#21=Ascizconst#22=Ascizconst#23=Ascizconst#24=Ascizconst#25=Ascizconst#26=Asciz#32;//Foo#33;//java/lang/ObjectMAX_COUNT;I;ConstantValue;count;;()v;Code;LineNumberTable;LocalVariableTable;this;LFoo;;bar;()1;StackMapTable;Exceptions;;SourceF

7、ile;Foo.java;const#27=NameAndType#13:#14;//nM:()Vconst#28=NameAndType#12:#9;//count:Iconst#29=Ascizconst#30=Ascizjava/lang/Exception;countoverflow;const#31=NameAndType#13:#34;//Hn:(Ljava/lang/String;)Vconst#32=Ascizconst#33=Ascizconst#34=AscizFoo;java/la

8、ng/Object;(Ljava/lang/String;)V;〃將符號輸入到符號表時生成的默認(rèn)構(gòu)造器方法publicFoo();Signature:()VLineNumberTable:line1:0LocalVariableTable:StartLengthSlotNam

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。