??????????JVM???????????????ɡ?
????????????
????· ??
????java?????????????????new???????????????????????????????????????????洢????????????У????ж???????????й????????????δ?????????????
????· ?
?????????????????????
????1?????????????
????2?????????????棬???????????á?????????????????????????????
????· ?????
????JVM?????????????????????????????????
????· ??????
?????????????????????????????С?
??????JVM?????????????????????????????????????String?????????Float??Double?????????????????????????ε???????á?
???????е?????????????????????????
????????????????????????????е???????????????????ε????????????????????Java????????????????????á?
????· ??????
?????????????????????????????
????· ?????
???????????static???ε??????????java??static??????????????????????????????????????????????????
??????????


????
?????????????
???????
????????????????????????????????????????Class a= new Class();???a?ж???????????????????a????????????????У?????????У?????????????????????????ü????????????????????????????????????
??????е????????е???????????????????????????????????е??????????????????????ж?????????????????????????????????????????????????б????????е????????????????????????????????????????????????????????????**
?????????????е????????????????????????ж???????????????????????ж?????????????????д??????????????Щ????????????????????????е????????????????????????????ж??????????????????????????????е???????????????????????????GC?????????????????б??????????????????????????????????????????????????????finalize???????????ж????????????????ο???????????????????????????????????????????????????????????????????????????ж?????????????磺?????????????softReference???????????????WeakReference?????????????й?????????????????????????????????????????????????????
???????????????????Ρ?????ε????????????ó??????????????ó???????????JVM?????????JVM??????????????????????????????JVM????????????????????Щ????????????????????????????????????????????????Щ?????????????
???????ж???????????????????????и?????????????????洢???(???????????е??????)???????ж?????????????????ж????????????????????÷???????????????????????????????????檔
?????????????漰???????????????????????????????????????????????????Щī??????????????????????????????????????????????????????Щ???????????????????
???????????
??????????????????????????????????У?byte??short??char??int??long??boolean????????????????????Byte??Short??Character??Integer??Long??Boolean??????????Сд???????????????????????????????????????????????????????????????????????????????????????????????е?洢λ?ò????????????洢????У???????????????洢????С??????????Щ?????**????????????????????????????????????????????????String????????????????????**
?????????
public class test {
public static void main(String[] args) {
objPoolTest();
}
public static void objPoolTest() {
int i = 40;
int i0 = 40;
Integer i1 = 40;
Integer i2 = 40;
Integer i3 = 0;
Integer i4 = new Integer(40);
Integer i5 = new Integer(40);
Integer i6 = new Integer(0);
Double d1=1.0;
Double d2=1.0;
//??java?ж?????????????“==”???ж??????????????????????????????????
System.out.println("i==i0 " + (i == i0));
System.out.println("i1==i2 " + (i1 == i2));
System.out.println("i1==i2+i3 " + (i1 == i2 + i3));
System.out.println("i4==i5 " + (i4 == i5));
System.out.println("i4==i5+i6 " + (i4 == i5 + i6));
System.out.println("d1==d2 " + (d1==d2));
System.out.println();
}
}
?????????
????i==i0    true
????i1==i2   true
????i1==i2+i3        true
????i4==i5   false
????i4==i5+i6        true
????d1==d2   false
?????????????
????i??i0???????????(int)??????????????????洢????У???????????????????????е???????????????????????int i = 40;???????int i0 = 40;????????????????????40????????????У?i0????????i??40???????????????μ?40??
????i1??i2?????????????????д洢??????Integer??????????Integer???????????????????????i1??i2??40???????????л??????????????????????i1==12??
????????????????????????Java???????????????н??е??Java???????i1??i2???в???????????????????i1??????????i2+i3??
????i4??i5?????????????????д洢??????Integer????????????????????????new??????????????????????????????????и???new??????????????????????????????i4??i5???????????????????????????????????????
?????????????????????3????
????d1??d2?????????????????д洢??????Double????????Double????????????????????????Doubled1=1.0;????Double d1=new Double(1.0);??????new???????d2???????d1??d2?????????????????????????????
????С??
???????????????????????????????????????????????????????????????-128??127???????Χ?????????????????????????Χ???????д?????????????????????????磬???????????Integer i1 = 400; Integer i2 = 400;?????????????127??????????????????????????new?μ?Integer???????i1??i2????????
????String????????????????????????????е????String??????????????????ж?????????????У???????????????У???????????????