์ฝ”๋กœ๋‚˜๋ฐ”์ด๋Ÿฌ์Šค ๋Œ€์œ ํ–‰๊ณผ ๊ทธ์— ๋”ฐ๋ฅธ ๊ฒฝ์ œ ์œ„๊ธฐ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  2020๋…„์—๋Š” ์ข‹์€ ์ผ์ด ๋ช‡ ๊ฐ€์ง€ ์ผ์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒˆ๋กœ์šด ๋ฒ„์ „์˜ Java๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ Java๋Š” ์—ฌ์ „ํžˆ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ฐœ๋ฐœ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. 2020๋…„์„ ์š”์•ฝํ•˜๊ณ  ํ•œ ํ•ด ๋™์•ˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ํšŒ์ƒํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.2020๋…„ Java ์š”์•ฝ: ๋ฒ„์ „ 14 ๋ฐ 15์˜ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค์™€ Java์˜ ์ธ๊ธฐ ๋ฐ ์ˆœ์œ„ - 1

Java ์—…๋ฐ์ดํŠธ: ๋ฒ„์ „ 14 ๋ฐ 15

์ง€๋‚œ ํ•ด์— 2๊ฐœ์˜ Java ์—…๋ฐ์ดํŠธ(14 ๋ฐ 15)๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 14์˜ ํ˜์‹ ์—๋Š” ๋ ˆ์ฝ”๋“œ ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•œ ์‹คํ—˜์  ์ง€์›, instanceof ์—ฐ์‚ฐ์ž์˜ ํŒจํ„ด ์ผ์น˜ ์ง€์›, ๋ณด๋‹ค ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ NullPointerExceptions, ํ…์ŠคํŠธ ๋ธ”๋ก์˜ ํ™•์žฅ๋œ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ฐ ์—…๋ฐ์ดํŠธ๋œ ์Šค์œ„์น˜ ๋ฌธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์›์ž…๋‹ˆ๋‹ค. Oracle์˜ Java ํ”Œ๋žซํผ ๊ทธ๋ฃน ๋ถ€์‚ฌ์žฅ์ธ George Saab์€ "Java 14๋Š” 6๊ฐœ์›” ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ์˜ ์ด์ ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ถ”๊ฐ€ ์ฆ๊ฑฐ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ˆ˜๋…„ ๋™์•ˆ ๊ธฐ๋‹ค๋ ค์•ผ ํ–ˆ๋˜ ๊ธฐ๋Šฅ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. Saab์— ๋”ฐ๋ฅด๋ฉด JDK 14์—๋Š” ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋Š” ํ–ฅ์ƒ๋œ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” Project Panama(ํ–ฅ์ƒ๋œ ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ์ธํ„ฐํŽ˜์ด์Šค)์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์˜ ์ค‘์š”ํ•œ ์ฝ˜ํ…์ธ ์™€ Project Amber( ํŒจํ„ด ๋งค์นญ ๋ฐ ๊ธฐ๋ก). Java 14์˜ ์ฃผ์š” ํ˜์‹  ์ค‘ ํ•˜๋‚˜๋Š” ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋งํ•˜๋Š” ๊ฒƒ์€ ๋ฐœํ• ๋ผ ํ”„๋กœ์ ํŠธ ์—์„œ ๊ฐœ๋ฐœ๋œ ์ƒˆ๋กœ์šด ์œ ํ˜•์ž…๋‹ˆ๋‹ค . ๋ ˆ์ฝ”๋“œ๋Š” ์—ด๊ฑฐํ˜•๊ณผ ์œ ์‚ฌํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒํƒœ๋Š” ์žˆ์ง€๋งŒ ๋™์ž‘์ด ์—†๋Š” ํด๋ž˜์Šค๋ฅผ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. JDK 14์—์„œ๋Š” Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ƒˆ๋กœ์šด MemorySegment, MemoryAddress ๋ฐ MemoryLayout ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java Virtual Machine์˜ ํž™ ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ธํ๋ฒ ์ดํŒ… ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค API๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 15์—๋Š” Edwards-curve ๋””์ง€ํ„ธ ์„œ๋ช… ์•Œ๊ณ ๋ฆฌ์ฆ˜, ํžˆ๋“  ํด๋ž˜์Šค, ์ด์ „์— ๋ฏธ๋ฆฌ ๋ณด๊ธฐ์˜€๋˜ ๊ธฐ๋Šฅ์˜ ์ตœ์ข… ๋ฒ„์ „(ํ…์ŠคํŠธ ๋ธ”๋ก ๋ฐ ZGC ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ)๊ณผ ๊ฐ™์€ ํ˜์‹ ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค . ์‹คํ—˜์  ๊ธฐ๋Šฅ์œผ๋กœ Java 15์—์„œ๋Š” ์ฒ˜์Œ์œผ๋กœ ๋ด‰์ธ๋œ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉฐ, ์ธ์Šคํ„ด์Šคof ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ๋ ˆ์ฝ”๋“œ ๋ฐ ํŒจํ„ด ์ผ์น˜๋„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”์•ฝํ•˜์ž๋ฉด, 6๊ฐœ์›”์˜ ์—…๋ฐ์ดํŠธ ์ฃผ๊ธฐ ๋•๋ถ„์— Java๋Š” ๋ฐœ์ „ํ–ˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋’ค์ฒ˜์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ˆœ์œ„์— ๋‚˜ํƒ€๋‚œ Java: ์—ฌ์ „ํžˆ ์ธ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

