CodeGym/Java Blog/๋ฌด์ž‘์œ„์˜/Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10...
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
ํšŒ์›
Java๋Š” Sun Microsystems์—์„œ ์ถœ์‹œ๋œ ์ง€ 27๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ๋„ ์—ฌ์ „ํžˆ ์ธ๊ธฐ๊ฐ€ ๋†’์Šต๋‹ˆ๋‹ค. ์ˆ˜๋งŽ์€ ์ƒ์œ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฐจํŠธ์— ๋”ฐ๋ฅด๋ฉด Java๋Š” Python์— ์ด์–ด ์„ธ๊ณ„์—์„œ ๋‘ ๋ฒˆ์งธ๋กœ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ์ „ํžˆ Java๋ฅผ ๊ทธํ† ๋ก ์š”๊ตฌํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก Java์˜ "์—ญ๋™์„ฑ"๊ณผ 2022๋…„ Java์˜ ๋ฐœ์ „ ๋ฐฉ์‹์„ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 1

์–ด๋–ค ์ƒˆ๋กœ์šด Java ๋ฒ„์ „์ด ์ถœ์‹œ๋˜์—ˆ๋‚˜์š”? ์ตœ์‹  Java ์—๋””์…˜์„ ๊ฒ€ํ† ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ตœ์‹  Java ๋ฒ„์ „์€ 6๊ฐœ์›”๋งˆ๋‹ค ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์˜ฌํ•ด ์šฐ๋ฆฌ๋Š” 3์›”์— Java 18, 9์›”์— Java 19๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” LTS๊ฐ€ ์•„๋‹Œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์ตœ์‹  *LTS ๋ฒ„์ „์ธ Java 17์€ 2021๋…„ 3์›”์— ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. *LTS ๋ฒ„์ „์€ ์•ˆ์ •์„ฑ, ๋ณด์•ˆ ๋ฐ ์„ฑ๋Šฅ ๊ฐœ์„ ๋งŒ ๋ณด์žฅํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์—…๋ฐ์ดํŠธ๋กœ ์ธํ•ด ๋„๊ตฌ๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ์ƒํ˜ธ ์ž‘์šฉ์ด ์ค‘๋‹จ๋  ์œ„ํ—˜์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. 2018๋…„ ์ด์ „์—๋Š” Java ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๊ฐ€ ํ›จ์”ฌ ๊ธธ์–ด ์ตœ๋Œ€ 5๋…„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ธ์ƒ์€ ๋”์šฑ ์—ญ๋™์ ์œผ๋กœ ๋ณ€ํ•ด ์˜ค๋Š˜๋‚ ์˜ ๊ฒฉ๋™์ ์ธ IT ํ™˜๊ฒฝ์—์„œ ๊ฒฝ์Ÿํ•˜๊ณ  ์„ฑ๊ณตํ•˜๊ธฐ ์œ„ํ•ด Java๋Š” ์ด์ „๋ณด๋‹ค ํ›จ์”ฌ ๋” ์ž์ฃผ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฉ๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 2

์ž๋ฐ” 18. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Java 18 ๋ฆด๋ฆฌ์Šค์—์„œ ์–ด๋–ค ๋ณ€ํ™”๋‚˜ ๋ณ€ํ™”๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • UTF-8 . Java 18 ์ด์ „์—๋Š” ๋ช…์‹œ์ ์ธ ๋ฌธ์ž ์ข…๋ฃŒ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ผ์„ ์ฝ๋Š” ๋ฐ ์šด์˜ ์ฒด์ œ ์ธ์ฝ”๋”ฉ์ด ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋”์ด์ƒ. UTF-8์€ ๋ชจ๋“  ์šด์˜ ์ฒด์ œ์˜ ๊ธฐ๋ณธ ๋ฌธ์ž ์ง‘ํ•ฉ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • jwebserver ๋ช…๋ น . ์ด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ๊ธฐ๋ณธ์ ์ธ ์›น ์„œ๋ฒ„๋ฅผ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • @snippet ํƒœ๊ทธ ์ž…๋‹ˆ๋‹ค. ์ด ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†Œ์Šค ์ฝ”๋“œ ์กฐ๊ฐ์„ JavaDoc ๋ฌธ์„œ์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • "์ธํ„ฐ๋„ท ์ฃผ์†Œ ํ™•์ธ SPI." ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ QA ์ „๋ฌธ๊ฐ€๋Š” IP ์ฃผ์†Œ์— ๋Œ€ํ•œ ํ‘œ์ค€ ํ™•์ธ์ž๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฐ ์ธํ๋ฒ ์ดํ„ฐ ๊ธฐ๋Šฅ "์Šค์œ„์น˜์šฉ ํŒจํ„ด ์ผ์น˜", "์™ธ๋ถ€ ํ•จ์ˆ˜ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ API" ๋ฐ "๋ฒกํ„ฐ API"๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹จ์ˆœํ™”๋œ ์›น ์„œ๋ฒ„. Java 18์—๋Š” jwebserver ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ์ ์ธ HTTP ์„œ๋ฒ„๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค .

์ž๋ฐ” 19. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Java 19๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ์ฐธ์‹ ํ•œ ๊ธฐ๋Šฅ์„ ์ž๋ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ๊ฒƒ ์ค‘ ๋‹ค์Œ์„ ๊ฐ•์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํŒจํ„ด ์ผ์น˜๋ฅผ ํ™•์žฅํ•˜๊ณ  ๋ณด๋‹ค ์ •๊ตํ•œ ๋ฐ์ดํ„ฐ ์ฟผ๋ฆฌ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํŒจํ„ด ๊ธฐ๋ก ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
  • JEP 424 ๋Š” ์™ธ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋น„Java API์ž…๋‹ˆ๋‹ค.
  • JEP 426์€ ๋ฒกํ„ฐ ๊ณ„์‚ฐ์„ ํ‘œํ˜„ํ•˜๋Š” API๋กœ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
๋˜ํ•œ ์˜ค๋žซ๋™์•ˆ ๊ธฐ๋‹ค๋ ค์˜จ Project Loom, Foreign Function & Memory API , Structured Concurrency ๋ฐ Vector API ์—์„œ ๊ฐœ๋ฐœ๋œ ๊ฐ€์ƒ ์Šค๋ ˆ๋“œ๊ฐ€ ๋งˆ์นจ๋‚ด Java 19์— ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ํ˜„์žฌ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ชจ๋“œ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ ๋ณ€๊ฒฝ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

2022๋…„ ๊ธฐํƒ€ Java ๋ฒ„์ „ ํ˜„ํ™ฉ

2021๋…„๊ณผ 2022๋…„์— ๊ฑธ์ณ Java ๋ฒ„์ „์— ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ํšŒ์‚ฌ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒ๋‹น ๋ถ€๋ถ„์„ Java 11๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. New Relic ๋ณด๊ณ ์„œ์— ๋”ฐ๋ฅด๋ฉด 2020๋…„ 3์›” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ 84.48%๊ฐ€ Java 8์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ 48.44 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ 46.45%๊ฐ€ Java 11์— ์žˆ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ 46.45%๊ฐ€ Java 8์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ๊ธฐ์—…์ด ์—ฌ์ „ํžˆ Java 8์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์‹ค์งˆ์ ์ธ ๋ฌธ์ œ(๋„๊ตฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ ์—…๊ทธ๋ ˆ์ด๋“œ)๋ถ€ํ„ฐ ์ •์ฑ… ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ด์œ ๊ฐ€ ํ˜ผํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 3

์›์ฒœ

์ด๋Ÿฌํ•œ ๋ฒ„์ „์€ ์žฅ๊ธฐ ์ง€์›์ด๋ฉฐ ์ตœ์‹  LTS ๋ฒ„์ „์ธ Java 17์€ ์•„์ง ํ™•๊ณ ํ•œ ์œ„์น˜๋ฅผ ํ™•๋ฆฝํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ ์ถœ์‹œ ํ›„ ๋ช‡ ๋‹ฌ ๋งŒ์— ์ด๋ฏธ ๋Œ€๋ถ€๋ถ„์˜ ๋น„ LTS ๋ฒ„์ „์„ ๋Šฅ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. LTS๊ฐ€ ์•„๋‹Œ Java ๋ฒ„์ „์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ฑ„ํƒ๋ฅ ์ด ๋‚ฎ์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ํŒจ์น˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณต๊ธ‰์—…์ฒด๋Š” ์†Œ์ˆ˜์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค(Azul Systems๋Š” ์ผ๋ถ€ ๋น„ LTS ๋ฒ„์ „์„ ์ง€์›ํ•˜๋Š” ๊ฐ€์žฅ ๋›ฐ์–ด๋‚œ ๋Œ€ํ‘œ์ž์ž…๋‹ˆ๋‹ค). ํ˜„์žฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ 2.7%๋งŒ์ด LTS๊ฐ€ ์•„๋‹Œ Java ๋ฒ„์ „์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ์œผ๋ฉฐ Java 14๊ฐ€ ๊ทธ์ค‘ ์ตœ๊ณ ์ด๋ฉฐ Java 10๊ณผ Java 16์ด ๊ฐ€์žฅ ์ธ๊ธฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 4

2022๋…„ JDK(Java Developer Kit) ๋ฐฐํฌํŒ

