Java????????????????intern???
???????????? ???????[ 2015/11/16 10:49:07 ] ??????????????? ???????????
??????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????????????? ???????????????????????????????????????????????????????????????????????(???????????????????????????????????????????????? ????????????)???????????????????????????????????????????????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11