๐Ÿ˜Ž๋‚˜๋ฅผ ์œ„ํ•œ JAVA 11 , 17 ๋ณ€๊ฒฝ ์‚ฌํ•ญ๐Ÿ˜Ž

์œ ํ˜•์ฐฌยท2022๋…„ 12์›” 15์ผ
0

JDK 11

TypeFeaturesContent
ํŒจํ‚ค์ง€Jigsaw ๋ชจ๋“ˆ ์‹œ์Šคํ…œ๋ชจ๋“ˆ์„ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ๋ชจ๋“ˆ์€ ์™ธ๋ถ€์—์„œ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ์ œ๊ณตํ•˜์—ฌ, ์–ธ์–ด๋ ˆ๋ฒจ์—์„  ์ง์ ‘์ ์œผ๋กœ ํ•ด๋‹น ๋ชจ๋“ˆ์— ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅ
ํŒจํ‚ค์ง€New Garbage Collector, ZGC ์ถ”๊ฐ€์ƒˆ๋กœ์šด Garbage Collector ๋„์ž…
ํŒจํ‚ค์ง€Thread-Local HandshakesGC ์‹คํ–‰ ์ „ ์šฐ์„  ๋ฐœ์ƒํ•˜๋Š” "STOP-THE-WORLD" ๋ฐœ์ƒ ์‹œ ์ด์ „์—๋Š” ๋ชจ๋“  Thread๊ฐ€ ๋™์‹œ์— ์ค‘๋‹จ์ด ๋˜์—ˆ๋‹ค๋ฉด, ์ด์ œ๋Š” Thread ๊ฐœ๋ณ„๋กœ ์ค‘๋‹จ ๊ฐ€๋Šฅ
ํŒจํ‚ค์ง€JVM ํž™ ์˜์—ญ์„ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹นHotSpot JVM ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๋Œ€์ฒด ๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜ ๋˜๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ์žฅ์น˜๋ฅผ ์ด์šฉํ•ด์„œ JVM Heap ์˜์—ญ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น
ํŒจํ‚ค์ง€Multi-Release JAR FileJARํŒŒ์ผ ํ˜•์‹์„ ํ™•์žฅํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ ํด๋ž˜์Šค ํŒŒ์ผ์„ ํ•˜๋‚˜์˜ JAR์•ˆ์— ๊ณต์กด ๊ฐ€๋Šฅ
์ง€์› ๋„๊ตฌjlinkJRE๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋„๊ตฌ
์ง€์› ๋„๊ตฌJShell๋ฉ”์ธ Method ์—†์ด ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ๋„ฃ๊ณ  ์ฆ‰์„์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ
๊ธฐ๋ŠฅCollection Factory Method ๊ธฐ๋Šฅ ๊ฐ•ํ™”List, Set, Map ์ธํ„ฐํŽ˜์ด์Šค์— immutable ์ƒ์„ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด Method ์ถ”๊ฐ€
๊ธฐ๋ŠฅInterface, Private Method ๋„์ž…์ธํ„ฐํŽ˜์ด์Šค ๋‚ด private Method ์‚ฌ์šฉ ๊ฐ€๋Šฅ
๊ธฐ๋ŠฅOptional ifPresentOrElse Method ์ถ”๊ฐ€๊ธฐ์กด ifPresent Method ๊ฒฝ์šฐ Optional ๊ฐ์ฒด๊ฐ€ ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ๋งŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์˜€์œผ๋‚˜, ์ถ”๊ฐ€ ๋œ ifPresentOrElse Method๋Š” ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌํ•  ๋‚ด์šฉ๊นŒ์ง€ ์ •์˜๊ฐ€ ๊ฐ€๋Šฅ
๊ธฐ๋ŠฅHTML5 Javadocjavadoc ์ƒ์„ฑ ์‹œ, ์ด์ „์—๋Š” HTML4 ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์˜€์œผ๋‚˜, JDK 9 ๋ถ€ํ„ฐ๋Š” HTML5 ๋งˆํฌ์—…์œผ๋กœ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅ
๊ธฐ๋ŠฅHTTP 2 Clienthttp2๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์‹ ๊ทœ ํด๋ผ์ด์–ธํŠธ API ์ œ๊ณต, ๊ธฐ์กด HttpURLConnection API ๋Œ€์ฒด ๊ฐ€๋Šฅ
๊ธฐ๋ŠฅReactive StreamNon-Blocking Backpressure๋ฅผ ์ด์šฉํ•œ ๋น„๋™๊ธฐ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ์ง€์› API ์ถ”๊ฐ€
๊ธฐ๋Šฅ๋กœ์ปฌ ๋ณ€์ˆ˜ ํƒ€์ž… ์ถ”๋ก  "var"๋กœ์ปฌ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ "ํƒ€์ž… ์ถ”๋ก "์„ ์ด์šฉํ•œ ๋ช…์‹œ์  ํƒ€์ž… ์„ ์–ธ์ด ์—†์–ด๋„ ๋ณ€์ˆ˜ ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•œ "var" ํ‚ค์›Œ๋“œ ์ถ”๊ฐ€
๊ธฐ๋Šฅ์‹ ๊ทœ ๋ฌธ์ž์—ด Method ์ถ”๊ฐ€isBlank, lines, strip, stripLeading, stripTrailing, repeat ๋“ฑ ์‹ ๊ทœ String Method ์ถ”๊ฐ€

