๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กjava (2)

Unfazedโ—๏ธ๐ŸŽฏ

[Java] ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ JVM์˜ ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ ๋ฐฉ์‹์œผ๋กœ ์ดํ•ดํ•˜๋Š” ์Šค๋ ˆ๋“œ start(), run() ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด

Java์—์„œ start() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์™€ run() ๋ฉ”์„œ๋“œ ์ง์ ‘ ํ˜ธ์ถœ์˜ ๋ฌธ์ œ์ ์„ ์•Œ์•„๋ณด์ž. 1. ์Šค๋ ˆ๋“œ ์‹คํ–‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ํ•ต์‹ฌ ์ฐจ์ดstart() ๋ฉ”์„œ๋“œ์˜ ์—ญํ• ์ƒˆ๋กœ์šด ํ˜ธ์ถœ ์Šคํƒ(Call Stack)์„ ์ƒ์„ฑํ•˜์—ฌ JVM์ด ํ•ด๋‹น ์Šค๋ ˆ๋“œ๋ฅผ ์Šค์ผ€์ค„๋งํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ ์ƒํƒœ๋กœ ์ „ํ™˜ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ start0()๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉฐ, ์ด๋Š” OS ์ˆ˜์ค€์—์„œ ์‹ค์ œ ์Šค๋ ˆ๋“œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ• ๋‹นํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. run() ์ง์ ‘ ํ˜ธ์ถœ์˜ ๋ฌธ์ œ์ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์Šค๋ ˆ๋“œ์˜ ํ˜ธ์ถœ ์Šคํƒ์—์„œ ๋™๊ธฐ์ ์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. ์ด๋Š” ๋‹จ์ˆœ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์˜ ํ•ต์‹ฌ์ธ ๋ณ‘๋ ฌ ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.// ์ž˜๋ชป๋œ ์‚ฌ์šฉ ์˜ˆ์‹œThread myThread = new MyCustomThread();myThrea..

Java 2025. 2. 7. 15:29
command line์„ ํ™œ์šฉํ•œ JAR ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ

Java ๊ฐœ๋ฐœ์—์„œ JAR(Java Archive) ํŒŒ์ผ์€ Java ํด๋ž˜์Šค ํŒŒ์ผ๊ณผ ๊ด€๋ จ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋ฌถ์–ด ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ•„์ˆ˜์ ์ธ ์š”์†Œ๋‹ค. ํ˜„๋Œ€์˜ IDE๋‚˜ Maven, Gradle ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ๋“ค์ด JAR ์ƒ์„ฑ์„ ์ž๋™ํ™”ํ•ด ์ฃผ์ง€๋งŒ, JAR ์ƒ์„ฑ ์ˆ˜๋™ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ Java์˜ ํŒจํ‚ค์ง• ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์š”ํ•˜๋‹ค. JDK(Java Development Kit) ์„ค์น˜ ํ•„์š”JDK - ์ปดํŒŒ์ผ์„ ์œ„ํ•œ javac์™€ jar ํŒŒ์ผ ์ƒ์„ฑ์„ ์œ„ํ•œ jar ๊ฐ™์€ ํ•„์ˆ˜ ๋„๊ตฌ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. JAR ํŒŒ์ผ์€ ์ž๋ฐ” ๋Ÿฐํƒ€์ž„์ด ํšจ์œจ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌ(deploy)ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค. ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ํด๋ž˜์Šค์™€ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค๋“ค์„ ๋‹จ์ผ ํŒŒ์ผ๋กœ ๋ฌถ์–ด ์••์ถ•๋œ ํ˜•ํƒœ์ธ JAR ํŒŒ์ผ์€..

Java 2024. 12. 21. 21:01