javaÖеÄClassLoader
ClassLoaderÒ»¸ö¾³£³öÏÖÓÖÈúܶàÈËÍû¶øÈ´²½µÄ´Ê£¬±¾ÎĽ«ÊÔͼÒÔ×îdzÏÔÒ×¶®µÄ·½Ê½À´½²½â ClassLoader£¬Ï£ÍûÄܶԲ»Á˽â¸Ã»úÖÆµÄÅóÓÑÆðµ½Ò»µãµã×÷Óá£
ÒªÉîÈëÁ˽âClassLoader£¬Ê×ÏȾÍÒªÖªµÀClassLoaderÊÇÓÃÀ´¸ÉʲôµÄ£¬¹ËÃû˼Ò壬Ëü¾ÍÊÇÓÃÀ´¼ÓÔØClassÎļþµ½JVM£¬ÒÔ¹©³ÌÐòʹÓõġ£ÎÒÃÇÖªµÀ£¬java³ÌÐò¿ÉÒÔ¶¯Ì¬¼ÓÔØÀඨÒ壬¶øÕâ¸ö¶¯Ì¬¼ÓÔØµÄ»úÖÆ¾ÍÊÇͨ¹ýClassLoaderÀ´ÊµÏֵģ¬ËùÒÔ¿ÉÏë¶øÖªClassLoaderµÄÖØÒªÐÔÈçºÎ¡£
¿´µ½ÕâÀ¿ÉÄÜÓеÄÅóÓÑ»áÏëµ½Ò»¸öÎÊÌ⣬ÄǾÍÊǼÈÈ»ClassLoaderÊÇÓÃÀ´¼ÓÔØÀൽJVMÖеģ¬ÄÇôClassLoaderÓÖÊÇÈçºÎ±»¼ÓÔØÄØ£¿ÄѵÀËü²»ÊÇjavaµÄÀࣿ
ûÓÐ´í£¬ÔÚÕâÀïȷʵÓÐÒ»¸öClassLoader²»ÊÇÓÃjavaÓïÑÔËù±àдµÄ£¬¶øÊÇJVMʵÏÖµÄÒ»²¿·Ö£¬Õâ¸öClassLoader¾ÍÊÇbootstrap classloader£¨Æô¶¯Àà¼ÓÔØÆ÷£©£¬Õâ¸öClassLoaderÔÚJVMÔËÐеÄʱºò¼ÓÔØjavaºËÐĵÄAPIÒÔÂú×ãjava³ÌÐò×î»ù±¾µÄÐèÇ󣬯äÖоͰüÀ¨Óû§¶¨ÒåµÄClassLoader£¬ÕâÀïËùνµÄÓû§¶¨ÒåÊÇָͨ¹ýjava³ÌÐòʵÏÖµÄClassLoader£¬Ò»¸öÊÇExtClassLoader£¬Õâ¸öClassLoaderÊÇÓÃÀ´¼ÓÔØjavaµÄÀ©Õ¹APIµÄ£¬Ò²¾ÍÊÇ/lib/extÖеÄÀ࣬һ¸öÊÇAppClassLoader£¬Õâ¸öClassLoaderÊÇÓÃÀ´¼ÓÔØÓû§»úÆ÷ÉÏCLASSPATHÉèÖÃĿ¼ÖеÄClassµÄ£¬Í¨³£ÔÚûÓÐÖ¸¶¨ClassLoaderµÄÇé¿öÏ£¬³ÌÐòÔ±×Ô¶¨ÒåµÄÀà¾ÍÓɸÃClassLoader½øÐмÓÔØ¡£
µ±ÔËÐÐÒ»¸ö³ÌÐòµÄʱºò£¬JVMÆô¶¯£¬ÔËÐÐbootstrap classloader£¬¸ÃClassLoader¼ÓÔØjavaºËÐÄAPI£¨ExtClassLoaderºÍAppClassLoaderÒ²ÔÚ´Ëʱ±»¼ÓÔØ£©£¬È»ºóµ÷ÓÃExtClassLoader¼ÓÔØÀ©Õ¹API£¬×îºóAppClassLoader¼ÓÔØCLASSPATHĿ¼Ï¶¨ÒåµÄClass£¬Õâ¾ÍÊÇÒ»¸ö³ÌÐò×î»ù±¾µÄ¼ÓÔØÁ÷³Ì¡£
ÉÏÃæ´ó¸Å½²½âÁËÒ»ÏÂClassLoaderµÄ×÷ÓÃÒÔ¼°Ò»¸ö×î»ù±¾µÄ¼ÓÔØÁ÷³Ì£¬½ÓÏÂÀ´½«½²½âÒ»ÏÂClassLoader¼ÓÔØµÄ·½Ê½£¬ÕâÀï¾Í²»µÃ²»½²Ò»ÏÂClassLoaderÔÚÕâÀïʹÓÃÁËË«Ç×ίÍÐģʽ½øÐÐÀà¼ÓÔØ¡£
ÿһ¸ö×Ô¶¨ÒåClassLoader¶¼±ØÐë¼Ì³ÐClassLoaderÕâ¸ö³éÏóÀ࣬¶øÃ¿¸öClassLoader¶¼»áÓÐÒ»¸öparent ClassLoader£¬ÎÒÃÇ¿ÉÒÔ¿´Ò»ÏÂClassLoaderÕâ¸ö³éÏóÀàÖÐÓÐÒ»¸ögetParent()·½·¨£¬Õâ¸ö·½·¨ÓÃÀ´·µ»Øµ±Ç°ClassLoaderµÄparent£¬×¢Ò⣬Õâ¸öparent²»ÊÇÖ¸µÄ±»¼Ì³ÐµÄÀ࣬¶øÊÇÔÚʵÀý»¯¸ÃClassLoaderʱָ¶¨µÄÒ»¸öClassLoader£¬Èç¹ûÕâ¸öparentΪnull£¬ÄÇô¾ÍĬÈϸÃClassLoaderµÄparentÊÇbootstrap classloader£¬Õâ¸öparentÓÐʲôÓÃÄØ£¿
ÎÒÃÇ¿ÉÒÔ¿¼ÂÇÕâÑùÒ»ÖÖÇé¿ö£¬¼ÙÉèÎÒÃÇ×Ô¶¨ÒåÁËÒ»¸öClientDefClassLoader£¬ÎÒÃÇ
Ïà¹ØÎĵµ£º
class Tank{
int level;
}
public class Assignment {
public static void main(String[] args) {
Tank t1 = new Tank();
Tank t2 = new Tank();
t1.level= 9;
t2.level= 47;
System.out.println("1:t1.l ......
2010-05-18
Îå¡¢ÑéÖ¤XML
l ÊôÐÔÁËÌØÕ÷·½·¨
·½ ·¨
·µ»ØÀàÐÍ
²Î Êý
Óï ·¨
setProperty()
void
String propertyId,
Object value
parser.setProperty(“[Property URI]”,
”[Object parameter]”);
setFeature()
void
String feat ......
Ò»¡¢IOÁ÷µÄÈýÖÖ·ÖÀ෽ʽ
1.°´Á÷µÄ·½Ïò·ÖΪ£ºÊäÈëÁ÷ºÍÊä³öÁ÷
2.°´Á÷µÄÊý¾Ýµ¥Î»²»Í¬·ÖΪ£º×Ö½ÚÁ÷ºÍ×Ö·ûÁ÷
3.°´Á÷µÄ¹¦Äܲ»Í¬·ÖΪ£º½ÚµãÁ÷ºÍ´¦ÀíÁ÷
¶þ¡¢IOÁ÷µÄËÄ´ó³éÏóÀࣺ
×Ö·ûÁ÷£ºReader Writer
× ......
ÔÚjavaµ÷ÓÃexe£¬com¿ÉÖ´ÐÐÎļþºÍbat£¬cmdÅú´¦ÀíÎļþ
Ò»¡£ÔËÐÐexeÎļþ
1. Java JDKÀïÒѾÌṩÁ˵÷Óõķ½·¨£¬²»ÔÚÀÛ׸£¬´úÂëÈçÏ¡£
try {
String command = "notepad";
& ......