????????
????Java??????????????????????????????????????????????????????Щ???????????????Щ??????????????????????????п?????????????????????????????????Java ?????????????Щ???
???????????????? ?????????????
?????????????????????????????????????????s???????????????????????????????????????á?
????String s = "Hello";
??????????????????????磺 ????:??????? ???????????????????????? s+=“??” ?????Java??????????????????????????
????==???????????????????
????????????????????????==???????????????????????????????????JVM???????? ???????? ??
????String s1 = "Hi"?? s2 = "Hi";
????Integer a = 12?? b = 12;
??????????????????????????????????? ????????????s1==s2??a==b???????true??JVM????????????? ?????????????????????????????′???JVM??а??????????????==????false??????????????????????????????equals???
????String s3 = new String(s1);
????Integer c = -222?? d = -222;
????s1 == s2      // is true
????s1 == s3      // is false
????s1.equals(s3) // is true
????a == b        // is true
????c == d        // is false (different objects were created)
????c.equals(d)   // is true
???????????????????????????Χ??-128??127?????п?????????
????Java?????????????????
???????е???????????????????á????????????и??????????????????????????????????????????Σ??????????????????????
????public static void addAWord(StringBuilder sb) {
????sb.append(" word");
????sb = null;
????}
????StringBuilder sb = new StringBuilder("first ");
????addWord(sb);
????addWord(sb);
????System.out.println(sb); // prints "first word word"
????????????????????????????????????????????÷???????????
??????????JVM?????Object.hashCode??????????
????hashCode????????????????????HashSet????ConcurrentHashMap?????????????????????????κε????????????λ??????????仯????????????????????????????????????????hashCode??????е????????????????JVM??????????????????? ???? OpenJDK??Hotspot JVM?????hashCode??????????????洢??????????????Unsafe API????hashCode??????????????????????????????