JavaTM 2 Platform
Standard Ed. 5.0

java.rmi.server
Ŭ·¡½º RMIClassLoader

java.lang.Object 
  »óÀ§¸¦ È®Àå java.rmi.server.RMIClassLoader

public class RMIClassLoader
extends Object

RMIClassLoader´Â RMI¸¦ »ç¿ëÇØ µ¿ÀûÀ¸·Î Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§ÇÑ static ¸Þ¼­µå·ÎºÎÅÍ ±¸¼ºµË´Ï´Ù. ÀÌ Å¬·¡½º ·Î´õ¿¡°Ô´Â ³×Æ®¿öÅ©ÀÇ Àå¼Ò (1°³ ÀÌ»óÀÇ URL)¿¡¼­ Ŭ·¡½º¸¦ ·ÎµåÇÏ´Â ¸Þ¼­µå³ª, ±âÁ¸ÀÇ Å¬·¡½º°¡ Æ÷ÇԵǰí ÀÖ´Â Àå¼Ò¸¦ ¾ò´Â ¸Þ¼­µå°¡ »ðÀԵǾî ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼­µå´Â ¸®¸ðÆ® ¸Þ¼­µå È£ÃâÀÇ Àμö³ª ¹Ýȯ°ª¿¡ Æ÷ÇԵǴ Ŭ·¡½º¸¦ Á¤·ÄÈ­ ¹× ºñÁ¤·ÄÈ­ÇÒ ¶§, RMI ·±Å¸ÀÓ¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. ¶Ç, ÀÌ·¯ÇÑ ¸Þ¼­µå¸¦ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ Á÷Á¢ È£ÃâÇØ, Ŭ·¡½º¸¦ µ¿ÀûÀ¸·Î ·ÎµåÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

´ÙÀ½ÀÇ static ¸Þ¼­µåÀÇ ±¸ÇöÀº ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º RMIClassLoaderSpi ÀνºÅϽº¿¡ ÀÇÇØ Á¦°øµË´Ï´Ù.

ÀÌ ¸Þ¼­µåÁß ÇÑÂÊÀÌ ºÒ·Á°¡ ¸é, ±× µ¿ÀÛÀÌ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ ´ëÀÀÇÏ´Â ¸Þ¼­µå¿¡ À§¾ç µË´Ï´Ù. °¢ ¸Þ¼­µå°¡ ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº¿¡ À§¾ç ÇÏ´Â µ¿ÀÛÀÇÀÚ¼¼ÇÑ ³»¿ëÀº °¢ ¸Þ¼­µåÀÇ ¸Þ´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.

¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº´Â ´ÙÀ½°ú °°ÀÌ ¼±Åõ˴ϴÙ.

µµÀÔµÈ ¹öÀü :
JDK1. 1
°ü·Ã Ç׸ñ:
RMIClassLoaderSpi

¸Þ¼­µå °³¿ä
static String getClassAnnotation (Class <? > cl)
          Å¬·¡½º Á¤ÀÇÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â ÁÖ¼® ij¸¯ÅÍ ¶óÀÎÀ» ¸®ÅÏÇÕ´Ï´Ù.
static ClassLoader getClassLoader (String  codebase)
          ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇϴ Ŭ·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static RMIClassLoaderSpi getDefaultProviderInstance ()
          ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º RMIClassLoaderSpi µðÆúÆ® ÇÁ·Î¹ÙÀÌ´õÀÇ Ç¥ÁØ ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù.
static Object getSecurityContext (ClassLoader  loader)
          ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  ´ëü´Â ¾ø½À´Ï´Ù. Java 2 Ç÷§Æû 1.2 ÀÌÈÄÀÇ RMI ¿¡¼­´Â Ŭ·¡½º ·Î´õÀÇ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ÃëµæÇϱâ À§Çؼ­ ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.
static Class <? > loadClass (String  name)
          ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  loadClass(String, String) ¸Þ¼­µå·Î ¿Å°ÜÁ³½À´Ï´Ù.
static Class <? > loadClass (String  codebase, String  name)
          ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
static Class <? > loadClass (String  codebase, String  name, ClassLoader  defaultLoader)
          ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
static Class <? > loadClass (URL  codebase, String  name)
          ÁöÁ¤µÈ ÄÚµå º£À̽º URL ·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