JetBrains์˜ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด Java๋Š” ์—ฌ์ „ํžˆ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ฃผ์š” ์–ธ์–ด๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฝ 520๋งŒ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. " Java Turns 25 " ๋ผ๋Š” ์ œ๋ชฉ์˜ IDC ๋ณด๊ณ ์„œ๋Š” ๋‚™๊ด€์ ์ž…๋‹ˆ๋‹ค. ์ „ ์„ธ๊ณ„์ ์œผ๋กœ 900๋งŒ ๋ช… ์ด์ƒ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ Java๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. "ํ˜„์žฌ 510์–ต ๊ฐœ์˜ JVM(Java Virtual Machine)์ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๋ฐฐํฌ๋˜์–ด ํ™œ๋ฐœํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ Java๋Š” ๋ถ„์„, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ, ์†Œ์…œ ์„œ๋น„์Šค, ๋น… ๋ฐ์ดํ„ฐ, DevOps, ๋ชจ๋ฐ”์ผ ์•ฑ, ์ง€์†์ ์ธ ๊ฐœ๋ฐœ์„ ํฌํ•จํ•œ ์ตœ์‹  ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์„ ํ˜ธ๋˜๋Š” ์„ ํƒ์ž…๋‹ˆ๋‹ค. Java ๊ธ€๋กœ๋ฒŒ ๋งˆ์ผ€ํŒ… ๋ถ€์‚ฌ์žฅ์ธ Manish Gupta๋Š” ๋งํ•ฉ๋‹ˆ๋‹ค . ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ธ๊ธฐ๋ฅผ ์ธก์ •ํ•˜๋Š” TIOBE ์ง€์ˆ˜ ์— ๋”ฐ๋ฅด๋ฉด 2020๋…„ 12์›”, Java๋Š” ์„ธ๊ณ„์—์„œ ๋‘ ๋ฒˆ์งธ๋กœ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค . ํ‰๊ฐ€๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๊ณ ์šฉ์ฃผ๋“ค ์‚ฌ์ด์—์„œ Java๊ฐ€ ์ธ๊ธฐ๋ฅผ ๋ˆ„๋ฆฌ๋Š” ์ด์œ ๋Š” ์ด ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์ˆ˜๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์„œ๋น„์Šค ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์ง ์‚ฌ์ดํŠธ Dice.com์˜ ์ˆœ์œ„์—์„œ Java๋Š” SQL์— ์ด์–ด 2์œ„๋ฅผ ์ฐจ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค . Stack Overflow ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์—ฐ๋ก€ ์„ค๋ฌธ์กฐ์‚ฌ ๊ฒฐ๊ณผ๋„ ์žŠ์ง€ ๋งˆ์„ธ์š”. 2020๋…„ Java๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ฐœ๋ฐœ ์–ธ์–ด ์ค‘ 5์œ„๋ฅผ ์ฐจ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณด์‹œ๋‹ค์‹œํ”ผ, Java๋Š” 2020๋…„์— ์ธ๊ธฐ๋„๊ฐ€ ์˜ค๋ฅด์ง€ ์•Š์•˜์ง€๋งŒ ํ•˜๋ฝํ•˜์ง€๋„ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Java๋Š” ์–ด๋””์—, ์–ด๋–ค ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋‚˜์š”?

