????????????race++????????????????????????Щ???????race???????????????volatale???????????????????????????
??????????????????????????????????????????????е??????????????????
?????????????????????????????????????????
???????volatile????????????JIT??????????????????????????????????????????????
????/**
????*???????????
????*
????*@author Colin Wang
????*
????*/
????public class Singleton_1{
????private static Singleton_1 instance=null;
????private Singleton_1(){
????}
????public static Singleton_1 getInstacne(){
????/*
????*????????????????instance==null???ж?????????????????????
????*????μ?????????????????????????????????????????????????????
????*??????????????????????????е????μ???????
????*???????????????????????????????????????????????????????
????*/
????if(instance==null){
????synchronized(Singleton_1.class){
????if(instance==null){
????/*
????*?????????????????????????????????????JVM????????д??????????????μ??????
????*1.??instance??????棬????з?????????null
????*2.????Singleton_1?????????????????????????з???
????*3.??instance???????з???????
????*??????????????????????????????1??3??2??
????*????????????????1??3??????????????????
????*???instance???????null????????????
????*???2???????й?????????????????????г????????
????*/
????instance=new Singleton_1();
????}
????}
????}
????return instance;
????}
????}
????/**
????*???????????
????*
????*@author Colin Wang
????*
????*/
????public class Singleton_2{
????/*
????*??????JIT?????????????????????????????????volatile??????
????*??????????????????????????????????д????????
????*???????????????????????ж????????????????????????????
????*/
????private volatile static Singleton_2 instance=null;
????private Singleton_2(){
????}
????public static Singleton_2 getInstacne(){
????if(instance==null){
????synchronized(Singleton_2.class){
????if(instance==null){
????instance=new Singleton_2();
????}
????}
????}
????return instance;
????}
????}
??????????????volatile??????????????????????????????????????ú???????????????????????????λ?á?volalite?????????????????????????????д????????Щ???????????????????????????????????????????????С????????????????????volatile??????????????????????volatile??????????????????????volatile????????????