๊ธฐ์ด ํํ! ๋ ํ๊ฒ ์์ํ๋ Java - Part 2 : OOP์ JVM
๋ฑ ๋ ๊ฐ์ง๋ฅผ '์ ๋๋ก' ๋ค๋ฃน๋๋ค. ๋ฐ๋ก ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ JVM! ๊ฑฐ๊ธฐ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ธฐ๋ฐ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ ๋ค์ผ๋ก ๋๋ฆฝ๋๋ค.
์๊ฐ์ 5,916๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

- ๋ฏธํด๊ฒฐ
compareTo๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๋ญ๊ฐ์?
String์ equals ํจ์๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋๋ฐ compareTo๋ฅผ ์ด์ฉํ๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค. ๊ฐ์์์ ๋ง์ํ์ ๋๋ฑ์ฑ์ ํํํ๋ ค๋ฉด equals๋ฅผ ์ฌ์ฉํ๋๊ฒ ์คํ๋ ค ๋ง๋๊ฑฐ ์๋๊น์??
java๊ฐ์ฒด์งํฅjvmdata-structureRobert
ใป
ํ ๋ฌ ์
0
45
1
- ๋ฏธํด๊ฒฐ
[์ค์ต] MyString์ ๋ณต์ฌ ์์ฑ์ ์ถ๊ฐ
import java.lang.reflect.Field; class MyString { private byte[] sdata = null; MyString(MyString s) { this.sdata = s.sdata
java๊ฐ์ฒด์งํฅjvmdata-structuresjn0125
ใป
2๋ฌ ์
0
38
1
- ํด๊ฒฐ
์๋ ํ์ธ์~ ํ์๋ผ๋ ์๋ฏธ์ ๋ํด์ ์ง๋ฌธํฉ๋๋ค.
์๋ ํ์ธ์~~ ๊ฐ์ ๋๋ฌด ์ ๋ฃ๊ณ ์์ต๋๋ค. ๊ฐ์ ๋ฃ๋ค๊ฐ ํ๊ฐ์ง ์๋ฌธ์ด ์๊ฒจ์ ์ง๋ฌธ ๋จ๊น๋๋ค. GC๊ฐ ํ
java๊ฐ์ฒด์งํฅjvmdata-structure๋งค์ด์ธ๋ฐ์ค
ใป
2๋ฌ ์
0
71
1
- ํด๊ฒฐ
equals์ ์ฌ์ ์(overriding)์ ๋ํด์
๋จผ์ , ์ด๋ ๊ฒ ์์ง์ ๊ฐ์ ์ฌ๋ ค์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ฃ๊ณ ์์ต๋๋ค. 49๊ฐ์ ์ค์ต์์
java๊ฐ์ฒด์งํฅjvmdata-structureIIIllIllII
ใป
3๋ฌ ์
0
80
2
- ํด๊ฒฐ
TestEx ๊ฐ์ฒด ์์ฑ ์ ์์ฑ์ ํธ์ถ ์ง๋ฌธ
์๋ ํ์ธ์. ๊ฐ์๋ฅผ ๋ฃ๋ ์ค ์์ฑ์ ํธ์ถ ๊ฒฐ๊ณผ์ ๊ด๋ จํด ๊ถ๊ธํ ์ ์ด ์๊ฒจ ์ง๋ฌธ๋๋ฆฝ๋๋ค.<span style="color: rg
java๊ฐ์ฒด์งํฅjvmdata-structurecola1886
ใป
3๋ฌ ์
0
62
2
- ํด๊ฒฐ
[MyString ์ค์ต ์ธ์คํด์ค ์ค๋ณต ์์ฑ ๋ฌธ์] MyString.setString(String param)
์ ์๋ ์๋ ํ์ญ๋๊นpublic void setString(String param) { string = param.getBytes().clone(); }<p sty
java๊ฐ์ฒด์งํฅjvmdata-structureygu9907
ใป
5๋ฌ ์
0
100
2
- ํด๊ฒฐ
์ฃผ์๋ก ์ค์ต 3๋จ๊ณ์์ ๋งํ์ด์ ์กฐ์ธ์ ๊ตฌํ๋ ค๊ณ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ๊ฐ๋ฐ์๋. ์ฃผ์๋ก 3๋จ๊ณ์ ๋๋ฌด ๋งํ๊ณ ์๊ฐ์ด ๋๋ ค์ ์ด์ฐํด์ผํ ๊น ํ๊ณ ์กฐ์ธ์ ์ป์ผ๋ ค๊ณ ์ง๋ฌธ ๋๋ฆฝ๋๋ค. <
java๊ฐ์ฒด์งํฅjvmdata-structure๋ฌด๋ฌด
ใป
6๋ฌ ์
0
85
2
- ํด๊ฒฐ
ํด์ ์๊ณ ๋ฆฌ์ฆ ๊ด๋ จ์ผ๋ก ์ง๋ฌธ์ด ์์ต๋๋ค.
์๋ ํ์ธ์.ํ์ฌ cs ๊ฐ์๋ถํฐ c/c++/์์คํ .๋คํธ์ํฌ,tcp/ip ๋ฑ ๋ฐฑ์๋์ ๋์๋๋ ๊ฐ์๋ฅผ ๋ฃ๊ณ ํ์ฌ ์๋ฐ๊ฐ์๋ฅผ ๋ฃ๊ณ ์์ต๋๋ค. </
java๊ฐ์ฒด์งํฅjvmdata-structure๋ฌด๋ฌด
ใป
7๋ฌ ์
0
73
2
- ํด๊ฒฐ
21๋ถ ๊ฒฝ Old generation์ GC ์ค๋ช ์ง๋ฌธ์ ๋๋ค.
21๋ถ ๊ฒฝ์ Old Generation์ ์ค๋ช ํ์๋ฉด์ Full GC๋ฅผ ์ธ๊ธํ์ จ๋๋ฐ, ํด๋น ์์ ์๋ Major GC๊ฐ ๋ฐ์ํด์ ๊ฐ์ฒด๋ฅผ ํ์ํ๊ฒ ๋๊ณ Major GC๋ก ๋ถํฐ ์ด์๋จ์ ๊ฐ์ฒด๊ฐ Metaspace ์์ญ์ผ๋ก ์ฎ๊ฒจ์ง
java๊ฐ์ฒด์งํฅjvmdata-structureํ๊ท์
ใป
8๋ฌ ์
0
102
3
- ํด๊ฒฐ
์์ ๊ฐ์ฒด์ ์ฒซ ๋ฒ์งธ ์ํฉ์ ๋ํ ์ง๋ฌธ
๊ฐ์์์ ์์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ์ฒซ ๋ฒ์งธ ์ํฉ์ผ๋ก ํด๋์ค๊ฐ ํจ์์ ๋ฐํ ์๋ฃํ์ด ๋ ๊ฒฝ์ฐ (์ด๋ฆ์ด ์๋) ์์ ๊ฐ์ฒด๋ฅผ ์์ฑ์ ์ธ๊ธํด์ฃผ์ จ์ต๋๋ค.<p style="text-align: l
java๊ฐ์ฒด์งํฅjvmdata-structurecho766
ใป
9๋ฌ ์
0
70
2
- ํด๊ฒฐ
String ๊ฐ์ฒด๊ฐ ํ๋ ๋ ์์ฑ๋๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค
๊ฐ์ฌ๋ ์๋ ํ์ธ์."[์ค์ต] MyString ํด๋์ค ์์ฑ์ ๋ค์ค ์ ์" ๊ฐ์ 6:21 ์ค๋ช ์์ ์์ฑ์์์ this.setString(param)</co
java๊ฐ์ฒด์งํฅjvmdata-structureZZAMBA
ใป
10๋ฌ ์
0
189
3
- ํด๊ฒฐ
ํ์ ํด๋์ค์ ์์ ํด๋์ค์ ์์ฑ์ ์์
์น์ 4. ์์๊ณผ ๊ด๊ณ - 22. ์์๊ณผ ์์ฑ์ 10:45 ์ค๋ช ์ด ๋ง์ฐํ์ฌ ๋จ๊น๋๋ค.<p
java๊ฐ์ฒด์งํฅjvmdata-structureํ๋ฐฑ๋
ใป
10๋ฌ ์
0
104
2
- ํด๊ฒฐ
GC์ age์ ๊ด๋ จํ์ฌ ์ง๋ฌธ ์์ต๋๋ค.
์๋ ํ์ธ์!JVM ํํธ๋ฅผ ๋ณต์ตํ๋ค๊ฐ ๊ถ๊ธํ ์ ์ด ์๊ฒจ ์ง๋ฌธ๋๋ฆฝ๋๋ค. Young Generation(Eden โ S0 <span dat
java๊ฐ์ฒด์งํฅjvmdata-structureํ์
ใป
์ผ ๋ ์
0
97
2
- ํด๊ฒฐ
Object Header ์ Klass word (39๊ฐ 36:00)
39๊ฐ์ 36๋ถ ๊ฒฝ์ ๋ณด์ฌ์ฃผ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด Object Header ์ Klass word ๊ฐ Metaspace ์์ญ์ Class ํด๋์ค์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฅดํค๊ณ ์์ต๋๋ค. ํด๋น Class ํด๋์ค์ ๋ฉํ๋ฐ
java๊ฐ์ฒด์งํฅjvmdata-structuredhdwotjd
ใป
์ผ ๋ ์
0
115
2
- ํด๊ฒฐ
method area๋ ์ด๋ฆ์ด class area๊ฐ ์๋๊ณ ์ method aread์ธ์ง ๊ถ๊ธํฉ๋๋ค.
์ ๊ถ๊ธ์ฆ์ <a target="_blank" rel="noopener noreferrer" class="c-link" href="https://docs.oracle.com/javase/specs/jvms/se24/ht
java๊ฐ์ฒด์งํฅjvmdata-structure๋ฐ๋ผ๋๋ฐ๋ผ๋
ใป
์ผ ๋ ์
0
139
2
- ํด๊ฒฐ
๊ต์ p.305 'throw ํ์' ์ง๋ฌธ
๊ต์ 305์ชฝ์ ๋ ๊ฐ์ง ์์ธ ์ข ๋ฅChecked์์ธ์ฒ๋ฆฌ ๊ฐ์ ํ<p s
java๊ฐ์ฒด์งํฅjvmdata-structureํ์
ใป
0
81
1
- ํด๊ฒฐ
Metaspace์ ๋ํ ์ง๋ฌธ
์๋ ํ์ธ์ ๋๋ํ๊ฐ๋ฐ์๋ ์์ ๋ค์ผ๋ฉด์ ๋ง์ ๊ฒ์ ๋ฐฐ์ฐ๊ณ ์์ต๋๋ค! <p style="text-align: lef
java๊ฐ์ฒด์งํฅjvmdata-structureโ์ด์ ๊ด
ใป
0
257
2
- ํด๊ฒฐ
clone() ๋ฉ์๋๋ฅผ ์ฌ์ ์ํจ์ผ๋ก์จ Deep copy๋ก ๊ตฌํํ๋ค๋ก ์ดํดํ๋ฉด ๋ ๊น์?
์๋ ํ์ธ์!ํ๊ฐ์ง ์๋ฆฌ์กํ ๋ถ๋ถ์ด ์์ด ์ง๋ฌธ ๋๋ฆฝ๋๋ค:)20:30 ์ ๋์ clone()์ด ๋ฑ์ฅํ๋๋ฐ cl
java๊ฐ์ฒด์งํฅjvmdata-structureํ์
ใป
0
120
2
- ํด๊ฒฐ
MyListEx ์ง๋ฌธ๋๋ฆฝ๋๋ค.
MyListEx ์์ฑ์์์ UserData๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ๋๋ก ์ค๊ณํ ์ด์ ์ ๋ํด ๊ถ๊ธํฉ๋๋ค.MyNode๋ผ๋ ์ถ์ ์๋ฃํ(ADT)์ ์ ์ํด ๋์ จ๋๋ฐ, ์์ฑ์์์ ํน์ ๊ตฌํ์ฒด์ธ <co
java๊ฐ์ฒด์งํฅjvmdata-structureHahahabah
ใป
1
136
1
- ํด๊ฒฐ
part3 ๊ฐ์ ๊ฐ๊ฐ
์ ๊ธฐ์ต์๋ ์๋ ๋ง์๋ part3๊ฐ์๊ฐ ๋์จ๋ค๊ณ ํ์ จ๋๋ฐ,์ธ์ ์ฏค ๊ฐ์ ์คํ ์์ ์ด์ ๊ฐ์?
java๊ฐ์ฒด์งํฅjvmdata-structure๋ณ๋ค๋ฐฉ
ใป
0
197
2






