์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๋ฆฌํฉํ ๋ง
- ์บก์ํ
- ํด๋ฆฐ ์ฝ๋
- ๊ฐ์ฒด์งํฅ
- string
- ์บ์
- SRP
- ์บ์ฑ
- ์ฑ ์
- ๊ฐ์ฒด
- spring boot
- ํ๋ ฅ
- ๋๋ฉ์ธ ๋ชจ๋ธ
- ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด
- Java
- ์ธํฐํ๋ฆฌํฐ
- clean code
- cache
- Lombok
- JIT
- ์คํ๋ง
- ์๋ฐ
- JPA
- ์ถ์ํ
- ์ฟผ๋ฆฌ ์ต์ ํ
- ํด๋ฆฐ์ฝ๋
- REST API
- ์คํ๋ง๋ถํธ
- Refactor
- ์ฌ์ฌ์ฉ์ฑ
- Today
- Total
GO SIWOO!
[Java] Java String Pool์ด๋? ๋ณธ๋ฌธ
๐Java String ๊ฐ์ฒด์ ์์ฑ ๋ฐฉ์
Java์ String ๊ฐ์ฒด๋ ๋ ๊ฐ์ง ์์ฑ ๋ฐฉ์์ด ์๋ค.
1. new ์ฐ์ฐ์ ์ด์ฉ
Heap ์์ญ์ ์กด์ฌ
ex) String str = new String("์คํธ๋ง");
2. literal์ ์ด์ฉํ ๋ฐฉ์
String Constant Pool์ด๋ผ๋ ์์ญ์ ์กด์ฌ
ex) String str = "์คํธ๋ง";
๐Java String Pool
Literal๋ก String ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ํด๋น String ๊ฐ์ฒด์ ๊ฐ์ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด Heap ์์ญ ๋ด์ String constatns Pool ์ด๋ผ๋ ๊ณณ์ ์ ์ฅ๋๋ค. ์ด ์์ญ์ ์ ์ฅ์ด ๋๋ฉด String ๊ฐ์ ๋ถ๋ณ์ฑ์ ์ง๋๊ณ ์ด ๋ถ๋ณ์ฑ์ ๋ค๋ฅธ String ๊ฐ์ฒด๋ฅผ ์ ์ธํ ๋์๋ String Pool๋ด์ ๊ฐ์ ๊ณณ์ ๊ฐ๋ฆฌํค๊ฒ ๋๋ค.
ํ์ง๋ง new ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด Heap ์์ญ์ ์ ์ฅ์ด ๋์ง๋ง String constans Pool์ ์ ์ฅ๋์ง ๋ชปํ๊ณ ๊ฐ์ ๊ฐ์ ๊ฐ๋ฅดํค์ง ๋ชปํ๋ค.
String Pool์ ๊ฐ์ ๊ณณ์ ๊ฐ๋ฅดํค๊ณ ์๋ ๋๋ถ์ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ด ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ์ด์ ์ด ์๋ค.
class Main {
public static void main(String[] args) {
String str1 = "cat";
String str2 = "cat";
String str3 = new String("cat");
String str4 = new String("cat");
System.out.println(str1 == str2); // true
System.out.println(str3 == str4); // false
System.out.println(str1 == str3); // false
}
}
'Develop > ์๋ฐ(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] JSONObject & JSONArray & JSONParser ์ฌ์ฉ๋ฒ๊ณผ json-simple (0) | 2023.03.07 |
---|---|
[Java] Java ์ปฌ๋ ์ ํ๋ ์์ํฌ๋ (Collection Framework) (0) | 2023.03.02 |
[Java] JVM์ด๋ ๋ฌด์์ธ๊ฐ & Java ์ปดํ์ผ & JVM ๋ด๋ถ ๊ตฌ์กฐ (0) | 2023.02.23 |
[Java] ๊ธฐ๋ณธํ ๋ณ์ vs ์ฐธ์กฐํ ๋ณ์ (0) | 2023.02.22 |
[Java] ํจ์ํ ์ธํฐํ์ด์ค(Functional Interface) (0) | 2022.12.29 |