主要分为 6 部分:
如图所示:
OutOfMemoryError
情况的区域StackOverflowError
: 线程请求的栈深度大于虚拟机所允许的深度OutOfMemoryError
: 虚拟机栈动态扩展无法申请到足够的内存intern()
方法可以把运行期间新的常量放入池中请看下面例子:
public class Test {
public static void main(String args[]) {
String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2);
String s3 = new String("abc");
System.out.println(s1 == s3);
System.out.println(s1 == s3.intern());
}
}
打印结果为:
true
false
true
解析:
s1 == s2
当然为 true