์˜ค๋ผํด์˜ ์ธ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค๋ฉด์„œ ์•„๋งˆ์กด์˜ ์ธ๊ธฐ๊ฐ€ ๋†’์•„์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 2020๋…„์— Oracle์€ Java ์‹œ์žฅ์˜ ์•ฝ 75%๋ฅผ ์ฐจ์ง€ํ•˜๋Š” JDK ๋ฐฐํฌํŒ์˜ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ณต๊ธ‰์—…์ฒด์˜€์ง€๋งŒ ํ˜„์žฌ ๊ทธ ์ ์œ ์œจ์€ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ์กด์˜ ์‹œ์žฅ ์ ์œ ์œจ์€ 2020๋…„ 2.18%์—์„œ ์˜ฌํ•ด 22%๋กœ ๋น ๋ฅด๊ฒŒ ๋›ฐ์–ด์˜ฌ๋ž๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 5

Java World 2022์˜ ๊ธฐํƒ€ ์ค‘์š”ํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ: Spring Framework 6, Spring Boot 3 ๋ฐ Jakarta EE 10 ๋ฆด๋ฆฌ์Šค

Java ๊ด€๋ จ ๋‰ด์Šค์— ๊ด€ํ•ด์„œ๋ผ๋ฉด Spring Framework 6๊ณผ Spring Boot 3์˜ ์ถœ์‹œ๋ฅผ ๋นผ๋†“์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. VMware๋Š” 5๋…„ ๋™์•ˆ ์ƒˆ๋กœ์šด Spring Framework 6์„ ๊ฐœ๋ฐœํ–ˆ์œผ๋ฉฐ, ์ถœ์‹œ์™€ ํ•จ๊ป˜ VMware๋Š” ์•„๋งˆ๋„ Spring์˜ ์ƒˆ๋กœ์šด ์„ธ๋Œ€๋ฅผ ์‹œ์ž‘ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ƒํƒœ๊ณ„. Spring Framework 6์—๋Š” Java 17 ๋ฒ„์ „๊ณผ Jakarta EE 9๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒˆ๋กœ ์ถœ์‹œ๋œ Jakarta EE 10์„ ์ง€์›ํ•˜๋ฏ€๋กœ Tomcat 10.1, Jetty 11 ๋ฐ Undertow 2.3๊ณผ ๊ฐ™์€ ์ตœ์‹  ์›น ์„œ๋ฒ„์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด Spring Boot 3์€ Spring Framework 6๊ณผ ํ˜ธํ™˜๋˜๋ฉฐ ๊ธฐ๋ณธ ์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(๋” ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๊ณ , ๋” ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋” ์ž‘์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋” ๋‚˜์€ ๋ณด์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค). ๋”ฐ๋ผ์„œ Java๋Š” ํด๋ผ์šฐ๋“œ์—์„œ ๋”์šฑ ๊ฒฝ์Ÿ๋ ฅ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Jakarta EE 10์— ๋Œ€ํ•ด ๋งํ•˜์ž๋ฉด, ํ•ด๋‹น ๋ฆด๋ฆฌ์Šค๋Š” Java 19 ์—…๊ทธ๋ ˆ์ด๋“œ(2022๋…„ 9์›”)์™€ ํ•จ๊ป˜ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. Jakarta EE ๊ธฐ์ˆ  ์ „๋ฐ˜์— ๊ฑธ์ณ ํ˜„๋Œ€ํ™”๋˜๊ณ  ๋‹จ์ˆœํ•˜๋ฉฐ ๊ฐ€๋ฒผ์šด ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ Java ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์‚ฌ์–‘ ์ฝค๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Jakarta EE 10์€ ์ด์ „ ์ œํ’ˆ๊ณผ ํฌ๊ฒŒ ๋‹ค๋ฅด๋ฉฐ 20๊ฐœ ์ด์ƒ์˜ ๊ตฌ์„ฑ ์š”์†Œ ์‚ฌ์–‘์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2022๋…„ ์ˆœ์œ„ ์„ธ๋ถ€์ •๋ณด