static Class <? > loadProxyClass (String  codebase, String [] interfaces, ClassLoader  defaultLoader)
          ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÎÅÍÆäÀ̽º±ºÀ» ±¸ÇöÇÑ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º (Proxy¸¦ ÂüÁ¶)¸¦, ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ ·ÎµåÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

¸Þ¼­µåÀÇ »ó¼¼

loadClass

@Deprecated 
public static Class <? > loadClass(String  name)
                          throws MalformedURLException,

                                 ClassNotFoundException 
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  loadClass(String, String) ¸Þ¼­µå·Î ¿Å°ÜÁ³½À´Ï´Ù.

ÁöÁ¤µÈ name¸¦ À̸§¿¡ °¡Áö´Â Ŭ·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â 󸮸¦ loadClass(String, String) ¸Þ¼­µå¿¡ À§¾ç ÇÕ´Ï´Ù. 1¹ø°ÀÇ Àμö¿¡´Â nullÀÌ 2¹ø°ÀÇ Àμö¿¡´Â name°¡ °Ç³×¹Þ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
name - ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
¹Ýȯ°ª:
·Îµå µÈ Ŭ·¡½º¸¦ ³ªÅ¸³»´Â Class °´Ã¼
¿¹¿Ü:
MalformedURLException - Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - Ŭ·¡½ºÀÇ Á¤ÀÇ°¡ ÄÚµå º£À̽ºÀÇ À§Ä¡¿¡ ¾ø¾ú´ø °æ¿ì
°ü·Ã Ç׸ñ:
loadClass(String, String)

loadClass

public static Class <? > loadClass(URL  codebase,
                                 String  name)
                          throws MalformedURLException,

                                 ClassNotFoundException 
ÁöÁ¤µÈ ÄÚµå º£À̽º URL ·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. codebase°¡ nullÀÎ °æ¿ì, ÀÌ ¸Þ¼­µåÀÇ µ¿ÀÛÀº ¸Þ¼­µå loadClass(String, String) Àμö¿¡ null codebase¿Í µ¿ÀÏ Å¬·¡½º¸íÀ» ÁöÁ¤ÇßÀ» °æ¿ì¿Í °°°Ô µË´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadClass(String, String, ClassLoader) ¸Þ¼­µå¿¡ 󸮸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ ¶§, ÁöÁ¤ÇÑ URL ·Î URL.toString()¸¦ È£ÃâÇÑ °á°ú (codebase°¡ nullÀÎ °æ¿ì´Â null)°¡ ÃÖÃÊÀÇ Àμö·Î¼­name°¡ 2¹ø°ÀÇ Àμö·Î¼­nullÀÌ 3 ¹ø°ÀÇ Àμö·Î¼­ °Ç³×¹Þ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
codebase - Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL, ¶Ç´Â null
name - ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
¹Ýȯ°ª:
·Îµå µÈ Ŭ·¡½º¸¦ ³ªÅ¸³»´Â Class °´Ã¼
¿¹¿Ü:
MalformedURLException - codebase°¡ null·Î ÇÑÆí Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - Ŭ·¡½ºÀÇ Á¤ÀÇ°¡ ÁöÁ¤µÈ URL¿¡ ¾ø¾ú´ø °æ¿ì

loadClass

public static Class <? > loadClass(String  codebase,
                                 String  name)
                          throws MalformedURLException,

                                 ClassNotFoundException 
ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadClass(String, String, ClassLoader) ¸Þ¼­µå¿¡ 󸮸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ ¶§, codebase°¡ ÃÖÃÊÀÇ Àμö·Î¼­name°¡ 2¹ø°ÀÇ Àμö·Î¼­nullÀÌ 3 ¹ø°ÀÇ Àμö·Î¼­ °Ç³×¹Þ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
codebase - Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL ¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â null
name - ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
¹Ýȯ°ª:
·Îµå µÈ Ŭ·¡½º¸¦ ³ªÅ¸³»´Â Class °´Ã¼
¿¹¿Ü:
MalformedURLException - codebase°¡ null ÀÌ¿Ü·Î ÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î ÇÑÆí Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - Ŭ·¡½ºÀÇ Á¤ÀÇ°¡ ÁöÁ¤µÈ Àå¼Ò¿¡ ¾ø¾ú´ø °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

loadClass

