ÉîÈë̽ÌÖJavaÀà¼ÓÔØÆ÷ - ±à³ÌÈëÃÅÍø
³ÉÁ½À࣬һÀàÊÇϵͳÌṩµÄ£¬ÁíÍâÒ»ÀàÔòÊÇÓÉ Java Ó¦Óÿª·¢ÈËÔ±±àдµÄ ¡£ÏµÍ³ÌṩµÄÀà¼ÓÔØÆ÷Ö÷ÒªÓÐÏÂÃæÈý¸ö£º
Òýµ¼Àà¼ÓÔØÆ÷£¨bootstrap class loader£©£ºËüÓÃÀ´¼ÓÔØ Java µÄºËÐĿ⣬ÊÇÓÃÔÉú´úÂëÀ´ÊµÏֵģ¬²¢²»¼Ì ³Ð×Ô java.lang.ClassLoader¡£ À©Õ¹Àà¼ÓÔØÆ÷£¨extensions class loader£©£ºËüÓÃÀ´¼ÓÔØ Java µÄÀ©Õ¹¿â¡£Java ÐéÄâ»úµÄʵÏÖ»áÌṩһ¸öÀ©Õ¹¿â Ŀ¼¡£¸ÃÀà¼ÓÔØÆ÷ÔÚ´ËĿ¼ÀïÃæ²éÕÒ²¢¼ÓÔØ Java Àà¡£ ϵͳÀà¼ÓÔØÆ÷ £¨system class loader£©£ºËü¸ù¾Ý Java Ó¦ÓõÄÀà·¾¶£¨CLASSPATH£©À´¼ÓÔØ Java Àà¡£Ò»°ãÀ´Ëµ£¬Java Ó¦ÓõÄÀ඼ÊÇÓÉËüÀ´Íê³É¼ÓÔصġ£¿ÉÒÔͨ¹ý ClassLoader.getSystemClassLoader() À´»ñÈ¡Ëü¡£ ³ýÁËϵͳÌṩµÄÀà¼Ó ÔØÆ÷ÒÔÍ⣬¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ý¼Ì³Ð java.lang.ClassLoader ÀàµÄ·½Ê½ÊµÏÖ×Ô¼º µÄÀà¼ÓÔØÆ÷£¬ÒÔÂú×ãһЩÌØÊâµÄÐèÇó¡£ ³ýÁËÒýµ¼Àà¼ÓÔØÆ÷Ö®Í⣬ËùÓÐµÄ Àà¼ÓÔØÆ÷¶¼ÓÐÒ»¸ö¸¸Àà¼ÓÔØÆ÷¡£Í¨¹ý ±í 1 Öиø³öµÄ getParent() ·½·¨¿ÉÒԵà µ½¡£¶ÔÓÚϵͳÌṩµÄÀà¼ÓÔØÆ÷À´Ëµ£¬ÏµÍ³Àà¼ÓÔØÆ÷µÄ¸¸Àà¼ÓÔØÆ÷ÊÇÀ©Õ¹Àà¼ÓÔØÆ÷ £¬¶øÀ©Õ¹Àà¼ÓÔØÆ÷µÄ¸¸Àà¼ÓÔØÆ÷ÊÇÒýµ¼Àà¼ÓÔØÆ÷£»¶ÔÓÚ¿ª·¢ÈËÔ±±àдµÄÀà¼ÓÔØÆ÷ À´Ëµ£¬Æ丸Àà¼ÓÔØÆ÷ÊǼÓÔØ´ËÀà¼ÓÔØÆ÷ Java ÀàµÄÀà¼ÓÔØÆ÷¡£ÒòΪÀà¼ÓÔØÆ÷ Java ÀàÈçͬÆäËüµÄ Java ÀàÒ»Ñù£¬Ò²ÊÇÒªÓÉÀà¼ÓÔØÆ÷À´¼ÓÔصġ£Ò»°ãÀ´Ëµ£¬¿ª ·¢ÈËÔ±±àдµÄÀà¼ÓÔØÆ÷µÄ¸¸Àà¼ÓÔØÆ÷ÊÇϵͳÀà¼ÓÔØÆ÷¡£Àà¼ÓÔØÆ÷ͨ¹ýÕâÖÖ·½Ê½×é Ö¯ÆðÀ´£¬ÐγÉÊ÷×´½á¹¹¡£Ê÷µÄ¸ù½Úµã¾ÍÊÇÒýµ¼Àà¼ÓÔØÆ÷¡£Í¼ 1 Öиø³öÁËÒ»¸öµä Ð͵ÄÀà¼ÓÔØÆ÷Ê÷×´×éÖ¯½á¹¹Ê¾Òâͼ£¬ÆäÖеļýÍ·Ö¸ÏòµÄÊǸ¸Àà¼ÓÔØÆ÷¡£ ͼ 1. Àà¼ÓÔØÆ÷Ê÷×´×éÖ¯½á¹¹Ê¾Òâͼ ÉîÈë̽ÌÖJavaÀà¼ÓÔØÆ÷(3)ʱ¼ä:2011-06-12 IBM ³É¸»´úÂëÇåµ¥ 1 ÑÝʾÁËÀà¼ÓÔØÆ÷µÄÊ÷×´×éÖ¯½á¹¹¡£ Çåµ¥ 1. ÑÝʾÀà¼ÓÔØ Æ÷µÄÊ÷×´×éÖ¯½á¹¹
ÿ¸ö Java À඼ά»¤×ÅÒ»¸öÖ¸Ïò¶¨ÒåËüµÄÀà¼ÓÔØÆ÷µÄÒýÓã¬Í¨¹ý getClassLoader() ·½·¨¾Í¿ÉÒÔ»ñÈ¡µ½´ËÒýÓᣴúÂëÇåµ¥ 1 ÖÐͨ¹ýµÝ¹éµ÷Óà getParent() ·½·¨À´Êä ³öÈ«²¿µÄ¸¸Àà¼ÓÔØÆ÷¡£´úÂëÇåµ¥ 1 µÄÔËÐнá¹ûÈç ´úÂëÇåµ¥ 2 Ëùʾ¡£ Çå µ¥ 2. ÑÝʾÀà¼ÓÔØÆ÷µÄÊ÷×´×éÖ¯½á¹¹µÄÔËÐнá¹û
Èç ´úÂëÇåµ¥ 2 Ëùʾ£¬µÚÒ»¸öÊä³öµÄÊÇ ClassLoaderTree ÀàµÄÀà¼ÓÔØÆ÷£¬¼´ÏµÍ³Àà¼ÓÔØÆ÷¡£Ëü ÊÇ sun.misc.Launcher$AppClassLoader ÀàµÄʵÀý£»µÚ¶þ¸öÊä³öµÄÊÇÀ©Õ¹Àà¼ÓÔØ Æ÷£¬ÊÇ sun.misc.Launcher$ExtClassLoader ÀàµÄʵÀý¡£ÐèҪעÒâµÄÊÇÕâÀﲢû ÓÐÊä³öÒýµ¼Àà¼ÓÔØÆ÷£¬ÕâÊÇÓÉÓÚÓÐЩ JDK µÄʵÏÖ¶ÔÓÚ¸¸Àà¼ÓÔØÆ÷ÊÇÒýµ¼Àà¼ÓÔØ Æ÷µÄÇé¿ö£¬getParent() ·½·¨·µ»Ø null¡£ ÔÚÁ˽âÁËÀà¼ÓÔØÆ÷µÄÊ÷×´×éÖ¯ ½á¹¹Ö®ºó£¬ÏÂÃæ½éÉÜÀà¼ÓÔØÆ÷µÄ´úÀíģʽ¡£ Àà¼ÓÔØÆ÷µÄ´úÀíģʽ Àà¼ÓÔØÆ÷ÔÚ³¢ÊÔ×Ô¼ºÈ¥²éÕÒij¸öÀàµÄ×Ö½Ú´úÂë²¢¶¨ÒåËüʱ£¬»áÏÈ´úÀí¸øÆ丸Àà¼Ó ÔØÆ÷£¬Óɸ¸Àà¼ÓÔØÆ÷ÏÈÈ¥³¢ÊÔ¼ÓÔØÕâ¸öÀ࣬ÒÀ´ÎÀàÍÆ¡£ÔÚ½éÉÜ´úÀíģʽ±³ºóµÄ¶¯ »ú֮ǰ£¬Ê×ÏÈÐèҪ˵Ã÷һϠJava ÐéÄâ»úÊÇÈçºÎÅж¨Á½¸ö Java ÀàÊÇÏàͬµÄ¡£ Java ÐéÄâ»ú²»½öÒª¿´ÀàµÄÈ«ÃûÊÇ·ñÏàͬ£¬»¹Òª¿´¼ÓÔØ´ËÀàµÄÀà¼ÓÔØÆ÷ÊÇ·ñÒ»Ñù ¡£Ö»ÓÐÁ½Õ߶¼ÏàͬµÄÇé¿ö£¬²ÅÈÏΪÁ½¸öÀàÊÇÏàͬµÄ¡£¼´±ãÊÇͬÑùµÄ×Ö½Ú´úÂ룬±» ²»Í¬µÄÀà¼ÓÔØÆ÷¼ÓÔØÖ®ºóËùµÃµ½µÄÀ࣬ҲÊDz»Í¬µÄ¡£±ÈÈçÒ»¸ö Java Àà com.example.Sample£¬±àÒëÖ®ºóÉú³ÉÁË×Ö½Ú´úÂëÎļþ Sample.class¡£Á½¸ö²»Í¬ µÄÀà¼Ó |
ÁèÖڿƼ¼×¨ÒµÌṩ·þÎñÆ÷×âÓᢷþÎñÆ÷Íйܡ¢ÆóÒµÓʾ֡¢ÐéÄâÖ÷»úµÈ·þÎñ£¬¹«Ë¾ÍøÕ¾£ºhttp://www.lingzhong.cn ΪÁ˸ø¹ã´ó¿Í»§Á˽â¸ü¶àµÄ¼¼ÊõÐÅÏ¢£¬±¾¼¼ÊõÎÄÕÂÊÕ¼¯À´Ô´ÓÚÍøÂç,ÁèÖڿƼ¼×ðÖØÎÄÕÂ×÷ÕߵİæȨ£¬Èç¹ûÓÐÉæ¼°ÄãµÄ°æȨÓбØҪɾ³ýÄãµÄÎÄÕ£¬ÇëºÍÎÒÃÇÁªÏµ¡£ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúҪתÔر¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»! |