JetBrains์— ๋”ฐ๋ฅด๋ฉด ํ˜„์žฌ ์•„์‹œ์•„์—๋Š” Java ๊ฐœ๋ฐœ์ž ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์œผ๋ฉฐ ์•ฝ 250๋งŒ ๋ช…์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ Java๋ฅผ ๊ธฐ๋ณธ ์–ธ์–ด๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์ค‘๊ตญ๊ณผ ํ•œ๊ตญ์—์„œ๋Š” ์ž๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ๊ฐ 51%, 50% ์ •๋„๋‹ค. Java๋Š” ์ธ๋„, ๋…์ผ, ์ŠคํŽ˜์ธ ๋ฐ ๋ธŒ๋ผ์งˆ์—์„œ ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. JetBrains ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด ์ƒ์œ„ 6๊ฐœ ๊ตญ๊ฐ€์—์„œ Java๊ฐ€ ์ธ๊ธฐ๋ฅผ ๋ˆ„๋ฆฌ๋Š” ์ด์œ ๋Š” Java์˜ ๋ฌด๋ฃŒ ์‚ฌ์šฉ, ์ •๋ถ€ ์ง€์› ๋ฐ ์˜คํ”ˆ ์†Œ์Šค ๋•Œ๋ฌธ์ธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค . ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ๋Š” Java 8์ด ์—ฌ์ „ํžˆ ๊ฐ€์žฅ ์‚ฌ๋ž‘๋ฐ›๋Š” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. Java ๊ฐœ๋ฐœ์ž์˜ 4๋ถ„์˜ 3์ด ์ด๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Java 11์˜ ์ธ๊ธฐ๊ฐ€ ๋†’์•„์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋งˆ๋‹ค ์ด ๋ฒ„์ „์˜ ์ ์œ ์œจ์€ 10% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒ๋Œ€์ ์œผ๋กœ ์ตœ์‹  ๋ฒ„์ „์ธ Java 12 ๋ฐ Java 13๋„ ๋น ๋ฅด๊ฒŒ ์ฒญ์ค‘์„ ์ฐพ๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ 10% ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Spring Boot๋Š” 61%์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ ํƒํ•œ Java ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ์„ ๋‘์ฃผ์ž์ž…๋‹ˆ๋‹ค. 2์œ„์™€ 3์œ„๋Š” ๊ฐ๊ฐ Spring MVC(42%)์™€ JSF(6%)๊ฐ€ ์ฐจ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค. 2020๋…„์—๋Š” ์›น ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด๊ฐ€ Java์˜€์Šต๋‹ˆ๋‹ค(36%). ๋‘ ๋ฒˆ์งธ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ฐœ๋ฐœ(25%)์ด๊ณ , ์„ธ ๋ฒˆ์งธ๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ(19%)์ž…๋‹ˆ๋‹ค.

๋‰ด์Šค ์†์˜ ์ž๋ฐ”

2020๋…„์—๋Š” Java์— ๋˜ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ๋‚˜์š”? ์šฐ๋ฆฌ๋Š” Java ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ์ค‘์š”ํ•œ ๋‰ด์Šค๋ฅผ ๋ชจ์•„๋ดค์Šต๋‹ˆ๋‹ค.