JDK 17

TypeFeaturesContent
ํŒจํ‚ค์ง€ํ–ฅ์ƒ๋œ ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ(Pseudo-Random Number Generator)๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…๊ณผ ๊ตฌํ˜„์„ ์ œ๊ณต
ํŒจํ‚ค์ง€์‹ ๊ทœ Mac OS ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธApple ๋ฉ”ํƒˆ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Mac OS์šฉ Java ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌํ˜„
๊ธฐ๋Šฅํ…์ŠคํŠธ ๋ธ”๋ก ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ธฐ์กด String์„ ์—ฌ๋Ÿฌ ์ค„ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ, ๊ฐ€๋…์„ฑ ์žˆ๋Š” ์ฝ”๋“œ ์ง€์›
๊ธฐ๋ŠฅSwitch ํ‘œํ˜„์‹ ๊ธฐ๋Šฅ ํ–ฅ์ƒSwitch ๋ฌธ ์ด์šฉ ์‹œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ์ด์šฉ ๊ฐ€๋Šฅ ํ•˜๋ฉฐ, ๋žŒ๋‹ค ์Šคํƒ€์ผ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
๊ธฐ๋ŠฅRecord Data class ์ถ”๊ฐ€immutable ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ํด๋ž˜์Šค๋กœ ๊ธฐ์กด toString, equals, hashCode Method์— ๋Œ€ํ•œ ๊ตฌํ˜„์„ ์ž๋™ ์ œ๊ณต
๊ธฐ๋ŠฅInstanceof ๋งค์นญ์ด์ „ ๋ฒ„์ „ ๊ฒฝ์šฐ Instanceof ๋‚ด๋ถ€์—์„œ ๊ฐ์ฒด๋ฅผ ์บ์ŠคํŒ… ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜์˜€์œผ๋‚˜, ์บ์ŠคํŒ… ๊ณผ์ •์„ ๋‚ด๋ถ€์—์„œ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ
๊ธฐ๋ŠฅNumberFormat ํด๋ž˜์Šค ๊ธฐ๋Šฅ ํ–ฅ์ƒ๊ธฐ์กด ์ˆซ์ž Format ํด๋ž˜์Šค(NumberFormat) ๋‚ด Method ์ถ”๊ฐ€(getCompactNumberInstance)
๊ธฐ๋ŠฅDateTimeFormatter ํด๋ž˜์Šค ๊ธฐ๋Šฅ ํ–ฅ์ƒ๊ธฐ์กด ๋‚ ์งœ Format ํด๋ž˜์Šค(DateTimeFormatter) ๋‚ด ํŒจํ„ด Method ํ˜•์‹ ์ถ”๊ฐ€("B")
๊ธฐ๋Šฅ๋ด‰์ธ(Sealed) ํด๋ž˜์Šค๋ฌด๋ถ„๋ณ„ํ•œ ์ƒ์†์„ ๋ง‰๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ๋“ฑ์žฅํ•œ ๊ธฐ๋Šฅ์œผ๋กœ ์ง€์ •ํ•œ ํด๋ž˜์Šค ์™ธ ์ƒ์†์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ง€์ •ํ•œ ํด๋ž˜์Šค ์™ธ ์ƒ์† ๋ถˆ๊ฐ€๋Šฅ
๊ธฐ๋ŠฅStream.toList() ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ธฐ์กด, Stream์„ List๋กœ ๋ณ€ํ™˜ ์‹œ Collectors์—์„œ ๊ธฐ๋Šฅ์„ ์ฐพ์•„ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด Java17 ๋ถ€ํ„ฐ๋Š” Collectorsํ˜ธ์ถœ ์—†์ด toList()๋งŒ์œผ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅ
profile
rocoli์—์š”

0๊ฐœ์˜ ๋Œ“๊ธ€