??????Java??ó??????????Java?????????????????????????????????????class?????????????class??????????????????е???????? ????class????????????????ο??????????????Class?????
????1.CONSTANT_Class??????
??????????????????????????????????????飬?????????????????????????????????????????Class????????????????????????????????? ????????????????????????????飬????????????????????????????????????????????????????????????????????
???????????????????????????????2??裺
????(1).???????????????е??????
??????????????????????????????????????????????????????????????????????????????????????????????????м???????????????????????????????????????????????е???????м????????????????class?????super_class????????????????????????????н????????????java.lang.Object???????鷵???????У?????interfaces????????????????Щ????????ε????????????????á?
????(2).?????????
????????????????????????????????????????????????????????????????????????????????г?????????г????(????????????)???????????????????????????????????????????????????Object??????????????Object?????????г???????????????????????????£?
????(3).????У??
????(4).???????
????(5).???????(?????)
???????ù????????????????????????????????????????????????????Щ???????ò??????????????ò???????????????????????????????????? ??????????????????????????????????Щ???????????????????????????Щ???????y??н?????????????????????????????????????
????(6).????????
????2.CONSTANT_Fieldref??????
???????????????????????????????????Σ???????????ε??????????????? ??????????????????????????????????????????????????????????????????????????Σ?????????????????????????????? ????????ó?????????????????????ε???????á?
????3.CONSTANT_Methodref??????
????????ε???????????????????????????????????????????????????????????????????????????
????4.CONSTANT_InterfaceMethodRef??????
????????????????????????????????????????????????
????5.CONSTANT_String??????
????Java???????????????????????????????????????????????????????? ?????????????????б?”????”???????????????á???CONSTANT_String?????????????????????????и?????????????????????? ????????????????????????????????????????????????????????????????????????д????????????????????????ü???????????У??????? ?????????????????á?
????????????String?????intern??????????????????(??????????????)?????????????д??????? ???????е???????????????????????ü???????????????????????????????????????????????y?????????String???????? String????λ??Java??????????????????????????????????????????????

 1 package com.ice.intern;
 2 
 3 public class InternTest {
 4 
 5     public static void main(String args[]){
 6         String a = new String("123");
 7         String b = a;
 8         String c = new String("123");;
 9 
10         System.out.println("before intern:");
11         System.out.println("a = b ? :" + (a == b));
12         System.out.println("a = c ? :" + (a == c));
13 
14         a = a.intern();
15         c = c.intern();
16 
17         System.out.println("after intern:");
18         System.out.println("a = b ? :" + (a == b));
19         System.out.println("a = c ? :" + (a == c));
20     }
21 
22 }

??????????£?

????(6).????????(???????????)??????
?????????ó?????????????????????
????6.???????
?????????????????????????滻?????????á?????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????Object????????????????????????????????????????class????г??????????η??????????С?
?????????????????????????????Object?????????????????????????????????????????class????г??????????η??????????С?????????д????????????????????λ??(?÷???????γ????λ??)??
???????????????????????????????????????????з?????????????????????????????????÷?????
????????Factory???????A??B???????produce()????????????A??B?????????????????Factory????????????????????????produce()?????????????????????????????????Factory??produce()??????
????7.??????
????????????????????????????????????????????????????????????????????????????????(????????????? ??ClassLoader?????)?????????????????????????????????????????б???????????????????ClassLoader????????????? ???????????????????????????????????????????????????????????????????????(???????????????????????????????????????????????? ????????????)???????????????????????????????????????????????