์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [Algorithm] ๊ตฌํ˜„(Implementation)

    ์•„์ด๋””์–ด๋ฅผ ์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋Š” ๊ตฌํ˜„ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์—์„œ ๊ตฌํ˜„์ด๋ž€ ๋จธ๋ฆฟ์†์— ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์†Œ์Šค์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์ด๋‹ค. ์™„์ „ ํƒ์ƒ‰์€ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๊ณ„์‚ฐํ•˜๋Š” ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•˜๊ณ . ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•œ ๋‹จ๊ณ„์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ ์œ ํ˜•์„ ์˜๋ฏธํ•œ๋‹ค. ์ƒํ•˜์ขŒ์šฐ n * n ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ๊ณต๊ฐ„์„ ์ž…๋ ฅ ๋ฐ›๊ณ  ๋‹ค์Œ ๋ผ์ธ์— L, R, U, D ์ค‘ ํ•˜๋‚˜์˜ ๋ฌธ์ž๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์‹œ์ž‘ํ•˜๋Š” ํฌ์ธํŠธ๋Š” (1, 1) ์ด๋ฉฐ n * n ํฌ๊ธฐ์˜ ์ •์‚ฌ๊ฐํ˜• ๊ณต๊ฐ„์„ ๋ฒ—์–ด๋‚˜๋Š” ์›€์ง์ž„์€ ๋ฌด์‹œ๋œ๋‹ค. ํ•ด๋‹น ๊ณ„ํš์„œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ตœ์ข…์ ์œผ๋กœ ๋„์ฐฉํ•  ์ง€์ ์˜ ์ขŒํ‘œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. L : ์™ผ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™ R : ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ ์นธ ์ด๋™ U : ์œ„๋กœ ํ•œ ์นธ ์ด๋™ D : ์•„๋ž˜๋กœ ํ•œ ์นธ ์ด๋™ n ..

    [Algorithm] ๊ทธ๋ฆฌ๋””(Greedy) : ํƒ์š•๋ฒ•์ด๋ž€?

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

    [Algorithm] ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณต์žก๋„์™€ Big-O ๋ž€?

    ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ์–ด๋–ค ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ์œ„ํ•ด ๊ฑฐ์ณ์•ผ ํ•˜๋Š” ์ผ๋ จ์˜ ๊ณผ์ •๋“ค์˜ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ฐ€๋Š” ๋ฃจํŠธ๋Š” ๋‹ค์–‘ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. ๋ณต์žก๋„(Complexity)๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ฒ™๋„์ด๋‹ค. ๋ณต์žก๋„๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„์™€ ๊ณต๊ฐ„ ๋ณต์žก๋„๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„ ํŠน์ •ํ•œ ํฌ๊ธฐ์˜ ์ž…๋ ฅ์— ๋Œ€ํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์—ฐ์‚ฐ์ด ๋ช‡๋ฒˆ ์ด๋ฃจ์–ด์ง€๋Š” ์ง€๋ฅผ ํ‘œ๊ธฐ ๊ณต๊ฐ„ ๋ณต์žก๋„ ํŠน์ •ํ•œ ํฌ๊ธฐ์˜ ์ž…๋ ฅ์— ๋Œ€ํ•˜์—ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๋Š”์ง€๋ฅผ ์˜๋ฏธ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋‹ค๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณต์žก๋„๊ฐ€ ๋‚ฎ์„์ˆ˜๋ก ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•(Big O Notation) ๋ณต์žก๋„๋ฅผ ํ‘œํ˜„ํ• ๋•Œ์—๋Š” ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์„ ..

    [42Seoul] Netwhat - ๋„คํŠธ์›Œํฌ ๋ฐ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ

    1. Introduction Netwaht์€ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜๊ณ  ๊ทธ๊ฒƒ์ด ๋‚ด๋ถ€์—์„œ ์ž‘๋™ํ•˜๋Š” ์ผ๋“ค์— ๋Œ€ํ•ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ๋ถ„์ด ์ด๋ฏธ ์ƒํ™œ ์†์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์–ด๋– ํ•œ ๊ฒƒ๋“ค์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2. General instructions Netwhat์€ ๋‹ค์ค‘ ์„ ํƒ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ๋„คํŠธ์›Œํฌ ์ง€์‹์„ ํ‰๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ๋„คํŠธ์›Œํฌ ๊ฐ•์˜๋“ค์„ ์ฝ๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„์— ์ง€์‹์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ์œ„ํ•œ ์˜จ๋ผ์ธ์‹œํ—˜์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋‹จ ์‹œํ—˜์„ ํ†ต๊ณผํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๊ณ , ๊ณต๋ถ€๋ฅผ ๋๋งˆ์ณค๋‹ค๋ฉด : netwhat.42.fr์— ์ ‘์†ํ•˜์„ธ์š”. 3. Mandatory part โ—ฆ What is an IP address IP : Inte..

    [JAVA] ์†Œ์ผ“(socket) ํ”„๋กœ๊ทธ๋ž˜๋ฐ

    ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์†Œ์ผ“(socket) ์ด๋ž€ ํ”„๋กœ์„ธ์Šค๊ฐ„์˜ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” ์–‘์ชฝ ๋๋‹จ์„ ์˜๋ฏธํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” java.netํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด ์†Œ์บฃ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์›ํ•˜๋Š”๋ฐ, ์†Œ์ผ“ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์†Œ์ผ“์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ œ๊ณตํ•œ๋‹ค. 1. TCP(Transmission Control Protocol) ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์„ธ์ง€์˜ ํ˜•ํƒœ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ. ์ผ๋ฐ˜์ ์œผ๋กœ TCP์™€ IP๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, IP๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ๋ฐฐ๋‹ฌ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด TCP๋Š” ํŒจํ‚ท์„ ์ถ”์  ๋ฐ ๊ด€๋ฆฌํ•œ๋‹ค. TCP๋Š” ์—ฐ์†์„ฑ๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ์ „์†ก์ด ์ค‘์š”ํ•  ๋•Œ์— ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ์˜ˆ๋ฅผ ๋“ค๋ฉด ํŒŒ์ผ ์ „์†ก๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค. ํŒจํ‚ท(Packet)์ด๋ž€? ์ธํ„ฐ๋„ท ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ๋ฐฐ์ •(๋ผ์šฐํŒ…)์„ ํšจ์œจ์ ์œผ๋กœ ..

    [JAVA]์ž…์ถœ๋ ฅ IO & NIO

    ์ž…์ถœ๋ ฅ์ด๋ž€? I/O๋ž€ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ, ์ปดํ“จํ„ฐ ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€์˜ ์žฅ์น˜์™€ ํ”„๋กœ๊ทธ๋žจ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ŠคํŠธ๋ฆผ(stream) ์ŠคํŠธ๋ฆผ์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ์šด๋ฐ˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์—ฐ๊ฒฐํ†ต๋กœ์ด๋‹ค. ์ŠคํŠธ๋ฆผ์€ ๋‹จ๋ฐฉํ–ฅํ†ต์‹ ๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์ŠคํŠธ๋ฆผ์œผ๋กœ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ• ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ž…๋ ฅ์„ ์œ„ํ•œ ์ž…๋ ฅ์ŠคํŠธ๋ฆผ๊ณผ ์ถœ๋ ฅ์„ ์œ„ํ•œ ์ถœ๋ ฅ์ŠคํŠธ๋ฆผ ๋ชจ๋‘ 2๊ฐœ์˜ ์ŠคํŠธ๋ฆผ์ด ํ•„์š”ํ•˜๋‹ค. ์ŠคํŠธ๋ฆผ์€ ๋จผ์ € ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ๋ฐ›๊ฒŒ ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ค‘๊ฐ„์— ๊ฑด๋„ˆ๋œ€ ์—†์ด ์—ฐ์†์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค. ํ์™€ ๊ฐ™์€ FIFO(First In First Out) ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ๋‹ค๊ณ ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šธ ๊ฒƒ์ด๋‹ค. ๋ฐ”์ดํŠธ ๊ธฐ๋ฐ˜ ์ŠคํŠธ๋ฆผ ( InputStream, OutputStream ) - ์ž…์ถœ๋ ฅ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ..

    [JAVA] ์ž๋ฐ” ์ปดํŒŒ์ผ์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?

    Write Once, Run Anywhere! ์ž๋ฐ” ์ด์ „์— C/C++๊ณผ ๊ฐ™์€ ์–ธ์–ด๋Š” ์ปดํŒŒ์ผ์„ ๋ฆฌ๋ˆ…์Šค์—์„œ ํ–ˆ๋‹ค๋ฉด ๋ฆฌ๋ˆ…์Šค์—์„œ๋งŒ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ–ˆ๋‹ค. ์ฆ‰ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ OS์— ์ข…์†๋˜์–ด ํ•ด๋‹น OS์— ๋งž๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฐ๊ฐ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋˜ ๊ฒƒ์ด๋‹ค. ์ž๋ฐ”๋Š” OS์— ๊ด€๋ จ์—†์ด JRE๋งŒ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด ์–ด๋–ค OS์—์„œ๋„ ์ž๋ฐ”๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ JVM์€ ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์ปดํŒŒ์ผ์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  OS์—์„œ ํ•˜๋‚˜์˜ JVM์œผ๋กœ ์‹คํ–‰ ๋ฐ ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์˜€๋‹ค. JAVA ์ปดํŒŒ์ผ๊ณผ์ • ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ Java ์ปดํŒŒ์ผ ๊ณผ์ • .java ํŒŒ์ผ ์ƒ์„ฑ ํ›„ Build -> compile(javac) -> byteCode .class file(๋ฐ˜๊ธฐ๊ณ„์–ด) ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋Š” ํด๋ž˜์Šค ๋กœ๋”์— ์˜ํ•ด JVM๋‚ด๋กœ ..

    [JAVA] Garbage Collection (๊ฐ€๋น„์ง€์ปฌ๋ ‰์…˜)์ด๋ž€?

    Garbage Collection(GC) GC๋Š” reachability๋ผ๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•ด ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋“ค์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšŒ์ˆ˜ํ•˜๋Š” ์—ญํ• ์„ ํ•˜์—ฌ ์ž๋ฐ”์—์„œ๋Š” ๋ช…์‹œ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง€์ •ํ•˜์—ฌ ํ•ด์ œํ•˜์ง€ ์•Š๋Š”๋‹ค. Minor, Major GC -Heap ์˜์—ญ์— ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์ตœ์ดˆ๋กœ Eden ์˜์—ญ์— ํ• ๋‹น๋˜๊ณ  ์ด ์˜์—ญ์— ์–ด๋Š์ •๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด๊ฒŒ ๋˜๋ฉด ์ฐธ์กฐ์ •๋„์— ๋”ฐ๋ผ Servivor1, Servivor2 ์ค‘ ๋นˆ ๊ณต๊ฐ„์œผ๋กœ ์ด๋™๋œ๋‹ค. New Generation๊ณผ Tenured Generation ์—์„œ์˜ GC๋ฅผ Minor GC ๋ผ๊ณ  ํ•œ๋‹ค. Old์˜์—ญ์— ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ—ˆ์šฉ์น˜๋ฅผ ๋„˜๊ฒŒ ๋˜๋ฉด, Old ์˜์—ญ์— ์žˆ๋Š” ๋ชจ๋“  ๊ฐ์ฒด๋“ค์„ ๊ฒ€์‚ฌํ•˜์—ฌ ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋“ค์„ ํ•œ๊บผ๋ฒˆ์— ์‚ญ์ œํ•˜๋Š” GC๊ฐ€ ์‹คํ–‰๋˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์ด๊ณ  ์ด ๋•Œ G..

    [JAVA] JDK, JRE, JVM์ด๋ž€?

    JVM(Java Virtual Machine) Java ์ฝ”๋“œ ๋ฐ Application์„ ๋™์ž‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” Java Engine์ด๋‹ค. JRE(Java SE Runtime Environment) Java ์‹คํ–‰ํ™˜๊ฒฝ, JVM์ด ์ž๋ฐ”๋ฅผ ์‹คํ–‰์‹œํ‚ฌ๋•Œ ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๊ธฐํƒ€ ํ•„์ˆ˜ ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. JDK(Java Development Kit) JRE ์™ธ์— ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ kit์ด๋‹ค. > JVM(Java Virtual Machine) JVM์˜ ๊ธฐ๋Šฅ 1. ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋Š ๊ธฐ๊ธฐ, ์–ด๋Š ์šด์˜์ฒด์ฒด ์ƒ์—์„œ๋„ ์‹คํ–‰ ๊ฐ€๋Šฅ 2. ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌ & ์ตœ์ ํ™” 3. ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋กœ์จ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ - ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ : jvm์ด..