????1.?????????????java???????????д??
????2.??????????????????????д??????????????javac(????ide??????????????)??Javac?????????м????class?????
?????漰 ???????????????????
????2.1. ?????????
????2.1.1.?????????????????????????????????????????????????й????в??????????????
????2.1.2.??????????????????й????н??м????????????????
????2.1.3.????????????????????????????
????2.1.4.Java???????????????????????Щ??????????????????????????????????á???????????????????class?????
????3.?????class????????????winHex????HexEdit??????class??????????涼??16??????????????????16????????????λ??
????3.1. ??????????class????????????????????????п??????κε????????????????????xml?????????????????????????????????????????к??????Ч??????
????3.2???????????CAFEBABE?????java???????????????????????????????????????????java??class?????????
????3.3. ?????汾?????汾????????汾???????汾??????и?汾????????????class????????jvm???????????????????????????????????????????????????????飩
????3.4. Class????????????????????????????????????????????????????????????index??????index???????????????????????????????????????????????class??????????16???????????????????????ж????????????????????????????????????index??????????????????????????????????????????????index????????????????????????????????б???????????????????????????????????????????й????????????????????????????????????????
????3.5. ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????е???????????????????????????á?
????3.6. ???б??????????????(public???)??????????????α?????????????????????????????????????????????????????????????????????????????????б?????????á?????????????Щ??????????????????о???????????????16???????????????????
????3.7. ????????????
????4.?????java??????С?
????4.1. ???????????????????????????????????????????????????class?????????????????????????jvm?????????????array????????????????????????class????????????????????洢????????????????????????漰jvm???????????????7??????????????????????Class????????????????????????????????????
????????????????jvm?????????????7????????class???????java?????????????????????????????????????????????????????jvm???????????????????????????????????????????????
????4.2. ????????????????????????????????
????????????????????????????????и??????????棩??????????????????????棩?????????????????????????????????????
???????????????????ε???????????????????????????????????int???0.???????=?????????????????????????????????????????????????????????????????=??????????????????????????<clinit>???檔??????????clinit???????final????????????????=???????????????????????????????????????????????????????????????
?????????????????????????????滻????????????????????????????????????д????????????????????????????????????????????????????????????????????????????????????????????е??
??????????jvm???л???????ν????????????????????????????????ν???????????????????????????
????4.3. ???????????
?????????????????????????У?
????New?????static????????????main??????
???????????????????????Clinit()??????????clinit????????????????????????????????С?
??????????????????????????????????????????????parents?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Object?????????????????????????к??Object??(????????????????????????????)???????????????????????????????????JAVA_HOME/lib???????????????????JAVA_HOME/lib/ext?????????ó??????????????????????????????????????塣????????????????????????????????????????????У??????????????м?е?????????
????5.??????????????????????????????ν?????????????????????????????????????????????+????????????????б????????????jvm???????class??????????????в?????
????5.1. ????jvm??????????????????????????????????ü???????????????????????????????????????????????????????????β???????в????????????????????????
????5.2. ???ж??????????????????????????????????????????????????????????????????????
????5.3. ??????????????????????????á???????????????????????????????????????????ο?class????????????????????????????????????????á???ν???ɡ?????????????????ɡ?
????5.3.1. ??ν???????????????????????????????????????????????????????????????????á??????????????????????????á????????м???????Class????????????????????????????????????????????????????????????????????????????????г?????????Class??????????new????????????????????????????????????????????????????????
????5.3.2. ??????????????????????????????????????????????invokevirtual?????????????Invokevirtual?????????????????????????????????????????????????????????????????????????????????????????
????6.??????????????????????????gc?????????????????gc??
????Gc????java????????????Jvm????????仰????????C++??java????????gc????????Χ??????????????????????????????????java??C++???????????????Ч???????????????????????????gc??????
????6.1. ?????????????????ж??????????
?????????????????ü???????????????????????????????????????????????0?????????????????????????????????????????????????????????
??????ν????????????????????????????????????????????ú?????????????????????????????jvm????????????????????????????????????????????????б????????????
????6.2. Gc????
????????????????????????????????????????????????????????????鷳??????????á???????????????
?????????????????????????????·???????????ν?????????????????young?????????????old???????????ò????gc????????Ч??????????????????????3′?л?????gc??????????????????????????á???ν????????????young????????????8(Eden):1(Survivor):(Survivor)1??????Eden?????????Servivor?????л??????????????Young???棬?????????????顣?′???Eden????ε????young??????????????????????????????????????????????????????????????survivor??????????????????????????????????????????????Survivor?????á??????????????????????????????????????????????????????????????????Щ???????????????????????????????????????????????????????????
??????????????????????????????????????????У??????????????????????????С??????????????????????
????7.??????1???jvm????棺
????Jvm????棺
?????о????????jvm????????????????????ü??ɡ?
????????jvm?????????????????????????????????java????????????????????????????????е????????????????????????????????????????????????????????
????7.1. ??????????????????к???????
????7.2. ??????????????????????????????????С??????????????????????????????棬???????????????????????????????????????????????????????????????????????棬?????и???????????????????????????????????в??е???????class????????????С?
????7.3. ?????????????Щ???????????ν????????????Щ?????????????c??????Щ?????????java???????cд????
????7.4. Java????????????????????????????gc????????????????????????ж????????????????new????в???new???
????7.5. ????????????????????????????Hotspot???
????7.6. ?????????????????????????????£??????????????????????????????????????Щ???????????????????ν????????1??w???????????????static??final???????????????????????????????????
????7.7. ??????????????????new?????????new????????????????????????????????棩????????????????????治???????????????????????????檔???????????????????
????7.8. ????????????λ????????????????????????
?????????java??????????->(?????)(java??)->????????????????????????????????????????????????
?????????????????????????????????
????HotSpot???????????????????????????