public static Class <? > loadClass(String  codebase,
                                 String  name,
                                 ClassLoader  defaultLoader)
                          throws MalformedURLException,

                                 ClassNotFoundException 
ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù. ÁöÁ¤µÈ ·Î´õ¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀÇ È£Ãâ¿øÀÌ, »óȲ¿¡ µû¶ó »ç¿ëÇØ¾ß ÇÒ Ãß°¡ Ŭ·¡½º ·Î´õ (È£Ãâ¿øÀÇ ½ºÅûóÀÇ ·Î´õµî)¸¦ ÇÁ·Î¹ÙÀÌ´õ ±¸Çö¿¡ Á¦°øÇÏ´Â °æ¿ì¿¡ ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. º¸Åë, ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº ÁöÁ¤µÈ defaultLoader¸¦ »ç¿ëÇØ ÁöÁ¤µÈ Ŭ·¡½ºÀÇ ÇØ°áÀ» ½ÃµµÇÏ°í ³ª¼­, ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍÀÇ Å¬·¡½ºÀÇ ÇØ°áÀ» ½ÃµµÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadClass(String, String, ClassLoader) ¸Þ¼­µå¿¡ 󸮸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ ¶§, codebase°¡ ÃÖÃÊÀÇ Àμö·Î¼­name°¡ 2¹ø°ÀÇ Àμö·Î¼­defaultLoader°¡ 3 ¹ø°ÀÇ Àμö·Î¼­ °Ç³×¹Þ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
codebase - Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL ¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â null
name - ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
defaultLoader - »óȲ¿¡ µû¶ó »ç¿ëÇÏ´Â Ãß°¡ Ŭ·¡½º ·Î´õ, ¶Ç´Â null
¹Ýȯ°ª:
·Îµå µÈ Ŭ·¡½º¸¦ ³ªÅ¸³»´Â Class °´Ã¼
¿¹¿Ü:
MalformedURLException - codebase°¡ null ÀÌ¿Ü·Î ÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î ÇÑÆí Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - Ŭ·¡½ºÀÇ Á¤ÀÇ°¡ ÁöÁ¤µÈ Àå¼Ò¿¡ ¾ø¾ú´ø °æ¿ì
µµÀÔµÈ ¹öÀü :
1.4

loadProxyClass

public static Class <? > loadProxyClass(String  codebase,
                                      String [] interfaces,
                                      ClassLoader  defaultLoader)
                               throws ClassNotFoundException,

                                      MalformedURLException 
ÁöÁ¤µÈ À̸§À» °¡Áö´Â ÀÎÅÍÆäÀ̽º±ºÀ» ±¸ÇöÇÑ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º (Proxy¸¦ ÂüÁ¶)¸¦, ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ ·ÎµåÇÕ´Ï´Ù.

ÀÌ·¯ÇÑ ÀÎÅÍÆäÀ̽ºÀÇ ÇØ°áÀº ÁöÁ¤µÈ codebase¸¦ »ç¿ëÇØ loadClass(String, String) ¸Þ¼­µå °æÀ¯·Î ·Îµå µÈ Ŭ·¡½º¿Í °°Àº ¹æ¹ýÀ¸·Î ÇàÇØÁý´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadProxyClass(String, String[], ClassLoader) ¸Þ¼­µå¿¡ 󸮸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ ¶§, codebase°¡ ÃÖÃÊÀÇ Àμö·Î¼­interfaces°¡ 2¹ø°ÀÇ Àμö·Î¼­defaultLoader°¡ 3 ¹ø°ÀÇ Àμö·Î¼­ °Ç³×¹Þ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
codebase - Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL ¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â null
interfaces - ÇÁ·Ï½Ã Ŭ·¡½º°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÇ À̸§
defaultLoader - »óȲ¿¡ µû¶ó »ç¿ëÇÏ´Â Ãß°¡ Ŭ·¡½º ·Î´õ, ¶Ç´Â null
¹Ýȯ°ª:
ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º
¿¹¿Ü:
MalformedURLException - codebase°¡ null ÀÌ¿Ü·Î ÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î ÇÑÆí Ŭ·¡½º ·Îµå½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
ClassNotFoundException - ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ Á¤ÀÇÁß ÇÑÂÊÀÌ ÁöÁ¤µÈ Àå¼Ò¿¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì, ¶Ç´Â µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀÛ¼º¿¡ ½ÇÆÐÇßÀ» °æ¿ì (Proxy.getProxyClass(ClassLoader, Class[]) °¡ ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º ¸®½ºÆ®¿¡ ´ëÇؼ­ IllegalArgumentExceptionÀ» Throw ÇßÀ» ¶§ µî)
µµÀÔµÈ ¹öÀü :
1.4

getClassLoader

public static ClassLoader  getClassLoader(String  codebase)
                                  throws MalformedURLException,

                                         SecurityException 
ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇϴ Ŭ·¡½º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¸®ÅÏµÈ Å¬·¡½º ·Î´õ´Â loadClass(String, String) ¸Þ¼­µå°¡ °°Àº codebaseÀμö¸¦ ÁöÁ¤ÇØ Å¬·¡½º¸¦ ·ÎµåÇÒ ¶§ »ç¿ëÇϴ Ŭ·¡½º ·Î´õ¿Í °°½À´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.getClassLoader(String) ¸Þ¼­µå¿¡ 󸮸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ ¶§, codebase°¡ Àμö·Î¼­ °Ç³×¹Þ½À´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â RuntimePermission("getClassLoader") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ checkPermission ¸Þ¼­µå°¡ ºÒ·Á°¡ SecurityException°¡ üũµË´Ï´Ù. ÀÌ ¸Þ¼­µåÀÇ ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº È£ÃâÃø ÄÁÅؽºÆ®ÀÌ ÄÚµå º£À̽º URL Æнº³»ÀÇ ¸ðµç URL¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖÀ»Áö ¾î¶³Áö¿¡ ÀÓÇؼ­, ½ÃÅ¥·¯Æ¼ üũ¸¦ ½Ç½ÃÇÏ´Â Àϵµ ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
codebase - ¸®ÅÏµÈ Å¬·¡½º ·Î´õ°¡ ·ÎµåÇϴ Ŭ·¡½º°¡ Æ÷ÇԵǰí ÀÖ´Â URL ¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º), ¶Ç´Â null
¹Ýȯ°ª:
ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇϴ Ŭ·¡½º ·Î´õ
¿¹¿Ü:
MalformedURLException - codebase°¡ null ÀÌ¿Ü·Î ÇÑÆí ¹«È¿ÀÎ URL¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â °æ¿ì, ¶Ç´Â codebase°¡ null·Î ÇÑÆí Ŭ·¡½º ·Î´õÀÇ ½Äº°½Ã¿¡ »ç¿ëµÈ ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ URL°¡ ¹«È¿ÀÎ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡ ±× checkPermission ¸Þ¼­µå°¡ ½ÇÆÐÇßÀ» °æ¿ì. ¶Ç´Â È£ÃâÃøÀÌ ÄÚµå º£À̽º URL Æнº³»ÀÇ ¸ðµç URL¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ì
µµÀÔµÈ ¹öÀü :
1.3

getClassAnnotation

public static String  getClassAnnotation(Class <? > cl)
Ŭ·¡½º Á¤ÀÇÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â ÁÖ¼® ij¸¯ÅÍ ¶óÀÎÀ» ¸®ÅÏÇÕ´Ï´Ù. RMI´Â ÀÌ°ÍÀ» »ç¿ëÇØ, ÁöÁ¤µÈ Ŭ·¡½ºÀÇ °´Ã¼ÀÇ Á¤·ÄÈ­¸¦ ½Ç½ÃÇÒ ¶§¿¡ Ŭ·¡½º ±â¼úÀÚ¿¡°Ô ÁÖ¼®À» ´õÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.getClassAnnotation(Class) ¸Þ¼­µå¿¡ 󸮸¦ À§¾ç ÇÕ´Ï´Ù. ÀÌ ¶§, cl°¡ Àμö·Î¼­ °Ç³×¹Þ½À´Ï´Ù.

ÆĶó¹ÌÅÍ:
cl - ÁÖ¼®À» ¾ò´Â ´ë»óÀÇ Å¬·¡½º
¹Ýȯ°ª:
Á¤·ÄÈ­½Ã·Î ÁöÁ¤µÈ Ŭ·¡½º¿¡ ÁÖ¼®À» ´õÇϱâ À§Çؼ­ »ç¿ëµÇ´Â ij¸¯ÅÍ ¶óÀÎ, ¶Ç´Â null
¿¹¿Ü:
NullPointerException - cl°¡ nullÀÎ °æ¿ì
µµÀÔµÈ ¹öÀü :
1.2

getDefaultProviderInstance

public static RMIClassLoaderSpi  getDefaultProviderInstance()
¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º RMIClassLoaderSpi µðÆúÆ® ÇÁ·Î¹ÙÀÌ´õÀÇ Ç¥ÁØ ÀνºÅϽº¸¦ ¸®ÅÏÇÕ´Ï´Ù. ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.RMIClassLoaderSpi°¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì, ´ÙÀ½¿¡ ³ªÅ¸³»´Â RMIClassLoader static ¸Þ¼­µå´Â ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº·Î¼­ µðÆúÆ® ÇÁ·Î¹ÙÀÌ´õÀÇ Ç¥ÁØ ÀνºÅϽº¸¦ »ç¿ëÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, RuntimePermission("setFactory") Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ checkPermission ¸Þ¼­µå°¡ ºÒ·Á°¡ SecurityException°¡ üũµË´Ï´Ù.

µðÆúÆ®ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº´Â RMIClassLoaderSpi¸¦ ´ÙÀ½°ú °°ÀÌ ±¸ÇöÇÕ´Ï´Ù.

getClassAnnotation ¸Þ¼­µå´Â ÁöÁ¤µÈ Ŭ·¡½º Á¤ÀÇÀÇ ´Ù¿î·Îµå¿¡ ¿ø°ÝÃøÀÌ »ç¿ëÇÏ´Â ÄÚµå º£À̽º URL Æнº¸¦ ³ªÅ¸³»´Â String¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀÇ Çü½ÄÀº ½ºÆäÀ̽º¿¡¼­ ´Ü¶ôÁö¾îÁø URL ÆнºÀÔ´Ï´Ù. ¸®ÅÏµÈ ÄÚµå º£À̽ºÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï, ÁöÁ¤µÈ Ŭ·¡½º¿¡ Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ¿¡ µû¶ó¼­ ´Ù¸¨´Ï´Ù.

  • Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ°¡ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ (ClassLoader.getSystemClassLoader()¸¦ ÂüÁ¶), ½Ã½ºÅÛ Å¬·¡½º ·Î´õÀÇ ºÎ¸ð (ÀνºÅç ³¡³­ È®Àå Ŭ·¡½º¿¡ »ç¿ëµÇ´Â ·Î´õ µî), ¶Ç´Â bootstrap Ŭ·¡½º ·Î´õ (null·Î ³ªÅ¸³»Áø´Ù)ÀÇ °æ¿ì, java.rmi.server.codebase ÇÁ·ÎÆÛƼÀÇ °ª (¶Ç´Â ÀÌÀü¿¡ ij½¬µÈ °ª)ÀÌ ¸®ÅϵȴÙ. ÀÌ ÇÁ·ÎÆÛƼÀÇ °ªÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â nullÀÌ ¸®ÅϵȴÙ

  • Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ°¡ URLClassLoader ÀνºÅϽºÀÇ °æ¿ì´Â ·Î´õÀÇ getURLs ¸Þ¼­µå È£Ãâ·ÎºÎÅÍ ¸®ÅÏµÈ ¿ÜºÎ Çü½ÄÀÇ URL ¸®½ºÆ® (´Ü¶ô ¹®ÀÚ´Â ½ºÆäÀ̽º)°¡ ¸®ÅϵȴÙ. URLClassLoader°¡ ÀÌ ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ÀÛ¼ºµÇ¾î ±× loadClass ¶Ç´Â loadProxyClass ¸Þ¼­µå°¡ »ç¿ëµÇ´Â °æ¿ì, °ü·ÃµÈ ÄÚµå º£À̽º ij¸¯ÅÍ ¶óÀÎÀ» ÃëµæÇϱâ À§ÇÑ Á¢±Ù ±ÇÇÑÀº ÇÊ¿ä¾ø´Ù. URLClassLoaderÀνºÅϽº°¡ ÀÌ ÇÁ·Î¹ÙÀÌ´õ ÀÌ¿Ü¿¡ ÀÛ¼ºµÇ¾î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â getURLs ¸Þ¼­µå·ÎºÎÅÍ URL°¡ µ¹·ÁÁÖ°íÁú ¶§¸¶´Ù, openConnection(). getPermission() È£Ãâ¿¡ ÀÇÇØ ¸®ÅÏµÈ Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇ checkPermission ¸Þ¼­µå°¡ ºÒ·Á °£´Ù. ÀÌ·¯ÇÑ È£ÃâÀÇ ¾î´ÀÂÊÀ̵çÀ¸·Î SecurityException ¶Ç´Â IOException°¡ Throw µÇ¾úÀ» °æ¿ì, java.rmi.server.codebase ÇÁ·ÎÆÛƼÀÇ °ªÀÌ ¸®ÅϵȴÙ. ÀÌ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â nullÀÌ ¸®ÅϵȴÙ

  • Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ°¡ URLClassLoader ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì, java.rmi.server.codebase ÇÁ·ÎÆÛƼÀÇ °ª (¶Ç´Â ÀÌÀü¿¡ ij½¬µÈ °ª)ÀÌ ¸®ÅϵȴÙ. ÀÌ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â nullÀÌ ¸®ÅϵȴÙ

codebase ¶ó´Â À̸§ÀÇ String ÆĶó¹ÌÅÍ (½ºÆäÀ̽º¿¡¼­ ´Ü¶ôÁö¾îÁø URL ¸®½ºÆ®)¸¦ ÃëÇÏ´Â ´ÙÀ½¿¡ ¼³¸íÇÏ´Â °¢ ¸Þ¼­µå ±¸Çö¿¡ ´ëÇØ, ¸Þ¼­µå°¡ ºÒ·Á °¥ ¶§¸¶´Ù ƯÁ¤ÀÇ ¡¸ÄÚµå º£À̽º ·Î´õ¡¹¸¦ °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. ÄÚµå º£À̽º ·Î´õ´Â codebaseÀμö¿Í ÇöÀçÀÇ threadÀÇ ÄÁÅؽºÆ® Ŭ·¡½º ·Î´õ (Thread.getContextClassLoader()¸¦ ÂüÁ¶)¸¦ Á¶ÇÕÇØ °Ë»öµË´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ÇÁ·Î¹ÙÀÌ´õ´Â Ŭ·¡½º ·Î´õ ÀνºÅϽºÀÇ ³»ºÎ Å×À̺í (Àû¾îµµ URLClassLoader ÀνºÅϽº¸¦ Æ÷ÇÔÇÑ´Ù)À» º¸°ü À¯ÁöÇÕ´Ï´Ù. ÀÌ Å×À̺íÀÇ Å°´Â ºÎ¸ðÀÇ Å¬·¡½º ·Î´õ¿Í ÄÚµå º£À̽º URL Æнº (URL ¼ø¼­ ÷ºÎ ¸®½ºÆ®)ÀÇ Æä¾îÀÔ´Ï´Ù. codebaseÀμö°¡ nullÀÎ °æ¿ì, ÄÚµå º£À̽º URL Æнº´Â ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase°ª, ÀÌÀüÀÇ Ä³½¬µÈ °ªÀÇ ¾î´À ÂÊÀΰ¡¿¡ µË´Ï´Ù. ¾î´À ÄÚµå º£À̽º URL Æнº°¡ Àִ ƯÁ¤ÀÇ ÄÁÅؽºÆ® ³»¿¡¼­ ¾Æ·¡ÀÇ ¸î°³ÀÇ ¸Þ¼­µåÀÇ È£ÃâÀÇ codebaseÀμö·Î¼­ °Ç³×¹Þ¾ÒÀ» °æ¿ì, Å×ÀÌºí³»ÀÇ ·Î´õ °¡¿îµ¥, Æнº°¡ ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº, ºÎ¸ð°¡ ÇöÀç threadÀÇ ÄÁÅؽºÆ® Ŭ·¡½º ·Î´õÀÎ °Í °°Àº ·Î´õ°¡ ÄÚµå º£À̽º ·Î´õ°¡ µË´Ï´Ù. ±×·¯ÇÑ ·Î´õ°¡ ¹ß°ßµÇÁö ¾Ê¾Ò´ø °æ¿ì, ±×·¯ÇÑ ·Î´õ°¡ »õ·Ó°Ô ÀÛ¼ºµÇ¾î Å×ÀÌºí¿¡ Ãß°¡µË´Ï´Ù. ´Ù¸¸, ÀÌ Å×À̺íÀº µµ´Þ ºÒ°¡´ÉÇÑ ·Î´õ¿Í ±× ·Î´õ¿¡ Á¤Àǵǰí Àִ Ŭ·¡½º°¡ °¡ºñÁö Ä÷ºÆ®µÇµµ·Ï, ·Î´õ¿¡°Ô·ÎÀÇ °­ÂüÁ¶¸¦ º¸°ü À¯ÁöÇÏÁö ¾Ê½À´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏÁö ¾ÊÀ» ¶§¿¡ ½Å·ÚµÇÁö ¾Ê´Â Äڵ尡 °¡»ó ¸Ó½Å¿¡ ¾Ï¹¬ÀûÀ¸·Î ·Îµå µÇÁö ¾Ê°Ô Çϱâ À§Çؼ­ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ÄÚµå º£À̽º ·Î´õ´Â ÇöÀçÀÇ threadÀÇ ÄÁÅؽºÆ® Ŭ·¡½º ·Î´õ°¡ µË´Ï´Ù (ÁöÁ¤µÈ ÄÚµå º£À̽º URL Æнº´Â ¹«½ÃµÇ¾î ¸®¸ðÆ® Ŭ·¡½º¸¦ ·ÎµåÇÒ ¼ö ¾ø°Ô µÈ´Ù).

getClassLoader ¸Þ¼­µå´Â ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆнºÀÇ ÄÚµå º£À̽º ·Î´õ¸¦ ¸®ÅÏÇÕ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, È£ÃâÃø ÄÁÅؽºÆ®¿¡ ÄÚµå º£À̽º URL Æнº³»ÀÇ ¸ðµç URL¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀÌ ¾øÀ» ¶§´Â SecurityException°¡ ¹ß»ý µË´Ï´Ù.

loadClass ¸Þ¼­µå´Â ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º¸¦ ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ·Îµå¸¦ ½ÃµµÇÕ´Ï´Ù.

defaultLoaderÀμö°¡ nullÀÌ ¾Æ´Ñ °æ¿ì´Â ¿ì¼± defaultLoader¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ name Ŭ·¡½ºÀÇ ·Îµå¸¦ ½ÃµµÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ´ÙÀ½°ú °°ÀÌ Æò°¡ÇÕ´Ï´Ù.

     Class.forName(name, false, defaultLoader)
 
Ŭ·¡½º¸¦ defaultLoader·Î ºÎÅÍ ·ÎµåÇÒ ¼ö ÀÖ¾úÀ» °æ¿ì, ±× Ŭ·¡½º°¡ ¸®Åϵ˴ϴ٠. ClassNotFoundException ÀÌ¿ÜÀÇ ¿¹¿Ü°¡ Throw µÇ¾úÀ» °æ¿ì´Â ±× ¿¹¿Ü°¡ È£ÃâÇØ Ãø¿¡ ¹ß»ý µË´Ï´Ù.

´ÙÀ½¿¡ loadClass ¸Þ¼­µå°¡ ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆнºÀÇ ÄÚµå º£À̽º ·Î´õ¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ name Ŭ·¡½ºÀÇ ·Îµå¸¦ ½ÃµµÇÕ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, È£ÃâÃø ÄÁÅؽºÆ®¿¡ ´Â ÄÚµå º£À̽º URL Æнº³»ÀÇ ¸ðµç URL¿¡ ´ëÇÑ Á¢±Ù ±ÇÇÑÀÌ ÇÊ¿äÇÕ´Ï´Ù. Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì´Â ÄÚµå º£À̽º ·Î´õ ´ë½Å¿¡ ÇöÀçÀÇ threadÀÇ ÄÁÅؽºÆ® Ŭ·¡½º ·Î´õ°¡ »ç¿ëµË´Ï´Ù.

loadProxyClass ¸Þ¼­µå´Â ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ¸®ÅÏÇÕ´Ï´Ù.

defaultLoaderÀμö°¡ null ÀÌ¿Ü·Î ±× ·Î´õ¸¦ »ç¿ëÇØ ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ÇØ°áÇÒ ¼ö ÀÖ´Â °æ¿ì

  • ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡ ¸ðµÎ publicÀÎ °æ¿ì´Â ¿ì¼± Proxy.getProxyClass¸¦ »ç¿ëÇØ, ÄÚµå º£À̽º ·Î´õ·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù. IllegalArgumentException°¡ Throw µÇ¾úÀ» °æ¿ì´Â defaultLoader·Î ºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµ IllegalArgumentException°¡ Throw µÇ¾úÀ» ¶§´Â ClassNotFoundException°¡ Throw µÈ´Ù. ´Ù¸¥ ¿¹¿Ü°¡ Throw µÇ¾úÀ» °æ¿ì, ±× ¿¹¿Ü´Â È£ÃâÇØ Ãø¿¡ Throw µÈ´Ù
  • ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡ public ÀÌ¿ÜÀÇ °æ¿ì, ±×°ÍµéÀÌ ¸ðµÎ °°Àº Ŭ·¡½º ·Î´õ¿¡ Á¤Àǵǰí ÀÖÀ» ¶§´Â ±× ·Î´õ·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù
  • »ó±â ÀÌ¿ÜÀÇ °æ¿ì´Â LinkageError°¡ Throw µÈ´Ù (ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ±¸ÇöÇϴ Ŭ·¡½º´Â ¾î´À ·Î´õ¿¡µµ Á¤ÀÇÇÒ ¼ö ¾ø±â ¶§¹®¿¡)

ÁöÁ¤µÈ ¸ðµç ÀÎÅÍÆäÀ̽º¸¦ ÄÚµå º£À̽º ·Î´õ¸¦ »ç¿ëÇØ ÇØ°áÇÒ ¼ö ÀÖ´Â °æ¿ì

  • ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡ ¸ðµÎ publicÀÎ °æ¿ì´Â ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÄÚµå º£À̽º ·Î´õ·ÎºÎÅÍ ÃëµæÇÏÀÚ ÇÑ´Ù. IllegalArgumentException°¡ Throw µÇ¾úÀ» °æ¿ì´Â ClassNotFoundException°¡ Throw µÈ´Ù
  • ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡ public ÀÌ¿ÜÀÇ °æ¿ì, ±×°ÍµéÀÌ ¸ðµÎ °°Àº Ŭ·¡½º ·Î´õ¿¡ Á¤Àǵǰí ÀÖÀ» ¶§´Â ±× ·Î´õ·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù
  • »ó±â ÀÌ¿ÜÀÇ °æ¿ì´Â LinkageError°¡ Throw µÈ´Ù (ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ±¸ÇöÇϴ Ŭ·¡½º´Â ¾î´À ·Î´õ¿¡µµ Á¤ÀÇÇÒ ¼ö ¾ø±â ¶§¹®¿¡)

»ó±â ÀÌ¿ÜÀÇ °æ¿ì, ÇØ°áÇÒ ¼ö ¾ø¾ú´ø ÁöÁ¤ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ, ClassNotFoundException°¡ ¹ß»ý µË´Ï´Ù.

¹Ýȯ°ª:
µðÆúÆ®ÀÇ ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õÀÇ Á¤±ÔÀÇ ÀνºÅϽº
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì¿¡ ±× checkPermission ¸Þ¼­µå È£ÃâÇØ¿¡ ½ÇÆÐÇßÀ» ¶§
µµÀÔµÈ ¹öÀü :
1.4

getSecurityContext

@Deprecated 
public static Object  getSecurityContext(ClassLoader  loader)
ÃßõÇÏÁö ¾Ê½À´Ï´Ù.  ´ëü´Â ¾ø½À´Ï´Ù. Java 2 Ç÷§Æû 1.2 ÀÌÈÄÀÇ RMI ¿¡¼­´Â Ŭ·¡½º ·Î´õÀÇ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ÃëµæÇϱâ À§Çؼ­ ÀÌ ¸Þ¼­µå¸¦ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù.

ÁöÁ¤µÈ Ŭ·¡½º ·Î´õÀÇ ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
loader - ½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ® ÀÇ Ãëµæ¿øÀÇ Å¬·¡½º ·Î´õ
¹Ýȯ°ª:
½ÃÅ¥·¯Æ¼ ÄÁÅؽºÆ®
°ü·Ã Ç׸ñ:
SecurityManager.getSecurityContext()

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.