๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Backend/Java

[Java]๋Ÿฐํƒ€์ž„ ํด๋ž˜์Šค(Runtime Class)

by sukii 2024. 1. 25.
๋ฐ˜์‘ํ˜•

๐Ÿค”Runtime ํด๋ž˜์Šค๋ž€?

Java ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ณ , ํ•ด๋‹น ํ™˜๊ฒฝ์„ ๊ด€๋ฆฌํ•˜๋Š” ํด๋ž˜์Šค

=> ์ด ํด๋ž˜์Šค๋Š” ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋กœ์„œ ์ด ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” Runtime.getRuntime() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ์Œ

 

 

โšซRuntime ํด๋ž˜์Šค์˜ ์ฃผ์š” ๋ฉ”์†Œ๋“œ

*๋ณ€์ˆ˜ runtime์— ๋Ÿฐํƒ€์ž„ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณ€์ˆ˜ runtime์„ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ž˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•จ.

Runtime runtime = Runtime.getRuntime();

 

 

1. exec(String command) ๋ฉ”์†Œ๋“œ : ์™ธ๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ

=> ์ฃผ์–ด์ง„ ๋ช…๋ น(command)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ณ  Process ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜(= ์šด์˜์ฒด์ œ์— ๋ช…๋ น์„ ์ „๋‹ฌํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฉ”์†Œ๋“œ)

Process process = runtime.exec("notepad.exe");

 

2. totalMemory() ๋ฉ”์†Œ๋“œ: ํ˜„์žฌ JVM์ด ์‚ฌ์šฉ ์ค‘์ธ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ๋ฐ˜ํ™˜

long totalMemory = runtime.totalMemory();

 

3. freeMemory() ๋ฉ”์†Œ๋“œ: ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘์„ ๋ฐ˜ํ™˜

long freeMemory = runtime.freeMemory();

 

4. gc() ๋ฉ”์†Œ๋“œ: ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ์š”์ฒญํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํšŒ์ˆ˜

runtime.gc();

 

5. availableProcessors() ๋ฉ”์†Œ๋“œ: ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์„ธ์„œ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

 

 

๋ฐ˜์‘ํ˜•