在看Java guide时有一些疑问intern()方法Jdk1.7之前与之后不一样的原因。 1.7之前是在字符串常量池创建与此string内容相同的字符串,是因为1.7前new操作创建字符串只在堆中创建一次不在方法区中的字符串常量池创建? 1.7之后只是返回常量池中的引用,是因为这时字符串常量池已经从方法区搬家到堆中,而new的时候会创建两个对象,一个在堆一个在常量池吗? 以上纯属我在看到以下图片时的猜测,不知道对不对,希望各位可以帮忙讲解一下吗?谢谢大家!