????1.Java??finalize()??????????????????Щ????(???????new)????????“????”????????????????????finalize()???????? ????????????????????????????????????????????????????????????????????int?????????ó?????????????????????“???????”????????????????????????Java?????????????????????????????????????????????????????????????(???????new)????????“????”????????????????????????????????Щ????new???????棬???????????????????????????“????”??????????????????????java?????????ж?????????finalize()?????????????????“???”?????????????????????????????????????洢???????????????finalize()????????????????????????????????????????????????????????檔??????????????finalize()????????????????????Щ??????????????????????finalize()??????C++???????.??C++?У???????????????????Java????????????????????????(1.???????????????????2.?????????????????“????”)??
????2.???????????????й?????????????????????????????????????????????檔??????????????????й???κ???????(??????finalize()????)??????????????漰??????й???????????ζ?????????к???????????finalize()???????????Щ??????????????????????δ??????????????????????????????????????檔????finalize()????????????????????????????????????????????????????????洢?????????java????н?????????????????????????????????????????????????????????C?????е???????????java?е?????????????????????????????“???????”??????£???????????????Java?е??÷?Java????????????java?????У????????C??malloc()?????????????洢????????????free()????
????3.??????????ι???
????(1)“???ü?????reference counting??”??????????????????????????????????????????????ü???????????????????????????????ü?????1????????????????????null??????ü?????1????????????ü????????????????????????????????????г????????????????????????????????????б?????????????????????????ü????0??????????????????????и??????????????????????????????????“??????????????????ü?????????”??????????????????????????λ??????????????????????????????????????ü??????????????????????????????????δ????????κ????Java?????????С?
????(2) ???Щ????????У?????????????????????ü???????????????????????????κ?“??”????????????????????????????洢????е????á????????????????????????????Ρ??????????????????洢??????????????е???????????????“??”?????????????????????????????????????????????????????????????????????????У????“????????????洢????????”???γ??????????????????????????????????????“??”????????????“???????????????????”????????Щ????????????????????????????????
????(3)?????????£?Java??????????????“?????”?????????????????????δ??????????????????????Java?????????????????????“??——????”??stop-and-copy????????ζ????????????????У?????????????????????????????????д?????????????????????????б??????????????????????????????????????????????????????????????????????У?????????????????????????????????
????“???——???”????????·?????????????洢???????????????е????????????????д???????????????????????????????????????????????в???????κζ??????????????????????????????????????崦?????У???б???????????????????κθ??????????????μ????????????????????????????????????????????????????????μ????
????“??——????”????????????????????????????????е????????????????????????????????????????Sun ???????????????????ο?????????????????????????????????????????????????????????????????——????Sun???????汾??Java??????в??????????????????????????Sun???е???????????????????????“???——???”???????????????????????2?????С?
????????????????????????Java?????????????λ?????“??”???????????????????????顣????????“??——????”????????????ж?????????????????д?????????????????????′?????渴?????????????????????????????????????????????????????????????鶼???????“??????generation count??”????????????????????????????????????????????????????????????λ??????????·?????????????????????????????????????а???????????????????????????????????——???????????????????????????????????????С????????Щ??????????????Java?????????м??????????ж??????????????????????Ч??????????л???“???——???”?????????? Java??????????“???——???”??Ч???????????????????????л???“??——????”?????????“?????”???????????????????μ????“????????????????——????????——???”?????????????
????Java???????????????????????????????????????????????й????????“???”??Just-In-Time??JIT????????????????????????????????????????????????????Java????????????????????????????????????????????????????????????????????????????????????????????? .class ???????????????????????檔??????????????????????????ü???????????????д??????????????????????????????????????????????????????????????????????????????????????д??????????????????????????????????????С????????????????????????????????????????????“???????lazy uation??”?????????????????????????????????????????????е??????????????JIT???????°?JDK?е?Java HotSpot?????????????????????????α???е?????????Щ???????????е?????????????????