1.编译器对所有 String s= "a string" 初始化的字串建立一个表, 它不包括用 new String()  

  在堆中创建的字串)查询字串表, 看是不是已经存在有一个值为"1"的字串, 如果存在,

  a 将取得此引用.如果不存在, 建立新的字串, 并注册到表中, 返回引用给a