????JIT????????Java?????????????JVM????Ч????????????????????????????????????г??????JIT?????????????????????????????????????????????Ч????JIT?????
??????????У???????????Щ??????????????????????JIT??á??????????????????????JIT???????????????Щ??????????Щ?????????????????????????????JIT????????????????
????JIT????????????JVM??????????????????????е?????????????????????????????????????????????????????????????Щ?????е??????????????????JVM???????ɡ?????????????JVM???????????????????а汾??????÷???????????JVM????y???????????и÷?????????汾?滻???????汾??
????Hotspot??????к??JIT?????????????????????????????????????????????????????????У?JIT????????Ч??????????????????????????????У?????????鷽?????á??????????????μ????
????public int add(int x?? int y) {
????return x + y;
????}
????int result = add(a?? b);
????????????????????????????
????int result = a + b;
????????????a??b?滻????????????????add?????????????????????????????????????????????????????????????
???????????????????????
???????????????????
????????????????????????鷽??????
?????????????????????????????????У?JIT????????????????????ú??????????????????????????
???????????????????С????????£?????35???????????????????????????????????????????????????????????325????????????????????-XX:MaxInlineSize=# ????????????????????????XX:FreqInlineSize=#??????????????????????????????????????????????????£??????????????Щ???á??????????????????????????????????????
????????????????????????д????????????t?????????????????????????????????????????????Jarscan???????????????????????ж??????????????????
????Jarscan?????????JIT?????JITWatch???????????е????????????????????JIT???????????????Jarscan??????????jar??????????ù??????????????CSV??????а??????????????÷???????????????????JITWatch??Jarscan??AdoptOpenJDK????????????ù?????Chris Newland????
?????????Jarscan?????????????????????AdoptOpenJDK Jenkins????????????????Java 7 ?????Java 8 ???????
???????к???????????
????./jarScan.sh <jars to analyse>
???????????Jarscan???????????AdoptOpenJDK wiki???????
????????????????????????????????????а???????????????????????????????????????????????JIT???????·???????????????????????????С??????????????????????????Java??-XX:+PrintCompilation ????????????????????μ?????????
????37    1      java.lang.String::hashCode (67 bytes)
????124   2  s!  java.lang.ClassLoader::loadClass  (58 bytes)
???????У?????б????????????JIT?????????????????λ?????????б?????????id???????÷??????????????Hotspot???????????????????????????????????б???????????Щ????????????s????synchronized??????????????????????з?????????????????????÷?????????С??