|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.lang.Runtime
public class Runtime
Java ¾îÇø®ÄÉÀ̼ÇÀº ¸ðµÎ, Runtime
Ŭ·¡½ºÀÇ ´ÜÀÏÀÇ ÀνºÅϽº¸¦ °¡Áý´Ï´Ù. ÀÌ Å¬·¡½º´Â ¾îÇø®ÄÉÀ̼ǰú ¾îÇø®ÄÉÀÌ¼Ç ½ÇÇà ȯ°æ°úÀÇ ÀÎÅÍÆäÀ̽º°¡ µË´Ï´Ù. ÇöÀçÀÇ ½ÇÇà½Ã °´Ã¼´Â getRuntime
¸Þ¼µå¿¡ ÀÇÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº ÀÚ½ÅÀÇ Runtime
Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù.
getRuntime()
¸Þ¼µå °³¿ä | |
---|---|
void |
addShutdownHook (Thread hook)
»õ·Î¿î °¡»ó ¸Ó½ÅÀÇ ¼Ë´Ù¿î ÈÅÀ» µî·ÏÇÕ´Ï´Ù. |
int |
availableProcessors ()
Java °¡»ó ¸Ó½ÅÀÌ ÀÌ¿ë °¡´ÉÇÑ ÇÁ·Î¼¼¼ÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Process |
exec (String command)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎ Ä¿¸àµå¸¦, µ¶¸³ÇÑ ÇÁ·Î¼¼½º·Î ½ÇÇàÇÕ´Ï´Ù. |
Process |
exec (String [] cmdarray)
ÁöÁ¤µÈ Ä¿¸àµå¿Í Àμö¸¦, µ¶¸³ÇÑ ÇÁ·Î¼¼½º·Î ½ÇÇàÇÕ´Ï´Ù. |
Process |
exec (String [] cmdarray,
String [] envp)
ÁöÁ¤µÈ Ä¿¸àµå¿Í Àμö¸¦, ÁöÁ¤µÈ ȯ°æÀ» °¡Áö´Â µ¶¸³ÇÑ ÇÁ·Î¼¼½º·Î ½ÇÇàÇÕ´Ï´Ù. |
Process |
exec (String [] cmdarray,
String [] envp,
File dir)
ÁöÁ¤µÈ Ä¿¸àµå¿Í Àμö¸¦, ÁöÁ¤µÈ ȯ°æ°ú ÀÛ¾÷ µð·ºÅ丮¸¦ °¡Áö´Â µ¶¸³ÇÑ ÇÁ·Î¼¼½º·Î ½ÇÇàÇÕ´Ï´Ù. |
Process |
exec (String command,
String [] envp)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎ Ä¿¸àµå¸¦, ÁöÁ¤µÈ ȯ°æÀ» °¡Áö´Â µ¶¸³ÇÑ ÇÁ·Î¼¼½º·Î ½ÇÇàÇÕ´Ï´Ù. |
Process |
exec (String command,
String [] envp,
File dir)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎ Ä¿¸àµå¸¦, ÁöÁ¤µÈ ȯ°æ°ú ÀÛ¾÷ µð·ºÅ丮¸¦ °¡Áö´Â µ¶¸³ÇÑ ÇÁ·Î¼¼½º·Î ½ÇÇàÇÕ´Ï´Ù. |
void |
exit (int status)
ÇöÀç ½ÇÇàÇϰí ÀÖ´Â Java °¡»ó ¸Ó½ÅÀ» ¼Ë´Ù¿î ¼ø¼¸¦ °³½ÃÇØ Á¾·áÇÕ´Ï´Ù. |
long |
freeMemory ()
Java °¡»ó ¸Ó½Å³»ÀÇ ºó¸Þ¸ð¸®ÀÇ ¾çÀ» ¸®ÅÏÇÕ´Ï´Ù. |
void |
gc ()
°¡ºñÁö Ä÷ºÅ͸¦ ½ÇÇàÇÕ´Ï´Ù. |
InputStream |
getLocalizedInputStream (InputStream in)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. JDK 1. 1 ¿¡¼´Â ·ÎÄÃÀÎ ÀÎÄÚµùÀÇ ¹ÙÀÌÆ® ½ºÆ®¸²À» Unicode ¹®ÀÚ ½ºÆ®¸²·Î º¯È¯ÇÏ·Á¸é, InputStreamReader Ŭ·¡½º¿Í BufferedReader Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â (ºÐ)ÆíÀÌ ÀûÀýÇÕ´Ï´Ù. |
OutputStream |
getLocalizedOutputStream (OutputStream out)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. JDK 1. 1 ¿¡¼´Â Unicode ¹®ÀÚ ½ºÆ®¸²À» ·ÎÄÃÀÎ ÀÎÄÚµùÀÇ ¹ÙÀÌÆ® ½ºÆ®¸²·Î º¯È¯ÇÏ·Á¸é, OutputStreamWriter Ŭ·¡½º, BufferedWriter Ŭ·¡½º ¹× PrintWriter Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â (ºÐ)ÆíÀÌ ÀûÀýÇÕ´Ï´Ù. |
static Runtime |
getRuntime ()
ÇöÀçÀÇ Java ¾îÇø®ÄÉÀ̼ǿ¡ °ü·ÃÇÑ Runtime °´Ã¼¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
void |
halt (int status)
ÇöÀç ½ÇÇàÁßÀÇ Java °¡»ó ¸Ó½ÅÀ» °Á¦ Á¾·áÇÕ´Ï´Ù. |
void |
load (String filename)
ÁöÁ¤µÈ ÆÄÀϸíÀ» ´ÙÀ̳ª¹Í ¶óÀ̺귯¸®·Î¼ ·ÎµåÇÕ´Ï´Ù. |
void |
loadLibrary (String libname)
ÁöÁ¤µÈ ¶óÀ̺귯¸®¸íÀ» °¡Áö´Â ´ÙÀ̳ª¹Í ¶óÀ̺귯¸®¸¦ ·ÎµåÇÕ´Ï´Ù. |
long |
maxMemory ()
Java °¡»ó ¸Ó½ÅÀÌ »ç¿ëÀ» ½ÃµµÇÏ´Â ÃÖ´ë ¸Þ¸ð¸® ¿ë·®À» ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
removeShutdownHook (Thread hook)
ÀÌ¹Ì µî·ÏÇÑ °¡»ó ¸Ó½ÅÀÇ ¼Ë´Ù¿î ÈÅÀ» µî·Ï ÇØÁ¦ÇÕ´Ï´Ù. |
void |
runFinalization ()
ÆÄÀ̳ª¶óÀÌÁ Áß´ÜÇϰí ÀÖ´Â °´Ã¼ÀÇ finalize ¸Þ¼µå¸¦ ½ÇÇàÇÕ´Ï´Ù. |
static void |
runFinalizersOnExit (boolean value)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Þ¼µå´Â º»ÁúÀûÀ¸·Î ¾ÈÀüÇÏÁö´Â ¾Ê½À´Ï´Ù. ´Ù¸¥ thread°¡ µ¿½Ã¿¡ ±×·¯ÇÑ °´Ã¼¸¦ Á¶ÀÛÇϰí ÀÖÀ» ¶§, »ýÁ¸ÁßÀÇ °´Ã¼¿¡ ´ëÇØ¼ ÆÄÀ̳ª¶óÀÌÀÚ°¡ ºÒ·Á°¡ À̰Ϳ¡ ÀÇÇØ ¿¡·¯ µ¿ÀÛ ¶Ç´Â µ¥µå ·ÏÀÌ ¹ß»ýÇÕ´Ï´Ù. |
long |
totalMemory ()
Java °¡»ó ¸Ó½ÅÀÇ ¸Þ¸ð¸®ÀÇ Ãѿ뷮À» ¸®ÅÏÇÕ´Ï´Ù. |
void |
traceInstructions (boolean on)
¸í·ÉÀÇ Æ®·¹À̽º¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. |
void |
traceMethodCalls (boolean on)
¸Þ¼µå È£ÃâÀÇ Æ®·¹À̽º¸¦ À¯È¿ ¶Ç´Â ¹«È¿·Î ÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
¸Þ¼µåÀÇ »ó¼¼ |
---|
public static Runtime getRuntime()
Runtime
Ŭ·¡½ºÀÇ ¸Þ¼µåÀÇ ´ëºÎºÐÀº ÀνºÅϽº ¸Þ¼µåÀ̸ç, ÇöÀçÀÇ ·±Å¸ÀÓ °´Ã¼¿¡ ´ëÀÀÇØ ºÒ·Á°¡
Áö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
Runtime
°´Ã¼public void exit(int status)
°¡»ó ¸Ó½ÅÀÇ ¼Ë´Ù¿î ¼ø¼´Â 2°³ÀÇ ´Ü°è·Î ±¸¼ºµË´Ï´Ù. Á¦ 1 ´Ü°è¿¡¼´Â ¸ðµç µî·ÏÀ» ¸¶Ä£¼Ë´Ù¿î ÈÅ
Àº (ÀÖ´Â °æ¿ì), ƯÈ÷ ÁöÁ¤Çϰí ÀÖÁö ¾Ê´Â ¼ø¼·Î ½ÃÀÛÇØ, Á¾·áÇÒ ¶§±îÁö µ¿½Ã¿¡ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù
. Á¦ 2 ´Ü°è¿¡¼´Â Á¾·á½ÃÀÇ ÆÄÀ̳ª¶óÀÌÁî
°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖ´Â °æ¿ì¿¡
ºÒ·Á°¡
Áö ¾ÊÀº ¸ðµç ÆÄÀ̳ª¶óÀÌÀÚ°¡ ½ÇÇàµË´Ï´Ù. À̰ÍÀÌ Á¾·áÇÏ¸é °¡»ó ¸Ó½ÅÀºÁ¤Áö
ÇÕ´Ï´Ù.
°¡»ó ¸Ó½ÅÀÌ ¼Ë´Ù¿î ¼ø¼¸¦ °³½ÃÇÑ µÚ¿¡ ÀÌ ¸Þ¼µå°¡ ºÒ·Á°¡ ¸é, ¼Ë´Ù¿î ÈÅÀÌ ÀÌ ¸Þ¼µå¸¦ ½ÇÇàÇϰí ÀÖ´Â °æ¿ì´Â ¹«±âÇÑÀ¸·Î ºí·Ï µË´Ï´Ù. ¼Ë´Ù¿î ÈÅÀÌ ÀÌ¹Ì ½ÇÇàµÇ¾î ÀÖ¾î Á¾·á½ÃÀÇ ÆÄÀ̳ª¶óÀÌÁî°¡ À¯È¿ÇÏ°Ô µÇ¾î ÀÖÀ» ¶§´Â ½ºÅ×ÀÌÅͽº°¡ Á¦·Î ÀÌ¿ÜÀÇ °æ¿ì´Â °¡»ó ¸Ó½ÅÀ» ÁöÁ¤ÇÑ ½ºÅ×ÀÌÅͽº ÄÚµå·Î Á¤ÁöÇØ, ±×·¸Áö ¾ÊÀº °æ¿ì´Â ¹«±âÇÑÀ¸·Î ºí·Ï ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ·Á¸é,
System.exit
¸Þ¼µå°¡ ÀϹÝÀûÀÌ°í Æí¸®ÇÕ´Ï´Ù.
status
- Á¾·á ½ºÅ×ÀÌÅͽº. Åë·Ê, Á¦·Î ÀÌ¿ÜÀÇ ½ºÅ×ÀÌÅͽº ÄÚµå´Â ÀÌ»óÁ¾·á(ABEND)¸¦ ³ªÅ¸³½´Ù
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkExit
¸Þ¼µå°¡ ÁöÁ¤µÈ ½ºÅ×ÀÌÅͽº¿¡¼ÀÇ Á¾·á¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìSecurityException
,
SecurityManager.checkExit(int)
,
addShutdownHook(java.lang.Thread)
,
removeShutdownHook(java.lang.Thread)
,
runFinalizersOnExit(boolean)
,
halt(int)
public void addShutdownHook(Thread hook)
2 Á¾·ùÀÇ À̺¥Æ®¿¡ ÀÀ´äÇØ Java °¡»ó ¸Ó½ÅÀ» ¡¸¼Ë´Ù¿î¡¹ÇÕ´Ï´Ù.
exit
(System.exit
¿Í
µ¿µî) ¸Þ¼µå°¡ ºÒ·Á°¡
¸é, ÇÁ·Î±×·¥Àº Á¤»óÀûÀ¸·Î Á¾·á (exit)ÇÑ´Ù
¡¸¼Ë´Ù¿î ÈÅ¡¹Àº ÃʱâÈµÈ °Í¸¸À¸·Î ½ÃÀÛÇϰí ÀÖÁö ¾Ê´Â threadÀÔ´Ï´Ù. °¡»ó ¸Ó½ÅÀÌ ¼Ë´Ù¿î ¼ø¼¸¦ °³½ÃÇϸé, ¸ðµç µî·ÏÀÌ ³¡³ ¼Ë´Ù¿î ÈÅÀ» ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº ¼ø¼·Î ½ÃÀÛÇØ µ¿½Ã ½ÇÇàÇÕ´Ï´Ù. ÈÅÀÌ ¸ðµÎ Á¾·áÇϸé, Á¾·á½ÃÀÇ ÆÄÀ̳ª¶óÀÌÁî°¡ À¯È¿ÇÑ °æ¿ì´Â ¸ðµç ºÒ·Á°¡
Áö ¾ÊÀº ÆÄÀ̳ª¶óÀÌÀÚ¸¦ ½ÇÇàÇÕ´Ï´Ù. ¸¶Áö¸·À¸·Î °¡»ó ¸Ó½ÅÀº Á¤ÁöÇÕ´Ï´Ù. exit
¸¦ È£ÃâÇØ ¼Ë´Ù¿îÀÌ °³½ÃµÇ¾úÀ» °æ¿ì´Â demon°¡ ¾Æ´Ñ thread¿Í °°ÀÌ, demon thread´Â ¼Ë´Ù¿î ¼ø¼ÀÇ »çÀÌ, ½ÇÇàÀ» °è¼ÓÇÕ´Ï´Ù.
ÀÏ´Ü ¼Ë´Ù¿î ¼ø¼°¡ ½ÃÀÛÇϸé, °Á¦ÀûÀ¸·Î °¡»ó ¸Ó½ÅÀ» Á¤Áö½ÃŰ´Â halt
¸Þ¼µå¸¦ È£ÃâÇßÀ» °æ¿ì¸¸ ÁßÁöÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÏ´Ü ¼Ë´Ù¿î ¼ø¼¸¦ ½ÃÀÛÇϸé, »õ·Î¿î ¼Ë´Ù¿î ÈÅÀ» µî·ÏÇϰųª ÀÌÀü¿¡ µî·ÏÇÑ ÈÅÀÇ µî·ÏÀ» ÇØÁ¦Çϰųª ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ·¯ÇÑ ¿ÀÆÛ·¹À̼ÇÀÇ ¾î¶² °ÍÀÎÁö¸¦ ½ÇÇàÇÏ·Á°í Çϸé, IllegalStateException
°¡ ¹ß»ý µË´Ï´Ù.
¼Ë´Ù¿î ÈÅÀº °¡»ó ¸Ó½ÅÀÇ ¶óÀÌÇÁ »çÀÌŬÀÇ ¹Ì¹¦ÇÑ ½Ã±â¿¡ ½ÃÀÛÇϱâ À§ÇØ, ÄÚµù ÇÏ´Â °æ¿ì´Â Á¶½ÉÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ƯÈ÷, thread ¼¼ÀÌÇÁ¿¡ Ãâ·ÂÇÒ Çʿ䰡 ÀÖ¾î, ÇÒ ¼ö ÀÖ´Â ÇÑ µ¥µå ·ÏÀ» ÇÇÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¼Ë´Ù¿î ÈÅÀ» µî·ÏÇÑ ¼ºñ½º¸¦ ±×´ë·Î ¹Þ¾ÆµéÀÌÁö ¾Ê°í, ¼Ë´Ù¿îÀÌ ÁøÇàÁß¿¡ µî·ÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
¼Ë´Ù¿î ÈÅÀº ½Å¼ÓÈ÷ Á¾·áÇÒ Çʿ䵵 ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¥ÀÌ exit
¸¦ È£ÃâÇϸé, °¡»ó ¸Ó½ÅÀº Áï½Ã ¼Ë´Ù¿îÀÇÇØ Á¾·áÇÏ´Â °ÍÀ̶ó°í º¸¿©Áý´Ï´Ù. °¡»ó ¸Ó½ÅÀÌ »ç¿ëÀÚ
·Î±× ¿ÀÇÁ ¶Ç´Â ½Ã½ºÅÛ ¼Ë´Ù¿îÀ¸·Î Á¾·áÇϸé, ±âº»ÀÌ µÇ´Â OS
´Â ¼Ë´Ù¿î ¶Ç´Â Á¾·áÇÒ ¶§±îÁöÀÇ ÀÏÁ¤½Ã°£À» ÁÝ´Ï´Ù. µû¶ó¼, ¼Ë´Ù¿î ÈÅÁß¿¡ »ç¿ëÀÚ¿ÍÀÇ ´ëÈ Ã³¸®¸¦ Çϰųª Àå½Ã°£ÀÇ °è»êÀ» ÇÏ´Â °ÍÀº ÃßõÇÏÁö ¾Ê½À´Ï´Ù.
ijġµÇ¾î ÀÖÁö ¾ÊÀº ¿¹¿Ü´Â ´Ù¸¥ thread¿Í °°°Ô, thread ThreadGroup
°´Ã¼ÀÇ uncaughtException
¸Þ¼µå¸¦ È£ÃâÇØ ¼Ë´Ù¿î ÈÅÀ¸·Î 󸮵˴ϴÙ. ÀÌ ¸Þ¼µåÀÇ µðÆúÆ® ±¸ÇöÀº System.err
¿¡
ÀÇ ¿¹¿Ü ½ºÅà Ʈ·¹À̽º¸¦ Ãâ·ÂÇØ thread¸¦ Á¤ÁöÇÕ´Ï´Ù. °¡»ó ¸Ó½ÅÀÇ Á¾·á ¶Ç´Â Á¤Áö´Â ÇÏÁö ¾Ê½À´Ï´Ù.
º¸±â µå¹® ÄÉÀ̽º·Î¼ °¡»ó ¸Ó½ÅÀÌ ¡¸ÀÌ»óÁ¾·á(ABEND)¡¹ÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. Áï, ¼Ë´Ù¿îÀÌ Á¤»óÀûÀ¸·Î ÇàÇØÁöÁö ¾Ê°í ½ÇÇàÀÌ ÁßÁöµÇ´Â °æ¿ìÀÔ´Ï´Ù. À̰ÍÀº °¡»ó ¸Ó½ÅÀÌ ¿ÜºÎ¿¡¼ Á¤ÁöµÇ¾úÀ» °æ¿ì¿¡ ÀϾ´Ï´Ù. ¿¹¸¦ µé¾î UnixÀÎ °æ¿ìÀÇ SIGKILL ½Ã±×³Î ¶Ç´Â Microsoft WindowsÀÎ °æ¿ìÀÇ TerminateProcess È£ÃâÀÌ ±× ¿¹ÀÔ´Ï´Ù. °¡»ó ¸Ó½ÅÀº ¿¹¸¦ µé¾î ³»ºÎ µ¥ÀÌÅÍ ±¸Á¶ÀÇ ÆÄ±«, Á¸ÀçÇÏÁö ¾Ê´Â ¸Þ¸ð¸®¿¡ÀÇ ¾×¼¼½ºµî°ú °°ÀÌ ³×ÀÌÆ¼ºê ¸Þ¼µå°¡ ½ÇÆÐÇßÀ» °æ¿ì¿¡µµ ÀÌ»óÁ¾·á(ABEND) ÇÕ´Ï´Ù. °¡»ó ¸Ó½ÅÀÌ ÀÌ»óÁ¾·á(ABEND) ÇÏ¸é ¼Ë´Ù¿î ÈÅÀÇ ½ÇÇàÀº º¸ÁõÇÒ ¼ö ¾ø½À´Ï´Ù.
hook
- ÃʱâÈ´Â µÇ¾úÁö¸¸ ½ÃÀÛÇϰí ÀÖÁö ¾Ê´Â Thread
°´Ã¼
IllegalArgumentException
- ÁöÁ¤ÇÑ ÈÅÀÌ À̹Ì
µî·ÏµÇ¾î ÀÖ´Â °æ¿ì, ȤÀº ÈÅÀÌ À̹Ì
½ÇÇàÁßÀÌ´Ù, ¶Ç´Â ½ÇÇàÀÌ ¿Ï·áÇß´Ù°í ÆÇÁ¤µÇ´Â °æ¿ì
IllegalStateException
- °¡»ó ¸Ó½ÅÀÌ À̹Ì
¼Ë´Ù¿î ÁøÇàÁßÀÎ °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, RuntimePermission
("shutdownHooks")¸¦ °ÅºÎÇßÀ» °æ¿ìremoveShutdownHook(java.lang.Thread)
,
halt(int)
,
exit(int)
public boolean removeShutdownHook(Thread hook)
hook
- »èÁ¦ÇÏ´Â ÈÅ
IllegalStateException
- °¡»ó ¸Ó½ÅÀÌ À̹Ì
¼Ë´Ù¿î ÁøÇàÁßÀÎ °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, RuntimePermission
("shutdownHooks")¸¦ °ÅºÎÇßÀ» °æ¿ìaddShutdownHook(java.lang.Thread)
,
exit(int)
public void halt(int status)
ÀÌ ¸Þ¼µåÀÇ »ç¿ë¿¡´Â ¼¼½ÉÀÇ ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù. exit
¸Þ¼µå¿Í´Â ´Þ¶ó, ÀÌ ¸Þ¼µå¿¡¼´Â ¼Ë´Ù¿î ÈÅÀ» ½ÃÀÛÇÏÁö ¸øÇϰí, Á¾·á½ÃÀÇ ÆÄÀ̳ª¶óÀÌÁî°¡ À¯È¿ÇÑ °æ¿ì´Â ºÒ·Á°¡
Áö ¾ÊÀº ÆÄÀ̳ª¶óÀÌÀÚ¸¦ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù. À̹Ì
¼Ë´Ù¿î ¼ø¼°¡ °³½ÃµÇ°í ÀÖ´Â °æ¿ì´Â ÀÌ ¸Þ¼µå´Â ½ÇÇàÁßÀÇ ¼Ë´Ù¿î ÈÅ ¶Ç´Â ÆÄÀ̳ª¶óÀÌÀÚ¸¦ ´ë±âÇÏÁö ¾Ê°í Á¾·áÇÕ´Ï´Ù.
status
- Á¾·á ½ºÅ×ÀÌÅͽº. Åë·Ê, Á¦·Î ÀÌ¿ÜÀÇ ½ºÅ×ÀÌÅͽº ÄÚµå´Â ÀÌ»óÁ¾·á(ABEND)¸¦ ³ªÅ¸³½´Ù. exit
(System.exit
¿Í
µ¿µî) ¸Þ¼µå°¡ À̹Ì
ºÒ·Á°¡
°í ÀÖ´Â °æ¿ì´Â ±× ¸Þ¼µå¿¡°Ô °Ç³×Áø ½ºÅ×ÀÌÅͽº Äڵ带 ¿À¹ö¶óÀ̵å(override) ÇÑ´Ù
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkExit
¸Þ¼µå°¡ ÁöÁ¤µÈ ½ºÅ×ÀÌÅͽº¿¡¼ÀÇ Á¾·á¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìexit(int)
,
addShutdownHook(java.lang.Thread)
,
removeShutdownHook(java.lang.Thread)
@Deprecated public static void runFinalizersOnExit(boolean value)
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â È®½ÇÈ÷ Á¾·á°¡ Çã°¡µÇµµ·Ï, ÃÖÃÊ·Î Àμö¸¦ 0 À¸·Î¼ checkExit
¸Þ¼µå°¡ È£ÃâµË´Ï´Ù. ÀÌ °á°ú, SecurityException°¡ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
value
- Á¾·á½ÃÀÇ ÆÄÀ̳ª¶óÀÌÁ À¯È¿ÇÏ°Ô ÇÏ´Â °æ¿ì´Â true, ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkExit
¸Þ¼µå°¡ Á¾·á¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ìexit(int)
,
gc()
,
SecurityManager.checkExit(int)
public Process exec(String command) throws IOException
À̰ÍÀº °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå¸¦ exec(command)
Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, exec
(command, null, null)
È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
command
- ÁöÁ¤µÈ ½Ã½ºÅÛ Ä¿¸àµå
Process
°´Ã¼
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, checkExec
¸Þ¼µå°¡ ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- command
°¡ null
ÀÎ °æ¿ì
IllegalArgumentException
- command
°¡ ºñ¾îÀÖ´Â °æ¿ìexec(String[], String[], File)
,
ProcessBuilder
public Process exec(String command, String [] envp) throws IOException
À̰ÍÀº °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå¸¦ exec(command, envp)
Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, exec
(command, envp, null)
È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
command
- ÁöÁ¤µÈ ½Ã½ºÅÛ Ä¿¸àµåenvp
- ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿. ¹è¿ÀÇ °¢ ¿ä¼Ò´Â name=value ¶ó°í ÇÏ´Â Çü½Ä¿¡¼ ȯ°æ º¯¼ö ¼³Á¤À» º¸°ü À¯ÁöÇÑ´Ù. ¶Ç´Â ¼ºê ÇÁ·Î¼¼½º°¡ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ È¯°æÀ» »ó¼ÓÇÏ´Â °æ¿ì´Â null
Process
°´Ã¼
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, checkExec
¸Þ¼µå°¡ ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- command
°¡ null
ÀÎ °æ¿ì, ¶Ç´Â envp
¾î¶² °ÍÀΰ¡ÀÇ ¿ä¼Ò°¡ null
ÀÎ °æ¿ì
IllegalArgumentException
- command
°¡ ºñ¾îÀÖ´Â °æ¿ìexec(String[], String[], File)
,
ProcessBuilder
public Process exec(String command, String [] envp, File dir) throws IOException
À̰ÍÀº °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå¸¦ exec(command, envp, dir)
Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, exec
(cmdarray, envp, dir)
È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ¿©±â¼, cmdarray
´Â
command
¿¡ ÀÖ´Â ¸ðµç ÅäÅ«ÀÇ ¹è¿ÀÔ´Ï´Ù.
º¸´Ù Á¤È®ÇϰԴ command
ij¸¯ÅÍ ¶óÀÎÀº ¹®ÀÚ Ä«Å×°í¸®°¡ ´õ ÀÌ»ó º¯°æµÇ´Â ÀÏ ¾øÀÌ, new
È£Ãâ·Î ÀÛ¼ºµÈ StringTokenizer
(command)StringTokenizer
¸¦
»ç¿ëÇØ ÅäÅ«¿¡ ºÐÇҵ˴ϴÙ. ÅäÅ©³ªÀÌÀÚ·Î »ý¼ºµÈ ÅäÅ«Àº °°Àº ¼ø¼·Î »õ·Î¿î ij¸¯ÅÍ ¶óÀÎ ¹è¿ÀÇ cmdarray
¿¡ ¹èÄ¡µË´Ï´Ù.
command
- ÁöÁ¤µÈ ½Ã½ºÅÛ Ä¿¸àµåenvp
- ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿. ¹è¿ÀÇ °¢ ¿ä¼Ò´Â name=value ¶ó°í ÇÏ´Â Çü½Ä¿¡¼ ȯ°æ º¯¼ö ¼³Á¤À» º¸°ü À¯ÁöÇÑ´Ù. ¶Ç´Â ¼ºê ÇÁ·Î¼¼½º°¡ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ È¯°æÀ» »ó¼ÓÇÏ´Â °æ¿ì´Â nulldir
- ¼ºê ÇÁ·Î¼¼½º°¡ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ »ó¼ÓÇÏ´Â °æ¿ì´Â ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮, ¶Ç´Â null
Process
°´Ã¼
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, checkExec
¸Þ¼µå°¡ ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- command
°¡ null
ÀÎ °æ¿ì, ¶Ç´Â envp
¾î¶² °ÍÀΰ¡ÀÇ ¿ä¼Ò°¡ null
ÀÎ °æ¿ì
IllegalArgumentException
- command
°¡ ºñ¾îÀÖ´Â °æ¿ìProcessBuilder
public Process exec(String [] cmdarray) throws IOException
À̰ÍÀº °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå¸¦ exec(cmdarray)
Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, exec
(cmdarray, null, null)
È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
cmdarray
- ½ÇÇàÇÏ´Â Ä¿¸àµå¿Í Àμö¸¦ Æ÷ÇÔÇÑ ¹è¿
Process
°´Ã¼
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, checkExec
¸Þ¼µå°¡ ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- cmdarray
°¡ null
ÀÎ °æ¿ì, ¶Ç´Â cmdarray
¾î¶² °ÍÀΰ¡ÀÇ ¿ä¼Ò°¡ null
ÀÎ °æ¿ì
IndexOutOfBoundsException
- cmdarray
°¡ ±æÀ̰¡ 0
ºñ¾îÀÖ´Â ¹è¿ÀÇ °æ¿ìProcessBuilder
public Process exec(String [] cmdarray, String [] envp) throws IOException
À̰ÍÀº °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. ÀÌ ¸Þ¼µå¸¦ exec(cmdarray, envp)
Çü½Ä¿¡¼ È£ÃâÇßÀ» °æ¿ì, exec
(cmdarray, envp, null)
È£Ãâ°ú °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
cmdarray
- ½ÇÇàÇÏ´Â Ä¿¸àµå¿Í Àμö¸¦ Æ÷ÇÔÇÑ ¹è¿envp
- ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿. ¹è¿ÀÇ °¢ ¿ä¼Ò´Â name=value ¶ó°í ÇÏ´Â Çü½Ä¿¡¼ ȯ°æ º¯¼ö ¼³Á¤À» º¸°ü À¯ÁöÇÑ´Ù. ¶Ç´Â ¼ºê ÇÁ·Î¼¼½º°¡ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ È¯°æÀ» »ó¼ÓÇÏ´Â °æ¿ì´Â null
Process
°´Ã¼
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, checkExec
¸Þ¼µå°¡ ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- cmdarray
°¡ null
ÀÎ °æ¿ì, ¶Ç´Â cmdarray
¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ null
ÀÎ °æ¿ì, ȤÀº envp
¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ null
ÀÎ °æ¿ì
IndexOutOfBoundsException
- cmdarray
°¡ ±æÀ̰¡ 0
ºñ¾îÀÖ´Â ¹è¿ÀÇ °æ¿ìProcessBuilder
public Process exec(String [] cmdarray, String [] envp, File dir) throws IOException
Ä¿¸àµåÇàÀÇ ÅäÅ«À» ³ªÅ¸³»´Â ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿ cmdarray
¹× ȯ°æ º¯¼öÀÇ ¼³Á¤À» ³ªÅ¸³»´Â ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿ envp
¸¦ ÁöÁ¤Çϸé, ÀÌ ¸Þ¼µå´Â ÁöÁ¤µÈ Ä¿¸àµå¸¦ ½ÇÇàÇϱâ À§ÇÑ »õ·Î¿î ÇÁ·Î¼¼½º¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â cmdarray
°¡ À¯È¿ÇÑ OS
Ä¿¸àµåÀÎ °ÍÀ» È®ÀÎÇÕ´Ï´Ù. ¾î´À Ä¿¸àµå°¡ À¯È¿ÇѰ¡´Â ½Ã½ºÅÛ
Á¸ÀÔ´Ï´Ù¸¸, Ä¿¸àµå´Â Àû¾îµµ null ÀÌ¿ÜÀÇ Ä³¸¯ÅÍ ¶óÀÎÀÇ ºñ¾îÀÖÁö ¾ÊÀº ¸®½ºÆ®°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
envp°¡ nullÀÎ °æ¿ì, ¼ºê ÇÁ·Î¼¼½º´Â ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ È¯°æ ¼³Á¤À» »ó¼ÓÇÕ´Ï´Ù.
ÇöÀç, ProcessBuilder.start()
´Â
º¯°æµÈ ȯ°æÀ» °¡Áö´Â ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ´Â ¹æ¹ýÀ¸·Î¼ Ãßõ µÇ°í ÀÖ½À´Ï´Ù.
»õ·Î¿î ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮´Â dir·Î ÁöÁ¤ÇÕ´Ï´Ù. dir°¡ nullÀÎ °æ¿ì´Â ¼ºê ÇÁ·Î¼¼½º´Â ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ ÇöÀçÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ »ó¼ÓÇÕ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â cmdarray
¹è¿ÀÇ ÃÖÃÊÀÇ ÄÄÆÛ³ÍÆ®¸¦ Àμö·Î¼ »ç¿ëÇØ checkExec
¸Þ¼µå°¡ È£ÃâµË´Ï´Ù. ÀÌ °á°ú, SecurityException
ÀÌ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
OS ÇÁ·Î¼¼½ºÀÇ ½ÃÀÛÀº ±ØÈ÷ ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â ºÒÆíÀº ´ÙÀ½°ú °°½À´Ï´Ù.
ÀÌ»óÀÇ ÄÉÀ̽º¿¡¼´Â ¿¹¿Ü°¡ ¹ß»ý µË´Ï´Ù. ¿¹¿ÜÀÇ Á¤È®ÇÑ Æ¯¼ºÀº ½Ã½ºÅÛ¿¡
ÀÇÁ¸ÇÕ´Ï´Ù¸¸, À̰ÍÀº Ç×»ó IOException
¼ºê Ŭ·¡½º°¡ µË´Ï´Ù.
cmdarray
- ½ÇÇàÇÏ´Â Ä¿¸àµå¿Í Àμö¸¦ Æ÷ÇÔÇÑ ¹è¿envp
- ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿. ¹è¿ÀÇ °¢ ¿ä¼Ò´Â name=value ¶ó°í ÇÏ´Â Çü½Ä¿¡¼ ȯ°æ º¯¼ö ¼³Á¤À» º¸°ü À¯ÁöÇÑ´Ù. ¶Ç´Â ¼ºê ÇÁ·Î¼¼½º°¡ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ È¯°æÀ» »ó¼ÓÇÏ´Â °æ¿ì´Â nulldir
- ¼ºê ÇÁ·Î¼¼½º°¡ ÇöÀçÀÇ ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ »ó¼ÓÇÏ´Â °æ¿ì´Â ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮, ¶Ç´Â null
Process
°´Ã¼
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, checkExec
¸Þ¼µå°¡ ¼ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException
- ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException
- cmdarray
°¡ null
ÀÎ °æ¿ì, ¶Ç´Â cmdarray
¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ null
ÀÎ °æ¿ì, ȤÀº envp
¿ä¼ÒÀÇ ¾î¶² °ÍÀΰ¡°¡ null
ÀÎ °æ¿ì
IndexOutOfBoundsException
- cmdarray
°¡ ±æÀ̰¡ 0
ºñ¾îÀÖ´Â ¹è¿ÀÇ °æ¿ìProcessBuilder
public int availableProcessors()
ÀÌ °ªÀº °¡»ó ¸Ó½Å¿¡ÀÇ Æ¯Á¤ÀÇ È£ÃâÁßÀ¸·Î º¯°æµÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡ ÀÌ¿ë °¡´ÉÇÑ ÇÁ·Î¼¼¼¼ö¿¡ ¿µÇâÀ» ¹Þ´Â ¾îÇø®ÄÉÀ̼ÇÀº ÀÌ ÇÁ·ÎÆÛƼ¸¦ °¡²û Æú¸µ ÇØ, ÀÚ¿ø »ç¿ë¹ýÀ» Á¶Á¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
public long freeMemory()
gc
¸Þ¼µå¸¦ È£ÃâÇϸé, freeMemory
¿¡ ÀÇÇØ ¸®ÅϵÈ
°ªÀÌ Áõ°¡ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
public long totalMemory()
ÀÓÀÇÀÇ ÁöÁ¤µÈ ÇüÅÂÀÇ °´Ã¼¸¦ Æ÷ÇÔÇϴµ¥ ÇÊ¿äÇÑ ¸Þ¸ð¸® ¿ë·®Àº ±¸Çö¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
public long maxMemory()
Long.MAX_VALUE
°¡ ¸®Åϵ˴ϴÙ
.
public void gc()
gc
¶ó°í ÇÏ´Â ¸Þ¼µå¸íÀº ¡¸garbage collector¡¹ÀÇ µÎÀÚ¸¦ ÃëÇÑ °ÍÀÔ´Ï´Ù. gc
°¡ ¸í½ÃÀûÀ¸·Î´Â ºÒ·Á°¡
Áö ¾Ê¾Ò´ø °æ¿ì¿¡¼µµ, °¡»ó ¸Ó½ÅÀº ÀÌ ÀçÀÌ¿ë ÇÁ·Î¼¼½º¸¦ Çʿ信 µû¶ó¼ ÀÚµ¿ÀûÀ¸·Î ´Ù¸¥ thread·Î ½ÇÇàÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ·Á¸é,
System.gc()
¸Þ¼µå°¡ ÀϹÝÀûÀÌ°í Æí¸®ÇÕ´Ï´Ù.
public void runFinalization()
finalize
¸Þ¼µå°¡ ½ÇÇàµÇ¾î ÀÖÁö ¾ÊÀº °´Ã¼ÀÇ finalize
¸Þ¼µå¸¦ ½ÇÇàÇÏ·Á°í ÇÕ´Ï´Ù. ¸Þ¼µå È£Ãâ·ÎºÎÅÍ Á¦¾î°¡ µÇµ¹·ÁÁø ½ÃÁ¡¿¡¼
°¡»ó ¸Ó½ÅÀº ¸ðµç ÆÄÀ̳ª¶óÀÌÁ ¿Ï·áÇϵµ·Ï ÃÖ¼±À» ´ÙÇÑ °ÍÀÌ µË´Ï´Ù.
runFinalization
¸Þ¼µå°¡ ¸í½ÃÀûÀ¸·Î´Â ºÒ·Á°¡
Áö ¾Ê¾Ò´ø °æ¿ì¿¡¼µµ, °¡»ó ¸Ó½ÅÀº ÀÌ ÆÄÀ̳ª¶óÀÌÁîÇÁ·Î¼¼½º¸¦ Çʿ信 µû¶ó¼ ÀÚµ¿ÀûÀ¸·Î ´Ù¸¥ thread·Î ½ÇÇàÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ·Á¸é,
System.runFinalization()
¸Þ¼µå°¡ ÀϹÝÀûÀÌ°í Æí¸®ÇÕ´Ï´Ù.
Object.finalize()
public void traceInstructions(boolean on)
boolean
Àμö°¡ true
ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϸé, Java °¡»ó ¸Ó½ÅÀº °¡»ó ¸Ó½Å³»ÀÇ °¢ ¸í·ÉÀÇ µð¹ö±× Á¤º¸¸¦ ½ÇÇà½Ã¿¡ Ãâ·ÂÇÕ´Ï´Ù. ÀÌ Á¤º¸ÀÇ ¼½ÄÀ̳ª, Ãâ·Âó°¡ µÇ´Â ÆÄÀϵîÀÇ Ãâ·Â ½ºÆ®¸²Àº È£½ºÆ® ȯ°æ¿¡ ÀÇÇØ ´Ù¸¨´Ï´Ù. ÀÌ ±â´ÉÀ» Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ì, °¡»ó ¸Ó½ÅÀº ¿ä±¸¸¦ ¹«½ÃÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. Æ®·¹À̽ºÀÇ Ãâ·Âó´Â ½Ã½ºÅÛ¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
boolean
Àμö¿¡ false
¸¦ ÁöÁ¤Çϸé, °¡»ó ¸Ó½ÅÀº ¸í·ÉÀÇ »ó¼¼ Æ®·¹À̽ºÀÇ Ãâ·ÂÀ» Á¤ÁöÇÕ´Ï´Ù.
on
- ¸Þ¼µåÀÇ Æ®·¹À̽º¸¦ ½Ç½ÃÇÏ´Â °æ¿ì´Â true
, ÀÌ ±â´ÉÀ» ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
public void traceMethodCalls(boolean on)
boolean
Àμö°¡ true
ÀÎ °æ¿ì, ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϸé, Java °¡»ó ¸Ó½ÅÀº °¡»ó ¸Ó½Å³»ÀÇ °¢ ¸Þ¼µåÀÇ µð¹ö±× Á¤º¸¸¦ ±× ¸Þ¼µå È£ÃâÀÇ ½ÃÁ¡¿¡¼ Ãâ·ÂÇÕ´Ï´Ù. ÀÌ Á¤º¸ÀÇ ¼½ÄÀ̳ª, Ãâ·Âó°¡ µÇ´Â ÆÄÀϵîÀÇ Ãâ·Â ½ºÆ®¸²Àº È£½ºÆ® ȯ°æ¿¡ ÀÇÇØ ´Ù¸¨´Ï´Ù. ÀÌ ±â´ÉÀ» Áö¿ø
ÇÏÁö ¾Ê´Â °æ¿ì, °¡»ó ¸Ó½ÅÀº ¿ä±¸¸¦ ¹«½ÃÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
Àμö¸¦ false ·ÎÀÇÇØ ÀÌ ¸Þ¼µå¸¦ È£ÃâÇϸé, °¡»ó ¸Ó½ÅÀº È£ÃâÇÒ °ÍÀÇ µð¹ö±× Á¤º¸ÀÇ Ãâ·ÂÀ» Á¤ÁöÇÕ´Ï´Ù.
on
- ¸Þ¼µåÀÇ Æ®·¹À̽º¸¦ ½Ç½ÃÇÏ´Â °æ¿ì´Â true
, ÀÌ ±â´ÉÀ» ¹«È¿·Î ÇÏ´Â °æ¿ì´Â false
public void load(String filename)
java_g
·Î
ºÎÅÍ ÀÌ¿ëÇϸé, ¡¸. so¡¹ÀÇ Àü¿¡ ¡¸_g¡¹°¡ ÀÚµ¿ÀûÀ¸·Î »ðÀԵ˴ϴ٠(Runtime.getRuntime(). load("/home/avh/lib/libX11.so");
µî).
¿ì¼±, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ±× checkLink
¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. Àμö¿¡´Â filename
¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ °á°ú, ½ÃÅ¥·¯Æ¼ ¿¹¿Ü°¡ ¹ß»ýµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
À̰ÍÀº loadLibrary(String)
¸Þ¼µå¿Í ´à¾Æ ÀÖ½À´Ï´Ù¸¸, ¶óÀ̺귯¸®¸íÀº ¾Æ´Ï°í ÀϹÝÀûÀÎ ÆÄÀϸíÀ» Àμö·Î¼ ÁöÁ¤ÇÒ ¼ö Àֱ⠶§¹®¿¡
native code·Î ¾²¿©Áø ÀÓÀÇÀÇ ÆÄÀÏÀÌ ·Îµå °¡´ÉÇÏ°Ô µË´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ·Á¸é,
System.load(String)
¸Þ¼µå°¡ ÀϹÝÀûÀÌ°í Æí¸®ÇÕ´Ï´Ù.
filename
- ·ÎµåÇÏ´Â ÆÄÀÏ
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkLink
¸Þ¼µå°¡ ÁöÁ¤µÈ ´ÙÀ̳ª¹Í ¶óÀ̺귯¸®ÀÇ ·Îµå¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
UnsatisfiedLinkError
- ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
NullPointerException
- filename
°¡ null
ÀÎ °æ¿ìgetRuntime()
,
SecurityException
,
SecurityManager.checkLink(java.lang.String)
public void loadLibrary(String libname)
¿ì¼±, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ±× checkLink
¸Þ¼µå¸¦ È£ÃâÇÕ´Ï´Ù. Àμö¿¡´Â libname
¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ÀÌ °á°ú, ½ÃÅ¥·¯Æ¼ ¿¹¿Ü°¡ ¹ß»ýµÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼µå¸¦ È£ÃâÇÏ·Á¸é,
System.loadLibrary(String)
¸Þ¼µå°¡ ÀϹÝÀûÀÌ°í Æí¸®ÇÕ´Ï´Ù. ³×ÀÌÆ¼ºê ¸Þ¼µå¸¦ Ŭ·¡½ºÀÇ ±¸ÇöÀ¸·Î »ç¿ëÇÏ´Â °æ¿ì, Ç¥ÁØÀûÀ¸·Î´Â native code¸¦ ¶óÀ̺귯¸® ÆÄÀÏ (¿©±â¿¡¼´Â ¼³¸í»ó LibFile
·Î
ÇÑ´Ù)¿¡ ³Ö°í ³ª¼, Ŭ·¡½º ¼±¾ð¿¡ ´ÙÀ½ÀÇ static ÃʱâÈÀÚ¸¦ ³Ö½À´Ï´Ù.
ÀÌ·¸°Ô Çϸé, Ŭ·¡½º°¡ ·Îµå ¹× Ãʱâ鵃 ¶§, ³×ÀÌÆ¼ºê ¸Þ¼µå¿¡ ÇÊ¿äÇÑ native codeÀÇ ±¸Çöµµ ¶È°°ÀÌ ·Îµå µË´Ï´Ù.static { System.loadLibrary("LibFile"); }
°°Àº ¶óÀ̺귯¸®¸íÀ» ÁöÁ¤ÇØ ÀÌ ¸Þ¼µå¸¦ ¿©·¯ Â÷·Ê È£ÃâÇØµµ, 2¹øÂ° ÀÌÈÄÀÇ È£ÃâÀº ¹«½ÃµË´Ï´Ù.
libname
- ¶óÀ̺귯¸®ÀÇ À̸§
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkLink
¸Þ¼µå°¡ ÁöÁ¤µÈ ´ÙÀ̳ª¹Í ¶óÀ̺귯¸®ÀÇ ·Îµå¸¦ Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
UnsatisfiedLinkError
- ¶óÀ̺귯¸®°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
NullPointerException
- libname
°¡ null
ÀÎ °æ¿ìSecurityException
,
SecurityManager.checkLink(java.lang.String)
@Deprecated public InputStream getLocalizedInputStream(InputStream in)
InputStreamReader
Ŭ·¡½º¿Í BufferedReader
Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â (ºÐ)ÆíÀÌ ÀûÀýÇÕ´Ï´Ù.
InputStream
¸¦ ¹Þ¾Æ, Áö¿ª ´ëÀÀµÇ°í ÀÖ´Â Àܴ̿ ÀμöÀÇ ½ºÆ®¸²°ú ¿ÏÀüÈ÷ °°Àº InputStream
¸¦ ¸®ÅÏÇÕ´Ï´Ù. ·ÎÄà ij¸¯ÅͼÂÀÇ ¹®ÀÚ¸¦ ½ºÆ®¸²·ÎºÎÅÍ ÀоîµéÀÌ·Á¸é,
·ÎÄà ij¸¯Åͼ·κÎÅÍ Unicode¿¡ ÀÚµ¿ÀûÀ¸·Î º¯È¯ÇÕ´Ï´Ù.
Àμö·Î ÁöÁ¤ÇÑ ½ºÆ®¸²ÀÌ Áö¿ª ´ëÀÀÀÌ ³¡³ »óÅÂÀÎ °æ¿ì´Â ±×´ë·Î °á°úÀûÀ¸·Î ¸®Åϵ˴ϴ٠.
in
- Áö¿ª ´ëÀÀÇÏ´Â InputStream
InputStream
,
BufferedReader.BufferedReader(java.io.Reader)
,
InputStreamReader.InputStreamReader(java.io.InputStream)
@Deprecated public OutputStream getLocalizedOutputStream(OutputStream out)
OutputStreamWriter
Ŭ·¡½º, BufferedWriter
Ŭ·¡½º ¹× PrintWriter
Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â (ºÐ)ÆíÀÌ ÀûÀýÇÕ´Ï´Ù.
OutputStream
¸¦ ¹Þ¾Æ, Áö¿ª ´ëÀÀµÇ°í ÀÖ´Â Àܴ̿ ÀμöÀÇ ½ºÆ®¸²°ú ¿ÏÀüÈ÷ °°Àº OutputStream
¸¦ ¸®ÅÏÇÕ´Ï´Ù. Unicode¸¦ ½ºÆ®¸²¿¡ Ãâ·ÂÇÏ·Á¸é,
Unicode ·ÎºÎÅÍ ·ÎÄà ij¸¯Åͼ¿¡ ÀÚµ¿ÀûÀ¸·Î º¯È¯ÇÕ´Ï´Ù.
Àμö·Î ÁöÁ¤ÇÑ ½ºÆ®¸²ÀÌ Áö¿ª ´ëÀÀÀÌ ³¡³ »óÅÂÀÎ °æ¿ì´Â ±×´ë·Î °á°úÀûÀ¸·Î ¸®Åϵ˴ϴ٠.
out
- Áö¿ª ´ëÀÀÇÏ´Â OutputStream
OutputStream
,
BufferedWriter.BufferedWriter(java.io.Writer)
,
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
,
PrintWriter.PrintWriter(java.io.OutputStream)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | »ý¼ºÀÚ | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.