Community

๐ŸŽ‰ JDK 22 ๊ฐ€ ์ถœ์‹œ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

JDK 22 ๊ฐ€ ๊ณต์‹ ์ถœ์‹œ๋˜์–ด ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. JDK 21 ์ด ์ถœ์‹œ๋œ์ง€ ์–ผ๋งˆ ์•ˆ๋œ๊ฒƒ ๊ฐ™์€๋ฐ ๋ฒŒ์จ 22๊ฐ€ ๋‚˜์˜ค๋‹ค๋‹ˆ, Java ์˜ ๋ฐœ์ „์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š”๊ฑธ ์š”์ฆ˜ ๊ณ„์† ์‹ค๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์†Œ 8๋…„์˜ ์ง€์† ๊ธฐ๊ฐ„์ด ๋ณด์žฅ๋˜๋Š” LTS(์žฅ๊ธฐ ์ง€์›) ๋ฆด๋ฆฌ์Šค์ธ JDK 21 ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ด๋ฒˆ JDK 22 ๋Š” 6๊ฐœ์›” ๋™์•ˆ Oracle ์—์„œ ์ง€์›์„ ํ•ด์ค€๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ด 12๊ฐœ์˜ JEP(Java Enhancement Proposals)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 1. ํด๋ž˜์Šค ํŒŒ์ผ API ํ”„๋ฆฌ๋ทฐ: Java ํด๋ž˜์Šค ํŒŒ์ผ์„ ํŒŒ์‹ฑ, ์ƒ์„ฑ, ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ API๋ฅผ ์ œ๊ณต. ์ด๋Š” JDK ๋‚ด๋ถ€์˜ ์ œ3์ž ASM ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  JDK ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํ‘œ์ค€ API๋กœ ์ด์ „ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•จ. 2. G1 ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋ฅผ ์œ„ํ•œ ์ง€์—ญ ๊ณ ์ •: ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘์„ ๋น„ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š๊ณ ๋„ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•จ. ์ด ๋ณ€๊ฒฝ์œผ๋กœ Java ์Šค๋ ˆ๋“œ๋Š” G1 GC ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜์ง€ ์•Š์Œ. 3. ์•”์‹œ์ ์œผ๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค์™€ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ์˜ ๋‘ ๋ฒˆ์งธ ํ”„๋ฆฌ๋ทฐ: ์ด ๊ธฐ๋Šฅ์€ Java ์–ธ์–ด๋ฅผ ๋ฐœ์ „์‹œ์ผœ ํ•™์ƒ๋“ค์ด ๋Œ€๊ทœ๋ชจ ํ”„๋กœ๊ทธ๋žจ์šฉ์œผ๋กœ ์„ค๊ณ„๋œ ์–ธ์–ด ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜์ง€ ์•Š๊ณ ๋„ ์ฒซ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ. 4. ์ŠคํŠธ๋ฆผ ์ˆ˜์ง‘๊ธฐ: Java์˜ Stream API๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ๊ธฐ์กด์˜ ๋‚ด์žฅ ์ค‘๊ฐ„ ์ž‘์—…์œผ๋กœ ์‰ฝ๊ฒŒ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ. 5. super(โ€ฆ) ์ „์˜ ๋ฌธ์žฅ ํ”„๋ฆฌ๋ทฐ: ์ƒ์„ฑ์ž์— ๋Œ€ํ•œ ๋ฌธ์žฅ์„ ํ—ˆ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ์„ฑ์ž์˜ ๋™์ž‘์„ ๋” ์ž์œ ๋กญ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ. 6. ๋ฌธ์ž์—ด ํ…œํ”Œ๋ฆฟ์˜ ๋‘ ๋ฒˆ์งธ ํ”„๋ฆฌ๋ทฐ: ๋ฆฌํ„ฐ๋Ÿด ํ…์ŠคํŠธ์™€ ์ž„๋ฒ ๋””๋“œ ํ‘œํ˜„์‹์„ ๊ฒฐํ•ฉํ•˜์—ฌ ํŠน์ˆ˜ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑ. ์ด๋Š” Java ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ์„ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๋ณด์•ˆ์„ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•จ. 7. ๋ฒกํ„ฐ API (7๋ฒˆ์งธ ์ธํ๋ฒ ์ดํ„ฐ): ๋ฒกํ„ฐ ๊ณ„์‚ฐ์„ ํ‘œํ˜„ํ•˜๊ณ  ๋Ÿฐํƒ€์ž„์— ์ตœ์ ์˜ ๋ฒกํ„ฐ ๋ช…๋ น์œผ๋กœ ์ปดํŒŒ์ผ๋˜๋„๋ก ํ•จ. ์ด๋Š” ์Šค์นผ๋ผ ๊ณ„์‚ฐ๋ณด๋‹ค ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•จ. 8. ์ด๋ฆ„ ์—†๋Š” ๋ณ€์ˆ˜์™€ ํŒจํ„ด: ๋ณ€์ˆ˜ ์„ ์–ธ์ด๋‚˜ ์ค‘์ฒฉ๋œ ํŒจํ„ด์ด ํ•„์š”ํ•˜์ง€๋งŒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉ๋จ. ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…ํ™•์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์˜ค๋ฅ˜์˜ ๊ธฐํšŒ๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•จ. 9. ์™ธ๋ถ€ ํ•จ์ˆ˜ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ API: Java ํ”„๋กœ๊ทธ๋žจ์ด Java ๋Ÿฐํƒ€์ž„ ์™ธ๋ถ€์˜ ์ฝ”๋“œ ๋ฐ ๋ฐ์ดํ„ฐ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ. ์ด๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ. ์ด์™€ ๊ด€๋ จ๋œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณต์œ ๋“œ๋ฆฐ ์›๋ฌธ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”. ๐Ÿ“š ์›๋ฌธ * Java 22 / JDK 22: General Availability: https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008827.html * OpenJDK JDK 22 General-Availability Release: https://jdk.java.net/22/ * InfoWorld ๊ธฐ์‚ฌ: https://www.infoworld.com/article/3708329/jdk-22-the-new-features-in-java-22.html

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค