[JAVA] 더 μžλ°”, Java 8 μ• λ…Έν…Œμ΄μ…˜ λ³€ν™”, λ°°μ—΄ Parallel μ •λ ¬, Metaspace

2022. 4. 11. 15:26ㆍJAVA/study

728x90

1️⃣ μ• λ…Έν…Œμ΄μ…˜ λ³€ν™”

μžλ°”8 λΆ€ν„° μ• λ…Έν…Œμ΄μ…˜μ„ νƒ€μž… 선언뢀에도 μ‚¬μš©ν•  수 있게 됨 

μžλ°”8λΆ€ν„° μ• λ…Έν…Œμ΄μ…˜μ„ μ€‘λ³΅ν•΄μ„œ μ‚¬μš©ν•  수 있게 됨 

 

νƒ€μž… μ„ μ–ΈλΆ€ 

-> μ œλ„€λ¦­ νƒ€μž…, λ³€μˆ˜ νƒ€μž…, λ§€κ°œλ³€μˆ˜ νƒ€μž…, μ˜ˆμ™Έ νƒ€μž….. 

 

νƒ€μž…μ— μ‚¬μš©ν•  수 있으렀면 

TYPE_PRARMETER : νƒ€μž… λ³€μˆ˜μ—λ§Œ μ‚¬μš©ν•  수 μžˆλ‹€. 

 

TYPE_USE : νƒ€μž… λ³€μˆ˜λ₯Ό ν¬ν•¨ν•΄μ„œ λͺ¨λ“  νƒ€μž… 선언뢀에 μ‚¬μš©ν•  수 μžˆλ‹€.

 

쀑볡 μ• λ…Έν…Œμ΄μ…˜ λ§Œλ“€κΈ° 

-> 쀑볡 μ‚¬μš©ν•  μ• λ…Έν…Œμ΄μ…˜ λ§Œλ“€κΈ° 

-> 쀑볡 μ• λ…Έν…Œμ΄μ…˜ μ»¨ν…Œμ΄λ„ˆ λ§Œλ“€κΈ° : μ»¨ν…Œμ΄λ„ˆ μ• λ…Έν…Œμ΄μ…˜μ€ 쀑볡 μ• λ…Έν…Œμ΄μ…˜κ³Ό @Retentionκ³Ό @Target이 κ°™κ±°λ‚˜ 더 λ„“μ–΄μ•Ό ν•œλ‹€. 

 

 

2️⃣ λ°°μ—΄ Parallel μ •λ ¬

Arrays.parallelSort()

: Fork/join ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•΄μ„œ 배열을 λ³‘λ ¬λ‘œ μ •λ ¬ν•˜λŠ” κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 

-> 병렬 μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜ 

배열을 λ‘˜λ‘œ 계속 μͺΌκ°œκ³ , ν•©μΉ˜λ©΄μ„œ μ •λ ¬ν•œλ‹€. 

μ‹œκ°„μ€ ν™•μ‹€νžˆ λΉ λ₯΄λ‹€.

 

 

3️⃣ Metaspace

: JVM 의 μ—¬λŸ¬ λ©”λͺ¨λ¦¬ μ˜μ—­ 쀑에 PermGen λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ 없어지고 MetaSpace μ˜μ—­μ΄ 생겼닀. 

 

PermGen

: Permanent Generation 클래슀, 메타데이터λ₯Ό λ‹΄λŠ” κ³³ 

Heap μ˜μ—­μ— μ†ν•˜κ³ , κΈ°λ³Έκ°’μœΌλ‘œ μ œν•œλœ 크기λ₯Ό 가지고 μžˆλ‹€. 

XX:PermSize=N, PermGen 초기 μ‚¬μ΄μ¦ˆ μ„€μ • 

XX:MaxPermSize= N, PermGen μ΅œλŒ€ μ‚¬μ΄μ¦ˆ μ„€μ • 

 

Metaspace

클래슀 메타데이터λ₯Ό λ‹΄λŠ” κ³³ 

Heap μ˜μ—­μ΄ μ•„λ‹Œ Native λ©”λͺ¨λ¦¬ μ˜μ—­μ΄λ‹€. 

κΈ°λ³Έκ°’μœΌλ‘œ μ œν•œλœ 크기λ₯Ό 가지고 μžˆμ§€ μ•Šλ‹€. (ν•„μš”ν•œ 만큼 계속 λŠ˜μ–΄λ‚œλ‹€.)

μžλ°”8λΆ€ν„° PermGen κ΄€λ ¨ java μ˜΅μ…˜μ€ λ¬΄μ‹œν•œλ‹€. 

XX: MetaspaceSize= N, Metaspace 초기 μ‚¬μ΄μ¦ˆ μ„€μ • 

XX:MaxMetaspaceSize= N, Metaspace μ΅œλŒ€ μ‚¬μ΄μ¦ˆ μ„€μ • 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90