From d5dd6a1324dbeffbb015334e7499545e9abad441 Mon Sep 17 00:00:00 2001
From: LicoCode <30888949+LicoCode@users.noreply.github.com>
Date: Wed, 21 Aug 2019 10:33:30 +0800
Subject: [PATCH] =?UTF-8?q?Update=20Java=E5=86=85=E5=AD=98=E5=8C=BA?=
=?UTF-8?q?=E5=9F=9F.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
补充说明String intern
---
docs/java/jvm/Java内存区域.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/java/jvm/Java内存区域.md b/docs/java/jvm/Java内存区域.md
index b2b775c1..79c3b2fe 100644
--- a/docs/java/jvm/Java内存区域.md
+++ b/docs/java/jvm/Java内存区域.md
@@ -294,7 +294,7 @@ System.out.println(str2==str3);//false
**String 类型的常量池比较特殊。它的主要使用方法有两种:**
- 直接使用双引号声明出来的 String 对象会直接存储在常量池中。
-- 如果不是用双引号声明的 String 对象,可以使用 String 提供的 intern 方法。String.intern() 是一个 Native 方法,它的作用是:如果运行时常量池中已经包含一个等于此 String 对象内容的字符串,则返回常量池中该字符串的引用;如果没有,则在常量池中创建与此 String 内容相同的字符串,并返回常量池中创建的字符串的引用。
+- 如果不是用双引号声明的 String 对象,可以使用 String 提供的 intern 方法。String.intern() 是一个 Native 方法,它的作用是:如果运行时常量池中已经包含一个等于此 String 对象内容的字符串,则返回常量池中该字符串的引用;如果没有,JDK1.7之前(不包含1.7)的处理方式是在常量池中创建与此 String 内容相同的字符串,并返回常量池中创建的字符串的引用,JDK1.7以及之后的处理方式是在常量池中记录此字符串的引用,并返回该引用。
```java
String s1 = new String("计算机");
@@ -421,6 +421,7 @@ i4=i5+i6 true
-
-
-
+- 深入解析String#intern
## 公众号