Java ์ˆ™๋ จ๋„๋Š” ์›๊ฒฉ ๊ทผ๋ฌด์— ๊ฐ€์žฅ ์š”๊ตฌ๋˜๋Š” ์„ธ ๊ฐ€์ง€ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฏธ๊ตญ์— ๋ณธ์‚ฌ๋ฅผ ๋‘” ๊ตฌ์ง ์„œ๋น„์Šค์ธ Dice๋Š” ์žฌํƒ๊ทผ๋ฌด ์ง์›์„ ์ฐพ๋Š” ๊ณ ์šฉ์ฃผ๋“ค ์‚ฌ์ด์—์„œ ๊ฐ€์žฅ ์ˆ˜์š”๊ฐ€ ๋†’์€ ๊ธฐ์ˆ , ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐ ๋„๊ตฌ ๋ชฉ๋ก์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค . ์ง€๋‚œ ๋‘ ๋‹ฌ ๋™์•ˆ์—๋Š” SQL ์–ธ์–ด๊ฐ€ ์„ ๋‘๋ฅผ ์ฐจ์ง€ํ–ˆ๊ณ , ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์™€ Java ์–ธ์–ด๊ฐ€ ๊ทธ ๋’ค๋ฅผ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๊ตฌ ์ €์ž๋“ค์€ ๋ณด๊ฑด ๋ฐ ๊ต์œก ๋ถ€๋ฌธ์˜ ์กฐ์ง์ด ํŒฌ๋ฐ๋ฏน ๊ธฐ๊ฐ„ ๋™์•ˆ ์›๊ฒฉ ๊ทผ๋ฌด๋ฅผ ๊ฐ€์žฅ ์ ๊ทน์ ์œผ๋กœ ์ˆ˜์šฉํ–ˆ๋‹ค๊ณ  ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Snowflake๋Š” Java ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์ œ๊ณต์—…์ฒด์ธ Snowflake๊ฐ€ ์ƒˆ๋กœ์šด Snowpark ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ํ…Œ์ŠคํŠธ ๋ฒ„์ „์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. Java, Scala ๋ฐ Python์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Snowpark์—๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค์™€ ํ•ต์‹ฌ Snowflake ์—”์ง„ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ตœ์ ํ™”ํ•˜๋Š” API ์„ธํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. IDE๋Š” Snowflake Data Cloud์˜ ์„œ๋ฒ„๋ฆฌ์Šค ์ž‘์—…์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ง€์›์œผ๋กœ ๋ณด์™„๋ฉ๋‹ˆ๋‹ค.

Red Hat์€ ํด๋ผ์šฐ๋“œ์šฉ Quarkus Java ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

Quarkus ์ œ์ž‘์ž์— ๋”ฐ๋ฅด๋ฉด Quarkus ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Kubernetes ํ”Œ๋žซํผ์—์„œ Java๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ์กด Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ ๊ฐ„์˜ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์ธ Quarkus๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Java๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์ปจํ…Œ์ด๋„ˆ, ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•  ๋•Œ ๊ธด๊ธ‰ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GraalVM ๊ฐ€์ƒ ๋จธ์‹ ์ด ๋ฒ„์ „ 20.3์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ผํด์€ HotSpot/OpenJDK ๊ธฐ๋ฐ˜์˜ JDK์ด์ž Java ๊ฐ€์ƒ ๋จธ์‹ ์ธ GraalVM์˜ ์˜ฌํ•ด ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” GraalVM์˜ ์ฒซ ๋ฒˆ์งธ LTS(์žฅ๊ธฐ ์ง€์›) ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค. GraalVM 20.3์— ๋„์ž…๋œ ๊ฐœ์„  ์‚ฌํ•ญ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์„ 40% ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํ–ฅ์ƒ๋œ ์ปดํŒŒ์ผ๋Ÿฌ ํœด๋ฆฌ์Šคํ‹ฑ; ์ƒˆ๋กœ ํ• ๋‹น๋œ ๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ ์ƒ์„ฑ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ–ฅ์ƒ๋œ ์ฝ”๋“œ ๋ณต์ œ ์ตœ์ ํ™”(GraalVM Enterprise ๋ฒ„์ „) ์•Œ๋‹ค์‹œํ”ผ, ์ž‘๋…„์— Java์— ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. 2020๋…„ Java ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ด๋ฒคํŠธ๋Š” ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?