[Java] Memory, Driver๊ฐœ๋…, ํ•ด์„๊ธฐ์™€ ๋ฒˆ์—ญ๊ธฐ, SDK, JDK ๊ฐœ๋…

2021. 2. 22. 06:00ใ†๊ฐœ๋… ์ •๋ฆฌ ์ž‘์—…์‹ค/Java

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ 2021๋…„ 02์›” 16์ผ ๊ณต๋ถ€ ๋‚ด์šฉ

   ๐Ÿ“ Memory


         ๐Ÿ‘‰ Stack Memory

์ง€์—ญ๋ณ€์ˆ˜, ํ•จ์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ ์ž…๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ main ํ•จ์ˆ˜(Method) ์ฆ‰, Entry Point Method๊ฐ€ ์‹คํ–‰๋˜๊ณ , ์ด ํ•จ์ˆ˜๊ฐ€ ๋‘๋ฒˆ์งธ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , ์„ธ๋ฒˆ์งธ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด ์ฒซ๋ฒˆ์งธ ~ ์„ธ๋ฒˆ์งธ ์ˆœ์œผ๋กœ ์ฐจ๋ก€๋Œ€๋กœ Stack Memory์— ์Œ“์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๊ฐ€ ๋˜๋ฉด ์—ญ์ˆœ์œผ๋กœ ์„ธ๋ฒˆ์งธ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๊ฐ€ ๋˜๋ฉด์„œ ํ•จ์ˆ˜๊ฐ€ ์—ฐ์‚ฐํ•˜๊ณ , ๋„์ถœ๋œ ๋ฐ˜ํ™˜๊ฐ’์„ return(๋ฐ˜ํ™˜)ํ•˜์—ฌ ์ž์‹ ์„ ํ˜ธ์ถœํ–ˆ๋˜ ํ•จ์ˆ˜์—๊ฒŒ ์ฃผ๊ฒŒ ๋˜๊ณ , ๋‘๋ฒˆ์งธ ํ•จ์ˆ˜๋„ ๋™์ผํ•œ ์ž‘์—…์„ ํ†ตํ•ด ์ข…๋ฃŒ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ์˜ ์ž‘์—…์ˆœ์„ FIFO(First In First Out)์ด๋ผ๊ณ  ํ•˜๊ณ , ์ด ๋ฐฉ์‹์„ Stack ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 


         ๐Ÿ‘‰ Heap Memory

์ „์—ญ๋ณ€์ˆ˜์™€ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ.

 


   ๐Ÿ“ Driver


Driver๋Š” ์šฐ๋ฆฌ๋‚˜๋ผ ๋ง๋กœ ํ•˜๋ฉด ์—ฐ๊ฒฐ์ž ํ˜น์€ ์šด์ „์ž๋ผ๊ณ  ํ‘œํ˜„ ํ•  ์ˆ˜ ์žˆ๊ณ , Java ๋ฌธ๋ฒ•์—์„œ๋Š” Interface๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

Hard Ware Machine(์˜ˆ: ํ‚ค๋ณด๋“œ)์ด OS(Operation System) ์ฆ‰, ์šด์˜์ฒด์ œ์™€ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Driver๋ผ๋Š” SoftWare๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, Application (Program)๊ณผ DB (Data Base)๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ๋„ DB Driver๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

 

   ๐Ÿ“ ํ•ด์„๊ธฐ์™€ ๋ฒˆ์—ญ๊ธฐ


 

         ๐Ÿ‘‰ ํ•ด์„๊ธฐ(Compiler - ์ปดํŒŒ์ผ๋Ÿฌ)

์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ Coding์„ ํ•˜๋ฉด ๊ทธ๊ฑธ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…. ์ฆ‰, ํ•ด์„(Compile - Build)ํ•˜๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

๋น„์œ ๋ฅผ ํ•˜์ž๋ฉด ๋ฒˆ์—ญ๊ธฐ๋กœ ๋น„์œ ํ•  ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”. ์ฆ‰, ํ•œ๊ธ€๋กœ ์“ฐ์—ฌ์ง„ ์ฑ…์„ ์™ธ๊ตญ ๋ฒˆ์—ญ๊ฐ€๊ฐ€ ์˜์–ด๋กœ ๋ฒˆ์—ญํ•˜์—ฌ ์ฑ…์„ ๋‚ด๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ต๋‹ˆ๋‹ค!

 


        ๐Ÿ‘‰ ๋ฒˆ์—ญ๊ธฐ(Interpreter)

์‹คํ–‰ ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ๋ฐ”๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œ์ผœ ๋ฒ„๋ฆฌ๋Š” ๋ฐฉ์‹ ์ž…๋‹ˆ๋‹ค.

๋น„์œ ๋ฅผ ํ•˜์ž๋ฉด ํ†ต์—ญ๊ณผ ๊ฐ™๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๊ฒ ๋„ค์š”. ์ฆ‰, ํ•œ๊ตญ ์‚ฌ๋žŒ๊ณผ ๋ฏธ๊ตญ ์‚ฌ๋žŒ์ด ์žˆ์„ ๋•Œ, ์ค‘๊ฐ„์— ํ†ต์—ญ์‚ฌ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ†ต์—ญ ํ•ด ์ฃผ๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค!

 

   ๐Ÿ“ SDK์™€ JDK


        ๐Ÿ‘‰ SDK (Service Develope Kit) 


๊ฐ ์ข… OS๋‚ด์— ๊ฐœ๋ฐœ ์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Kit๊ณผ ๊ฐ ์–ธ์–ด ๋ณ„ ๊ฐœ๋ฐœ์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Kit ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Tool๊ณผ API๋ฅผ ํ•ฉ์ณ ๋†“์€ ๊ฒƒ์ด์—์š”.

 

        ๐Ÿ‘‰ JDK (Java Develope Kit) 


JDK ์•ˆ์— JRE (Java Runtime Envirment)๊ฐ€ ์žˆ๋Š”๋ฐ, Java ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ด์•ผ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ API์™€ JVM์ด ๊ฐ™์ด ์„ค์น˜ ๋ฉ๋‹ˆ๋‹ค.

Java๋กœ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ํ•„์ˆ˜๋กœ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” Kit์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 


              ๐Ÿ’ก ์•„ํ•˜!

Project๋‚˜ Program์„ ๋งŒ๋“ค ๋•Œ๋Š” ํ™˜๊ฒฝ. ์ฆ‰, ์–ด๋–ค OS๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ๊ทธ๊ฒƒ์— ๋Œ€ํ•œ API๋ฅผ ํ™•์ธํ•œ ๋’ค API์—์„œ ์š”๊ตฌํ•˜๋Š” ์–ธ์–ด๋ฅผ ๊ฐ€์ง€๊ณ , Coding์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 


 

์ฃผ๋‹ˆํ•˜๋ž‘์˜ ๊ธ€์ด ๋งˆ์Œ์— ๋“œ์…จ๋‚˜์š”? ๊ตฌ๋…๊ณผ ๊ณต๊ฐ! ๊ทธ๋ฆฌ๊ณ , ๋Œ“๊ธ€์€ ์ฃผ๋‹ˆํ•˜๋ž‘์—๊ฒŒ ๋งŽ์€ ํž˜์ด ๋ฉ๋‹ˆ๋‹ค!

728x90
๋ฐ˜์‘ํ˜•