Java 底层知识 --- 内存模型之常见考题

内存模型之常见考题

Java 底层知识 --- 内存模型之常见考题

Java 底层知识 --- 内存模型之常见考题 Java 底层知识 --- 内存模型之常见考题

Java 底层知识 --- 内存模型之常见考题 Java 底层知识 --- 内存模型之常见考题

Java 底层知识 --- 内存模型之常见考题 Java 底层知识 --- 内存模型之常见考题

问题一:不同JDK 版本直接intern () 方法的区别 - JDK6 JDK VS JDK6+   ?

 Java 底层知识 --- 内存模型之常见考题

Java 底层知识 --- 内存模型之常见考题 Java 底层知识 --- 内存模型之常见考题

选择Edit Configurations... ,并且选择需要运行的当前类

Java 底层知识 --- 内存模型之常见考题 执行

Java 底层知识 --- 内存模型之常见考题

此异常出现是在JDK 6 

JDK 6+ 就不会出现 ,字符串常量池,不受永久带限制

JDK 7 可以正常执行

Java 底层知识 --- 内存模型之常见考题

JDK 8 可以正常执行,但是提示

Java 底层知识 --- 内存模型之常见考题 

== 比较的内存地址 

一、

String s = new String ("a");

s.intern();

String s2 = "a";

System.out.print(s == s2);

二、

String s3 = new String("a")+new String("a");

s3.intern();

String s4 = "aa"';

System.out.print(s3 == s4);

当JDK版本 高于6 时 结果是:一、输出 false 二、输出true

当JDK版本 为6 时 结果是:一、输出 false 二、输出false

Java 底层知识 --- 内存模型之常见考题