์ด ๊ฐœ์š”๋Š” ์˜ฌํ•ด ์ตœ๊ณ ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฐจํŠธ์™€ Java ์œ„์น˜๋ฅผ ์‚ดํŽด๋ณด์ง€ ์•Š์œผ๋ฉด ๋ถˆ์™„์ „ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2022๋…„ 6์›” RedMonk ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ˆœ์œ„ ์— ๋”ฐ๋ฅด๋ฉด Java๋Š” ์˜์˜ˆ๋กœ์šด 3์œ„๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 6RedMonk๋Š” GitHub ๋ฐ Stack Overflow์—์„œ ์–ธ์–ด ์ˆœ์œ„๋ฅผ ์ถ”์ถœํ•œ ๋‹ค์Œ ์ด๋ฅผ ํ•˜๋‚˜์˜ ์ˆœ์œ„๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ "์‹ค์ œ ๊ทธ๋ฆผ"(์ผ๋ช… ๋‘ ์ฝ”๋“œ ๋ฐ˜์˜)์„ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ์–ธ์–ด ์‚ฌ์šฉ์— ๋Œ€ํ•œ ํ†ต๊ณ„์ ์œผ๋กœ ์œ ํšจํ•œ ํ‘œํ˜„์„ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub) ๋ฐ ํ† ๋ก (Stack Overflow) ๊ฒฌ์ธ๋ ฅ. StackOverflow ๋งŒ ๊ณ ๋ คํ•˜๋ฉด ์—ฌ๊ธฐ์„œ Java๋Š” Phyton์— ์ด์–ด ๋‘ ๋ฒˆ์งธ ๊ณ ๊ธ‰ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 7๊ทธ๋Ÿฌ๋‚˜ ์Šคํฌ๋ฆฝํŒ… ๋ฐ ๋งˆํฌ์—… ์–ธ์–ด์™€๋„ ๋น„๊ตํ•˜๋ฉด Java๋Š” ๋‹ค์Œ์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์„ธ๊ณ„์ ์œผ๋กœ ์œ ๋ช…ํ•œ TIOBE ์ง€์ˆ˜ ์— ๋”ฐ๋ฅด๋ฉด Java์— ํฐ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚ฌ์œผ๋ฉฐ, C++๊ฐ€ ์—ญ์‚ฌ์ƒ ์ฒ˜์Œ์œผ๋กœ(2001๋…„ ์ดํ›„) Java๋ฅผ ์•ž์งˆ๋ €์œผ๋ฉฐ, ์ด๋Š” Java๊ฐ€ ํ˜„์žฌ 4์œ„์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 8๊ทธ๋Ÿฐ๋ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด Java๊ฐ€ ์˜ฌํ•ด์—๋„ ์—ฌ์ „ํžˆ ์„ฑ์žฅ(1,70%)ํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. C++๋„ +4,21%๋ฅผ ๊ธฐ๋กํ•˜์—ฌ ๊ฒฐ๊ตญ Java๋ฅผ ์•ฝ๊ฐ„ ๋Šฅ๊ฐ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. , ์žฅ๊ธฐ TIOBE ์ง€์ˆ˜๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด Java๊ฐ€ ์ตœ๊ทผ 12๊ฐœ์›” ๋™์•ˆ ์„ธ ๋ฒˆ์งธ๋กœ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Java 18 ๋ฐ 19์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?  ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ Jakarta EE ์ถœ์‹œ 10. 2022๋…„ Java ํ˜„ํ™ฉ - 9๊ทธ๋ ‡๋‹ค๋ฉด ์•ž์œผ๋กœ 12๊ฐœ์›” ๋™์•ˆ ๊ธฐ์ˆ  ์„ธ๊ณ„์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ ์ง€ ๋ˆ„๊ฐ€ ์•Œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๊ฒฐ๋ก 

๊ถ๊ทน์ ์œผ๋กœ Java๋Š” ๊ธˆ์œต, ์ „์ž ์ƒ๊ฑฐ๋ž˜, ์„์œ  ๋ฐ ๊ฐ€์Šค ๋ถ€๋ฌธ, ๊ต์œก, ์˜๋ฃŒ, ์ •๋ถ€, ๋น… ๋ฐ์ดํ„ฐ ๋“ฑ์„ ํฌํ•จํ•œ ๋ชจ๋“  ๊ทœ๋ชจ์™€ ๋ถ„์•ผ์˜ ํšŒ์‚ฌ์—์„œ ์ฑ„ํƒ๋˜์–ด ์ „ ์„ธ๊ณ„ ์ˆ˜์ฒœ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ™•๋ฆฝ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์šฐ๋ฆฌ๋Š” Java๊ฐ€ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ณ„์†ํ•ด์„œ ๋ฐœ์ „์‹œํ‚ค๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํฌํ™”์ ์— ๋„๋‹ฌํ•˜๊ธฐ์—๋Š” ์•„์ง ๋ฉ€์—ˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ML, AI์™€ ๊ฐ™์€ ํ˜์‹ ์ ์ธ ๊ธฐ์ˆ ์˜ ๋“ฑ์žฅ์œผ๋กœ ์–ธ์–ด๊ฐ€ ๊ณ„์†ํ•ด์„œ ์ง„ํ™”ํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ •์ฒด์„ฑ์„ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๊ณ  ์˜ˆ์ธกํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋‚ด๋…„์— Java์—๋Š” ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”? ์˜ฌํ•ด Java ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ•˜์ด๋ผ์ดํŠธ๋Š” ๋ฌด์—‡์ด์—ˆ๋‚˜์š”?
์ฝ”๋ฉ˜ํŠธ
  • ์ธ๊ธฐ
  • ์‹ ๊ทœ
  • ์ด์ „
์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
์ด ํŽ˜์ด์ง€์—๋Š” ์•„์ง ์ฝ”๋ฉ˜ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค