|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.rmi.server.RMIClassLoader
RMIClassLoader
´Â RMI ¸¦ »ç¿ëÇØ µ¿ÀûÀ¸·Î Ŭ·¡½º¸¦ ·ÎµåÇϱâ À§ÇÑ static ¸Þ¼Òµå·ÎºÎÅÍ ±¸¼ºµË´Ï´Ù. ÀÌ Å¬·¡½º ·Î´õ¿¡°Ô´Â ³×Æ®¿öÅ©ÀÇ Àå¼Ò (1 kr ÀÌ»óÀÇ URL)¿¡¼ Ŭ·¡½º¸¦ ·ÎµåÇÏ´Â ¸Þ¼Òµå³ª, ±âÁ¸ÀÇ Å¬·¡½º°¡ ÀúÀåµÇ°í ÀÖ´Â Àå¼Ò¸¦ ÃëµæÇÏ´Â ¸Þ¼Òµå°¡ Â¥³Ö¾îÁö°í ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå´Â ¸®¸ðÆ® ¸Þ¼Òµå È£ÃâÀÇ Àμö³ª ¹Ýȯ°ª¿¡ Æ÷ÇԵǴ Ŭ·¡½º¸¦ Á¤·ÄÈ ¹× ºñÁ¤·ÄÈÇÒ ¶§, RMI ·±Å¸ÀÓ¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. ¶Ç, ÀÌ·¯ÇÑ ¸Þ¼Òµå¸¦ ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ Á÷Á¢ È£ÃâÇØ, Ŭ·¡½º¸¦ µ¿ÀûÀ¸·Î ·ÎµåÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
´ÙÀ½ÀÇ static ¸Þ¼ÒµåÀÇ ±¸ÇöÀº ÀÌ·¯ÇÑ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀÎÅÍÆäÀ̽º RMIClassLoaderSpi
ÀÇ ÀνºÅϽº¿¡ ÀÇÇØ Á¦°øµË´Ï´Ù.
loadClass(URL, String)
loadClass(String, String)
loadClass(String, String, ClassLoader)
loadProxyClass(String, String[], ClassLoader)
getClassLoader(String)
getClassAnnotation(Class)
¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº´Â ´ÙÀ½°ú °°ÀÌ ¼±Åõ˴ϴÙ.
java.rmi.server.RMIClassLoaderSpi
°¡ Á¤Àǵǰí ÀÖ´Â °æ¿ì, ±× °ªÀÌ "default"
¶§´Â getDefaultProviderInstance()
¸Þ¼Òµå È£ÃâÀÇ ¹Ýȯ°ªÀ¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº°¡ ¼±ÅõȴÙ. ÀÌ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ°¡ "default"
ÀÌ¿ÜÀÇ °ª ¶§´Â ½Ã½ºÅÛ Å¬·¡½º ·Î´õ (ClassLoader.getSystemClassLoader()
¸¦ ÂüÁ¶)°¡ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÇ°í Àִ Ŭ·¡½º¸¦ ·Îµå ÇÒ ¼ö ÀÖ¾î ±× Å¬·¡½º¸¦ RMIClassLoaderSpi
¿¡ ÇÒ´çÇÒ ¼ö°¡ ÀÖ¾î Àμö°¡ ¾ø´Â public constructor¸¦ °¡Áö´Â °æ¿ì, ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ °æ¿ì¿¡ ±× constructor ÀÌ ºÒ·Á °£´Ù. ÀÌ ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ°¡ Á¤Àǵǰí ÀÖ´Â °æ¿ì¿¡¼µµ, ÀÌ·¯ÇÑ Á¶°ÇÀÌ Ã¤¿öÁöÁö ¾ÊÀº °æ¿ì´Â RMIClassLoader
¸¦ »ç¿ëÇÏ·Á°í ÇÏ´Â Äڵ忡 ´ëÇØ¼, ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ Ãëµæ¿¡ ½ÇÆÐÇÑ °ÍÀ» ³ªÅ¸³»´Â ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº Error
°¡ ½½·Î¿ì µÈ´Ù
META-INF/services/java.rmi.server.RMIClassLoaderSpi
¶ó°í ÇÏ´Â ¸®¼Ò½º°¡ Â¥³Ö¾îÁö°í ÀÖ´Â °æ¿ì, ÀÌ ¸®¼Ò½ºÀÇ ³»¿ëÀº ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸¼º ÆÄÀϷμ ÇØ¼®µÇ¾î ÀÌ ÆÄÀÏÀÇ ÃÖÃÊ·Î ÁöÁ¤µÇ°í Àִ Ŭ·¡½º¸íÀÌ ÇÁ·Î¹ÙÀÌ´õÀÇ Å¬·¡½º¸íÀ¸·Î¼ »ç¿ëµÈ´Ù. ½Ã½ºÅÛ Å¬·¡½º ·Î´õ°¡ ±× À̸§À» °¡Áö´Â Ŭ·¡½º¸¦ ·Îµå ÇÒ ¼ö ÀÖ¾î ±× Å¬·¡½º¸¦ RMIClassLoaderSpi
¿¡ ÇÒ´çÇÒ ¼ö°¡ ÀÖ¾î Àμö°¡ ¾ø´Â public constructor¸¦ °¡Áú ¶§´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ °æ¿ì¿¡ ±× constructor ÀÌ ºÒ·Á °£´Ù. ÀÌ ¸®¼Ò½º°¡ Â¥³Ö¾îÁö°í ÀÖÁö¸¸, ÇÁ·Î¹ÙÀÌ´õ¸¦ ÀνºÅϽºÈÇÒ ¼ö ¾ø´Â °æ¿ì´Â RMIClassLoader
¸¦ »ç¿ëÇÏ·Á°í ÇÏ´Â Äڵ忡 ´ëÇØ¼, ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ Ãëµæ¿¡ ½ÇÆÐÇÑ °ÍÀ» ³ªÅ¸³»´Â ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº Error
°¡ ½½·Î¿ì µÈ´Ù
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)
ÁöÁ¤µÈ À̸§ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÄÚµå º£À̽º URL ÆÐ½º·ÎºÎÅÍ ±¸ÇöÇÏ´Â µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º ( Proxy ¸¦ ÂüÁ¶)¸¦ ·ÎµåÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
¸Þ¼ÒµåÀÇ »ó¼¼ |
public static Class loadClass(String name) throws MalformedURLException , ClassNotFoundException
loadClass(String, String)
¸Þ¼Òµå·Î ¿Å°ÜÁ³½À´Ï´Ù.
java.rmi.server.codebase
ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÇ°í ÀÖ´Â ÄÚµå º£À̽º URL ÆÐ½º·ÎºÎÅÍ Å¬·¡½º¸¦ ·ÎµåÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â loadClass(String, String)
¿¡ delegate µË´Ï´Ù. 1 ¹øÂ°ÀÇ Àμö¿¡´Â null
°¡, 2 ¹øÂ°ÀÇ Àμö¿¡´Â name
°¡ °Ç³×¹Þ½À´Ï´Ù.
name
- ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
Class
¿ÀºêÁ§Æ®
MalformedURLException
- ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
¿¡, ¹«È¿ÀÎ URL °¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì
ClassNotFoundException
- Ŭ·¡½ºÀÇ Á¤Àǰ¡ ÄÚµå º£À̽ºÀÇ À§Ä¡¿¡ ¾ø¾ú´ø °æ¿ìloadClass(String, String)
public static Class loadClass(URL codebase, String name) throws MalformedURLException , ClassNotFoundException
codebase
°¡ null
ÀÇ °æ¿ì´Â loadClass(String, String)
¿¡ null
codebase
¹× µ¿ÀÏ Å¬·¡½º¸íÀ» ÁöÁ¤ÇßÀ» °æ¿ì¿Í °°°Ô µ¿ÀÛÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadClass(String, String, ClassLoader)
¸Þ¼Òµå¿¡ delegate µË´Ï´Ù. ÀÌ ¶§, ÁöÁ¤ÇÑ URL (codebase
°¡ null ÀÇ °æ¿ì´Â null
)·Î URL.toString()
¸¦ È£ÃâÇÑ °á°ú°¡ ÃÖÃÊÀÇ Àμö·Î¼name
°¡ 2 ¹øÂ°ÀÇ Àμö·Î¼ ¹× null
°¡ 3 ¹øÂ°ÀÇ Àμö·Î¼ °Ç³×¹Þ½À´Ï´Ù.
codebase
- Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL, ¶Ç´Â null
name
- ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
Class
¿ÀºêÁ§Æ®
MalformedURLException
- codebase
°¡ null
·Î, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
¿¡ ¹«È¿ÀÎ URL °¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì
ClassNotFoundException
- Ŭ·¡½ºÀÇ Á¤Àǰ¡ ÁöÁ¤µÈ URL ¿¡ ¾ø¾ú´ø °æ¿ìpublic static Class loadClass(String codebase, String name) throws MalformedURLException , ClassNotFoundException
codebase
°¡ null
ÀÇ °æ¿ì´Â ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
ÀÇ °ªÀÌ URL ÆÐ½º·Î ÇØ¼ »ç¿ëµË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õÀÇ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadClass(String, String, ClassLoader)
¸Þ¼Òµå¿¡ delegate µË´Ï´Ù. ÀÌ ¶§,codebase
°¡ ÃÖÃÊÀÇ Àμö·Î¼name
°¡ 2 ¹øÂ°ÀÇ Àμö·Î¼ ¹× null
°¡ 3 ¹øÂ°ÀÇ Àμö·Î¼ °Ç³×¹Þ½À´Ï´Ù.
codebase
- Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL ÀÇ ¸®½ºÆ® (´Ü¶ô ij¸¯ÅÍ´Â ½ºÆäÀ̽º), ¶Ç´Â null
name
- ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§
Class
¿ÀºêÁ§Æ®
MalformedURLException
- codebase
°¡ null
´Â ¾Æ´Ï°í, ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì. ¶Ç´Â codebase
°¡ null
·Î, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
¿¡ ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì
ClassNotFoundException
- Ŭ·¡½ºÀÇ Á¤Àǰ¡ ÁöÁ¤µÈ Àå¼Ò¿¡ ¾ø¾ú´ø °æ¿ìpublic static Class loadClass(String codebase, String name, ClassLoader defaultLoader) throws MalformedURLException , ClassNotFoundException
codebase
°¡ null
ÀÇ °æ¿ì´Â ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
ÀÇ °ªÀÌ URL ÆÐ½º·Î ÇØ¼ »ç¿ëµË´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸ÇöÀÇ È£ÃâÃøÀÌ, È£Ãâ Ãø¿¡ ½ºÅà µÇ°í ÀÖ´Â ·Î´õ µî, »óȲ¿¡ µû¶ó Ŭ·¡½º ·Î´õ¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ°Ô ÇÒ °æ¿ì¿¡ »ç¿ëÇÕ´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸ÇöÀº Åë»ó,defaultLoader
(ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì)¸¦ »ç¿ëÇØ ÁöÁ¤µÈ Ŭ·¡½º¸¦ ÇØ°áÇÏ°í ³ª¼, ÄÚµå º£À̽º URL ÆÐ½ºÀÇ Å¬·¡½º¸¦ ÇØ°áÇÏ·Á°í ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õÀÇ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadClass(String, String, ClassLoader)
¸Þ¼Òµå¿¡ delegate µË´Ï´Ù. ÀÌ ¶§,codebase
°¡ ÃÖÃÊÀÇ Àμö·Î¼name
°¡ 2 ¹øÂ°ÀÇ Àμö·Î¼ ¹× defaultLoader
°¡ 3 ¹øÂ°ÀÇ Àμö·Î¼ °Ç³×¹Þ½À´Ï´Ù.
codebase
- Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL ÀÇ ¸®½ºÆ® (´Ü¶ô ij¸¯ÅÍ´Â ½ºÆäÀ̽º), ¶Ç´Â null
name
- ·Îµå ´ë»ó Ŭ·¡½ºÀÇ À̸§defaultLoader
- »óȲ¿¡ µû¶ó »ç¿ëÇÏ´Â Ãß°¡ Ŭ·¡½º ·Î´õ, ¶Ç´Â null
Class
¿ÀºêÁ§Æ®
MalformedURLException
- codebase
°¡ null
´Â ¾Æ´Ï°í, ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì. ¶Ç´Â codebase
°¡ null
·Î, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
¿¡ ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì
ClassNotFoundException
- Ŭ·¡½ºÀÇ Á¤Àǰ¡ ÁöÁ¤µÈ Àå¼Ò¿¡ ¾ø¾ú´ø °æ¿ìpublic static Class loadProxyClass(String codebase, String [] interfaces, ClassLoader defaultLoader) throws ClassNotFoundException , MalformedURLException
Proxy
¸¦ ÂüÁ¶)¸¦ ·ÎµåÇÕ´Ï´Ù. codebase
°¡ null
ÀÇ °æ¿ì, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
ÀÇ °ªÀÌ URL ÆÐ½º·Î ÇØ¼ »ç¿ëµË´Ï´Ù.
·ÎµåÇÑ ÀÎÅÍÆäÀ̽º´Â ÁöÁ¤µÈ codebase
¸¦ »ç¿ëÇØ,loadClass(String, String)
¸Þ¼Òµå¿¡ ÀÇÇØ ·Îµå µÈ Ŭ·¡½º¿Í °°°Ô ÇØ°áµË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õÀÇ ÀνºÅϽºÀÇ RMIClassLoaderSpi.loadProxyClass(String, String[], ClassLoader)
¸Þ¼Òµå¿¡ delegate µË´Ï´Ù. ÀÌ ¶§,codebase
°¡ ÃÖÃÊÀÇ Àμö·Î¼interfaces
°¡ 2 ¹øÂ°ÀÇ Àμö·Î¼ ¹× defaultLoader
°¡ 3 ¹øÂ°ÀÇ Àμö·Î¼ °Ç³×¹Þ½À´Ï´Ù.
codebase
- Ŭ·¡½ºÀÇ ·Îµå¿øÀÇ URL ÀÇ ¸®½ºÆ® (´Ü¶ô ij¸¯ÅÍ´Â ½ºÆäÀ̽º), ¶Ç´Â null
interfaces
- ÇÁ·Ï½Ã Ŭ·¡½º°¡ ±¸ÇöÇÏ´Â ÀÎÅÍÆäÀ̽ºÀÇ À̸§defaultLoader
- »óȲ¿¡ µû¶ó »ç¿ëÇÏ´Â Ãß°¡ Ŭ·¡½º ·Î´õ, ¶Ç´Â null
MalformedURLException
- codebase
°¡ null
´Â ¾Æ´Ï°í, ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì. ¶Ç´Â codebase
°¡ null
·Î, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
¿¡ ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì
ClassNotFoundException
- ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ Á¤ÀÇÁß ÇÑÂÊÀÌ ÁöÁ¤µÈ Àå¼Ò¿¡ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ì, ¶Ç´Â µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½ºÀÇ ÀÛ¼º¿¡ ½ÇÆÐÇßÀ» °æ¿ì (Proxy.getProxyClass(ClassLoader, Class[])
°¡, ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º ¸®½ºÆ®¿¡ ´ëÇØ¼ IllegalArgumentException
¸¦ ½½·Î¿ì ÇßÀ» °æ¿ì)public static ClassLoader getClassLoader(String codebase) throws MalformedURLException , SecurityException
µ¹·ÁÁÖ¾îÁö´Â Ŭ·¡½º ·Î´õ´Â loadClass(String, String)
¸Þ¼Òµå°¡ °°Àº codebase
Àμö¸¦ ÁöÁ¤ÇØ Å¬·¡½º¸¦ ·ÎµåÇÒ ¶§ »ç¿ëÇϴ Ŭ·¡½º ·Î´õ¿Í °°½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.getClassLoader(String)
¸Þ¼Òµå¿¡ delegate µË´Ï´Ù. ÀÌ ¶§,codebase
°¡ Àμö·Î¼ °Ç³×¹Þ½À´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â RuntimePermission("getClassLoader")
¾×¼¼½º±ÇÀ» »ç¿ëÇØ checkPermission
¸Þ¼Òµå°¡ ºÒ·Á °¡SecurityException
°¡ üũµË´Ï´Ù. ÀÌ ¸Þ¼ÒµåÀÇ ÇÁ·Î¹ÙÀÌ´õ ±¸ÇöÀº È£ÃâÃø ¹®¸ÆÀÌ ÄÚµå º£À̽º URL ÆÐ½º³»ÀÇ ¸ðµç URL ¿¡ ´ëÇÑ ¾×¼¼½º±ÇÀ» °¡Áö°í ÀÖÀ»Áö ¾î¶³Áö¿¡ ÀÓÇØ¼, ½ÃÅ¥·¯Æ¼ üũ¸¦ ½Ç½ÃÇÏ´Â Àϵµ ÀÖ½À´Ï´Ù.
codebase
- µ¹·ÁÁÖ¾îÁö´Â Ŭ·¡½º ·Î´õ°¡ ·ÎµåÇϴ Ŭ·¡½º°¡ ÀúÀåµÇ°í ÀÖ´Â URL ÀÇ ¸®½ºÆ® (´Ü¶ô ij¸¯ÅÍ´Â ½ºÆäÀ̽º), ¶Ç´Â null
MalformedURLException
- codebase
°¡ null
´Â ¾Æ´Ï°í, ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì. ¶Ç´Â codebase
°¡ null
·Î, ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.codebase
¿¡ ¹«È¿ÀÎ URL °¡ Æ÷ÇԵǴ °æ¿ì
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÒ °æ¿ì¿¡, ±× checkPermission
¸Þ¼Òµå°¡ ½ÇÆÐÇßÀ» °æ¿ì. ¶Ç´Â È£ÃâÃøÀÌ ÄÚµå º£À̽º URL ÆÐ½º³»ÀÇ ¸ðµç URL ¿¡ ´ëÇÑ ¾×¼¼½º±ÇÀ» °¡Áö°í ÀÖÁö ¾ÊÀº °æ¿ìpublic static String getClassAnnotation(Class cl)
ÀÌ ¸Þ¼Òµå´Â ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽºÀÇ RMIClassLoaderSpi.getClassAnnotation(Class)
¸Þ¼Òµå¿¡ delegate µÇ¾î ÀÌ ¶§ cl
°¡ Àμö·Î¼ °Ç³×¹Þ½À´Ï´Ù.
cl
- ÁÖ¼®À» ÃëµæÇÏ´Â ´ë»óÀÇ Å¬·¡½º
null
public static RMIClassLoaderSpi getDefaultProviderInstance()
RMIClassLoaderSpi
¿¡ µ¹·ÁÁÝ´Ï´Ù. ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ java.rmi.server.RMIClassLoaderSpi
°¡ Á¤ÀǵǾî ÀÖÁö ¾ÊÀº °æ¿ì, ÀÌÇÏ¿¡ ³ªÅ¸³»´Â RMIClassLoader
ÀÇ static ¸Þ¼Òµå´Â ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº·Î¼ µðÆúÆ® ÇÁ·Î¹ÙÀÌ´õÀÇ Á¤±ÔÀÇ ÀνºÅϽº¸¦ »ç¿ëÇÕ´Ï´Ù.
loadClass(URL, String)
loadClass(String, String)
loadClass(String, String, ClassLoader)
loadProxyClass(String, String[], ClassLoader)
getClassLoader(String)
getClassAnnotation(Class)
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì,RuntimePermission("setFactory")
¾×¼¼½º±ÇÀ» »ç¿ëÇØ checkPermission
¸Þ¼Òµå°¡ ºÒ·Á °¡SecurityException
°¡ üũµË´Ï´Ù.
µðÆúÆ®ÀÇ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ ÀνºÅϽº´Â RMIClassLoaderSpi
¸¦ ´ÙÀ½°ú °°ÀÌ ±¸ÇöÇÕ´Ï´Ù.
getClassAnnotation
´Â ÁöÁ¤µÈ Ŭ·¡½º Á¤ÀÇÀÇ ´Ù¿î·Îµå¿¡ »ç¿ëµÇ´Â ÄÚµå º£À̽º URL ÆÐ½º¸¦ ³ªÅ¸³»´ÂString
¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â ij¸¯ÅÍ ¶óÀÎÀÇ Çü½ÄÀº ½ºÆäÀ̽º¿¡¼ ´Ü¶ôÁö¾îÁø URL ÀÇ ÆÐ½ºÀÔ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â ÄÚµå º£À̽ºÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ), ÁöÁ¤µÈ Ŭ·¡½º¿¡ Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ¿¡ µû¶ó¼ ´Ù¸¨´Ï´Ù.
- Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ°¡ ½Ã½ºÅÛ Å¬·¡½º ·Î´õ (
ClassLoader.getSystemClassLoader()
¸¦ ÂüÁ¶), ½Ã½ºÅÛ Å¬·¡½º ·Î´õÀÇ ºÎ¸ð (ÀνºÅç ³¡³ È®Àå Ŭ·¡½º¿¡ »ç¿ëµÇ´Â ·Î´õ µî), ¶Ç´Â bootstrap Ŭ·¡½º ·Î´õ (null
·Î ³ªÅ¸³»Áø´Ù)ÀÇ °æ¿ì,java.rmi.server.codebase
ÇÁ·ÎÆÛƼÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁø´Ù. ÀÌ ÇÁ·ÎÆÛƼÀÇ °ªÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Ânull
°¡ µ¹·ÁÁÖ¾îÁø´Ù
- Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ°¡
URLClassLoader
ÀÇ ÀνºÅϽºÀÇ °æ¿ì´Â ·Î´õÀÇgetURLs
¸Þ¼Òµå È£Ãâ·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â ¿ÜºÎ Çü½ÄÀÇ URL ÀÇ ¸®½ºÆ® (´Ü¶ô ij¸¯ÅÍ´Â ½ºÆäÀ̽º)°¡ µ¹·ÁÁÖ¾îÁø´Ù.URLClassLoader
°¡ ÀÌ ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ÀÛ¼ºµÇ¾î ±×loadClass
¶Ç´ÂloadProxyClass
¸Þ¼Òµå°¡ »ç¿ëµÇ´Â °æ¿ì´Â °ü·ÃÇÏ´Â ÄÚµå º£À̽º ij¸¯ÅÍ ¶óÀÎÀ» ÃëµæÇϱâ À§ÇÑ ¾×¼¼½º±ÇÀº ÇÊ¿ä¾ø´Ù.URLClassLoader
ÀνºÅϽº°¡ ÀÌ ÇÁ·Î¹ÙÀÌ´õ ÀÌ¿Ü ÀÛ¼ºµÇ¾î ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´ÂgetURLs
¸Þ¼Òµå·ÎºÎÅÍ URL °¡ µ¹·ÁÁÖ¾îÁú ¶§¸¶´Ù,openConnection(). getPermission()
È£Ãâ¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁø ¾×¼¼½º±ÇÀ» »ç¿ëÇØ ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀúÀÇcheckPermission
¸Þ¼Òµå°¡ ºÒ·Á °¡´Â ÀÌ·¯ÇÑ È£ÃâÀÇ ¾î´ÀÂÊÀ̵çÀ¸·ÎSecurityException
¶Ç´ÂIOException
°¡ ½½·Î¿ì µÇ¾úÀ» °æ¿ì´Âjava.rmi.server.codebase
ÇÁ·ÎÆÛƼÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁø´Ù. ÀÌ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Ânull
°¡ µ¹·ÁÁÖ¾îÁø´Ù
- Á¤Àǵǰí Àִ Ŭ·¡½º ·Î´õ°¡
URLClassLoader
ÀÇ ÀνºÅϽº°¡ ¾Æ´Ñ °æ¿ì´Âjava.rmi.server.codebase
ÇÁ·ÎÆÛƼÀÇ °ªÀÌ µ¹·ÁÁÖ¾îÁø´Ù. ÀÌ ÇÁ·ÎÆÛƼ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Ânull
°¡ µ¹·ÁÁÖ¾îÁø´Ù
codebase
·Î ºÒ¸®´ÂString
ÆÄ¶ó¹ÌÅÍ (½ºÆäÀ̽º¿¡¼ ´Ü¶ôÁö¾îÁø URL ÀÇ ¸®½ºÆ®)¸¦ ÁöÁ¤ÇØ ´ÙÀ½¿¡ ¼³¸íÇÏ´Â ¸Þ¼Òµå ±¸ÇöÀ» È£ÃâÇϸé(ÀÚ), °ü·ÃÁöÀ» ¼ö ÀÖ´ø ¡¸ÄÚµå º£À̽º ·Î´õ¡¹¶ó°í ÇöÀçÀÇ threadÀÇ ¹®¸Æ Ŭ·¡½º ·Î´õ (Thread.getContextClassLoader()
¸¦ ÂüÁ¶)°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ÄÚµå º£À̽º ·Î´õ´Âcodebase
Àμö¿¡ ÀÇÇØ ½Äº°µË´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, ÀÌ ÇÁ·Î¹ÙÀÌ´õ¿¡´Â Ŭ·¡½º ·Î´õÀÇ ÀνºÅϽº (URLClassLoader
ÀÇ ÀνºÅϽºµî)ÀÇ ³»ºÎ Å×À̺íÀ» °ü·ÃÁöÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ Å×À̺íÀÇ Å°´Â ºÎ¸ðÀÇ Å¬·¡½º ·Î´õ¿Í ÄÚµå º£À̽º URL ÆÐ½º (URL ¼ø¼ÀÇ ¸®½ºÆ®)ÀÇ Æä¾îÀÔ´Ï´Ù. ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½º°¡ ÁöÁ¤µÈ ¹®¸Æ¿¡codebase
Àμö·Î¼ °Ç³×¹Þ¾Æ ´ÙÀ½ÀÇ ¸î°³ÀÇ ¸Þ¼Òµå°¡ ºÒ·Á °¡¸é(ÀÚ), ÀÌ Å×ÀÌºí³»ÀÇ ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½º¸¦ °¡Áö´Â ÄÚµå º£À̽º ·Î´õ¿Í ÇöÀçÀÇ threadÀÇ ¹®¸Æ Ŭ·¡½º ·Î´õ°¡ ±× ºÎ¸ð·Î¼ µ¹·ÁÁÖ¾îÁý´Ï´Ù. Á¶°ÇÀ» ä¿ì´Â ·Î´õ°¡ ¾ø´Â °æ¿ì´Â ·Î´õ°¡ »õ·Ó°Ô ÀÛ¼ºµÇ¾î Å×ÀÌºí¿¡ Ãß°¡µË´Ï´Ù. ÀÌ Å×ÀÌºí¿¡ Æ÷ÇԵǴ ·Î´õ¿¡°Ô´Â °ÂüÁ¶´Â º¸°ü À¯ÁöµÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§¹®¿¡, µµ´Þ ºÒ°¡´ÉÇÑ ·Î´õ¿Í ±× ·Î´õ¿¡ Á¤Àǵǰí Àִ Ŭ·¡½º´Â °¡º£Áö Ä÷ºÆ®µË´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏÁö ¾ÊÀ» ¶§¿¡ ½Å·ÚµÇÁö ¾Ê´Â Äڵ尡 °¡»ó ¸Ó½Å¿¡ ¾Ï¹¬ÀûÀ¸·Î ·Îµå µÇÁö ¾Ê°Ô Çϱâ À§Çؼ, ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ÄÚµå º£À̽º ·Î´õ´Â ÇöÀçÀÇ threadÀÇ ¹®¸Æ Ŭ·¡½º ·Î´õ°¡ µË´Ï´Ù (ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½º´Â ¹«½ÃµÇ¾î ¸®¸ðÆ® Ŭ·¡½º¸¦ ·ÎµåÇÒ ¼ö ¾ø°Ô µË´Ï´Ù).
getClassLoader
¸Þ¼Òµå´Â ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½ºÀÇ ÄÚµå º£À̽º ·Î´õ¸¦ µ¹·ÁÁÝ´Ï´Ù. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, È£ÃâÃø ¹®¸Æ¿¡ ÄÚµå º£À̽º URL ÆÐ½º³»ÀÇ ¸ðµç URL ¿¡ ´ëÇÑ ¾×¼¼½º±ÇÀÌ ¾øÀ» ¶§´ÂSecurityException
°¡ ½½·Î¿ì µË´Ï´Ù.
loadClass
¸Þ¼Òµå´Â ÁöÁ¤µÈ À̸§ÀÇ Å¬·¡½º¸¦ ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ·ÎµåÇÏ·Á°í ÇÕ´Ï´Ù.defaultLoader
Àμö°¡null
°¡ ¾Æ´Ñ °æ¿ì´Â ¿ì¼±defaultLoader
¸¦ »ç¿ëÇØ, ÁöÁ¤µÈname
ÀÇ Å¬·¡½º¸¦ ·ÎµåÇÏ·Á°í ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°ÀÌ Æò°¡ÇÕ´Ï´Ù.Class.forName(name, false, defaultLoader)Ŭ·¡½º¸¦defaultLoader
·ÎºÎÅÍ ·ÎµåÇÒ ¼ö ÀÖ¾úÀ» °æ¿ì, ±× Ŭ·¡½º°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.ClassNotFoundException
ÀÌ¿ÜÀÇ ¿¹¿Ü°¡ ½½·Î¿ì µÇ¾úÀ» °æ¿ì´Â ±× ¿¹¿Ü°¡ È£ÃâÇØ Ãø¿¡ ½½·Î¿ì µË´Ï´Ù.´ÙÀ½¿¡,
loadClass
¸Þ¼Òµå°¡, ÁöÁ¤µÈ ÄÚµå º£À̽º URL ÆÐ½ºÀÇ ÄÚµå º£À̽º ·Î´õ¸¦ »ç¿ëÇØ, ÁöÁ¤µÈname
ÀÇ Å¬·¡½º¸¦ ·ÎµåÇÏ·Á°í ÇÕ´Ï´Ù.codebase
ÀÇ Ä³¸¯ÅÍ ¶óÀο¡ º¹¼öÀÇ URL ¸¦ ÁöÁ¤ÇÒ ¶§´Â ½ºÆäÀ̽º¿¡¼ ´Ü¶ôÁö¾î ÁÖ¼¼¿ä. ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì, È£ÃâÃø ¹®¸Æ¿¡´Â ÄÚµå º£À̽º URL ÆÐ½º³»ÀÇ ¸ðµç URL ¿¡ ´ëÇÑ ¾×¼¼½º±ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù. ¾×¼¼½º±ÇÀÌ ¾ø´Â °æ¿ì´Â ÄÚµå º£À̽º ·Î´õ ´ë½Å¿¡, ÇöÀçÀÇ threadÀÇ ¹®¸Æ Ŭ·¡½º ·Î´õ°¡ »ç¿ëµË´Ï´Ù.
loadProxyClass
¸Þ¼Òµå´Â ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î, ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ µ¹·ÁÁÖ·Á°í ÇÕ´Ï´Ù.
defaultLoader
Àμö°¡null
Àܷ̿Î, ±× ·Î´õ¸¦ »ç¿ëÇØ ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ÇØ°áÇÒ ¼ö ÀÖ´Â °æ¿ì
- ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡ ¸ðµÎ
public
ÀÇ °æ¿ì´Â ¿ì¼±Proxy.getProxyClass
¸¦ »ç¿ëÇØ, ÄÚµå º£À̽º ·Î´õ·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù.IllegalArgumentException
°¡ ½½·Î¿ì µÇ¾úÀ» °æ¿ì´ÂdefaultLoader
·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù. ¾î´À ÂÊÀÇ °æ¿ìµµIllegalArgumentException
°¡ ½½·Î¿ì µÇ¾úÀ» ¶§´ÂClassNotFoundException
°¡ ½½·Î¿ì µÈ´Ù. ´Ù¸¥ ¿¹¿Ü°¡ ½½·Î¿ì µÇ¾úÀ» °æ¿ì, ±× ¿¹¿Ü´Â È£ÃâÇØ Ãø¿¡ ½½·Î¿ì µÈ´Ù- ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡
public
ÀÌ¿ÜÀÇ °æ¿ì, ±×°ÍµéÀÌ ¸ðµÎ °°Àº Ŭ·¡½º ·Î´õ¿¡ Á¤Àǵǰí ÀÖÀ» ¶§´Â ±× ·Î´õ·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù- »ó±â ÀÌ¿ÜÀÇ °æ¿ì´Â
LinkageError
°¡ ½½·Î¿ì µÈ´Ù (ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ±¸ÇöÇϴ Ŭ·¡½º´Â ¾î´À ·Î´õ¿¡µµ Á¤ÀÇÇÒ ¼ö ¾ø±â ¶§¹®¿¡)ÁöÁ¤µÈ ¸ðµç ÀÎÅÍÆäÀ̽º¸¦ ÄÚµå º£À̽º ·Î´õ¸¦ »ç¿ëÇØ ÇØ°áÇÒ ¼ö ÀÖ´Â °æ¿ì
- ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡ ¸ðµÎ
public
ÀÇ °æ¿ì´Â ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÄÚµå º£À̽º ·Î´õ·ÎºÎÅÍ ÃëµæÇÏÀÚ ÇÑ´Ù.IllegalArgumentException
°¡ ½½·Î¿ì µÇ¾úÀ» °æ¿ì´ÂClassNotFoundException
°¡ ½½·Î¿ì µÈ´Ù- ÇØ°áµÈ ÀÎÅÍÆäÀ̽º°¡
public
ÀÌ¿ÜÀÇ °æ¿ì, ±×°ÍµéÀÌ ¸ðµÎ °°Àº Ŭ·¡½º ·Î´õ¿¡ Á¤Àǵǰí ÀÖÀ» ¶§´Â ±× ·Î´õ·ÎºÎÅÍ ±× ÀÎÅÍÆäÀ̽ºÀÇ µ¿Àû ÇÁ·Ï½Ã Ŭ·¡½º¸¦ ÃëµæÇÏ·Á°í ÇÑ´Ù- »ó±â ÀÌ¿ÜÀÇ °æ¿ì´Â
LinkageError
°¡ ½½·Î¿ì µÈ´Ù (ÁöÁ¤µÈ ÀÎÅÍÆäÀ̽º¸¦ ¸ðµÎ ±¸ÇöÇϴ Ŭ·¡½º´Â ¾î´À ·Î´õ¿¡µµ Á¤ÀÇÇÒ ¼ö ¾ø±â ¶§¹®¿¡)»ó±â ÀÌ¿ÜÀÇ °æ¿ì, ÇØ°áÇÒ ¼ö ¾ø¾ú´ø ÁöÁ¤ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ,
ClassNotFoundException
°¡ ½½·Î¿ì µË´Ï´Ù.
SecurityException
- ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì¿¡, ±× checkPermission
¸Þ¼Òµå È£ÃâÇØ¿¡ ½ÇÆÐÇßÀ» ¶§public static Object getSecurityContext(ClassLoader loader)
loader
- ½ÃÅ¥·¯Æ¼ ¹®¸ÆÀÇ Ãëµæ¿øÀÇ Å¬·¡½º ·Î´õ
SecurityManager.getSecurityContext()
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.