JavaRush /Java Blog /Random-KO /2020๋…„ Java ๊ฒฐ๊ณผ: ๋ฒ„์ „ 14 ๋ฐ 15์˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ, Java ๋“ฑ๊ธ‰ ๋ฐ ์ธ๊ธฐ๋„ ์ˆœ์œ„

2020๋…„ Java ๊ฒฐ๊ณผ: ๋ฒ„์ „ 14 ๋ฐ 15์˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ, Java ๋“ฑ๊ธ‰ ๋ฐ ์ธ๊ธฐ๋„ ์ˆœ์œ„

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

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

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

ํ‰๊ฐ€์—์„œ Java: ์—ฌ์ „ํžˆ ์ธ๊ธฐ๊ฐ€ ์žˆ์Œ

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

Java๋Š” ์–ด๋””์„œ, ๋ฌด์—‡์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜์—ˆ๋‚˜์š”?

JetBrains์— ๋”ฐ๋ฅด๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ๊ฐ€์žฅ ๋งŽ์€ ์ˆ˜์˜ Java ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„์‹œ์•„์— ๊ฑฐ์ฃผํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์•„์‹œ์•„์—๋Š” ์•ฝ 250๋งŒ ๋ช…์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ Java๋ฅผ ๊ธฐ๋ณธ ์–ธ์–ด๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 2020๋…„ Java ๊ฒฐ๊ณผ: ๋ฒ„์ „ 14 ๋ฐ 15์˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ, Java ๋“ฑ๊ธ‰ ๋ฐ ์ธ๊ธฐ ์ˆœ์œ„ - 2Java๋Š” ์ค‘๊ตญ๊ณผ ํ•œ๊ตญ์—์„œ ๊ฐ๊ฐ ์•ฝ 51%์™€ 50%์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Java๋Š” ์ธ๋„, ๋…์ผ, ์ŠคํŽ˜์ธ ๋ฐ ๋ธŒ๋ผ์งˆ์—์„œ ํ™œ๋ฐœํžˆ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฒจ๋กœ๋ฃจ์‹œ๋Š” ๊ฐœ๋ฐœ์ž์˜ 33%๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ ์ด ๊ตญ๊ฐ€ ๋ชฉ๋ก์˜ ์ค‘๊ฐ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Ÿฌ์‹œ์•„์™€ ์šฐํฌ๋ผ์ด๋‚˜๋Š” ๊ฐ๊ฐ 25%์™€ 21%์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ ์ตœํ•˜์œ„๊ถŒ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์˜ ์ฒซ 6๊ฐœ ๊ตญ๊ฐ€์—์„œ Java๊ฐ€ ์ธ๊ธฐ๋ฅผ ๋„๋Š” ์ด์œ ๋Š” ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฌด๋ฃŒ ์‚ฌ์šฉ, ์ •๋ถ€ ์ง€์› ๋ฐ ์˜คํ”ˆ ์†Œ์Šค ์ฝ”๋“œ ๋•Œ๋ฌธ์ด๋ผ๊ณ  JetBrains๋Š” ๋ฐํ˜”์Šต๋‹ˆ๋‹ค . Java 8์€ ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ๊ฐ€์žฅ ์„ ํ˜ธํ•˜๋Š” ๋ฒ„์ „์œผ๋กœ, Java ๊ฐœ๋ฐœ์ž์˜ 4๋ถ„์˜ 3์ด ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๋™์‹œ์— Java 11์˜ ์ธ๊ธฐ๋„ ๋†’์•„์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ž‘๋…„์— ๋น„ํ•ด ์ด ๋ฒ„์ „์˜ ์‚ฌ์šฉ์ž ์ ์œ ์œจ์ด 10% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒ๋Œ€์ ์œผ๋กœ ์ƒˆ๋กœ์šด Java 12 ๋ฐ Java 13๋„ ๋น ๋ฅด๊ฒŒ ์ฒญ์ค‘์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ 10% ์ด์ƒ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. Java ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘์—์„œ Spring Boot๋Š” 61%์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ ํƒํ•œ ์„ ๋‘์ฃผ์ž์ž…๋‹ˆ๋‹ค. 2์œ„์™€ 3์œ„๋Š” ๊ฐ๊ฐ Spring MVC(42%)์™€ JSF(6%)์ž…๋‹ˆ๋‹ค. 2020๋…„์—๋Š” ์›น์‚ฌ์ดํŠธ ์ž‘์„ฑ์— Java๊ฐ€ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(36%). 2์œ„๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ฐœ๋ฐœ(25%)์ด๊ณ , 3์œ„๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ(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๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Kubernetes ํ”Œ๋žซํผ์—์„œ Java๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ์กด Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํ™˜๊ฒฝ ๊ฐ„์˜ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์œผ๋กœ Quarkus๋ฅผ ์ง€์›ํ•˜๋ฉด ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ๋ฟ ์•„๋‹ˆ๋ผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค, ์ปจํ…Œ์ด๋„ˆ, ์„œ๋ฒ„๋ฆฌ์Šค ์ปดํ“จํŒ…๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•  ๋•Œ Java๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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