黑马程序员技术交流社区
标题:
java程序在JVM中工作原理
[打印本页]
作者:
maxjack
时间:
2016-9-8 12:25
标题:
java程序在JVM中工作原理
String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true 这答案有点邪恶,请解释下?
很奇怪,str1,str2在jvm 中 栈区,堆区,方法区,到底是如何工作了?
作者:
gjf821687
时间:
2016-9-8 15:11
String str1 = "abc";
String str2 = "abc";
因为字符串都是常量,不可改变,所以,字符串都是存储在字符串常量池中,所以第一句是真正的创建了一个新的字符串对象,而第二句,JVM看到还是这个字符串,就直接把字符串常量池中的"abc"拿过来给了str2,所以他们是相等的,都是指向了同一个地址。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2