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£¬ÎÒÃÇʹÓÃÕâ¸ö×Ô¶¨ÒåµÄClassLoader¼ÓÔØjava
Ïà¹ØÎĵµ£º
ÔÚJavaÖз½·¨²ÎÊýµÄ´«µÝ£¬¶¼ÊÇÖµ´«µÝ£¬¶ÔÏó´«µÝÊǵØÖ· £¬»ù±¾Êý¾ÝÀàÐÍ´«µÝµÄÊÇÖµ¡£µØÖ·ºÍÖµ¶¼Öµ¡£
ÏÂÃæÒÔÒ»¸öÀý×ÓÀ´¿´ÄÚ´æÖеÄÊý¾Ý±ä»¯Çé¿ö
public class Test{
private String name;
public String getName(){
&nbs ......
ʹÓÃJava³ÌÐò´ÓÊý¾Ý¿âÖвéѯ´óÁ¿µÄÊý¾ÝʱÈÝÒ׳öÏÖÒì³£:
java.lang.OutOfMemoryError: Java heap space
ÔÚJVMÖÐÈç¹û98£¥µÄʱ¼äÊÇÓÃÓÚGCÇÒ¿ÉÓÃµÄ Heap size ²»×ã2£¥µÄʱºò½«Å׳ö´ËÒì³£ÐÅÏ¢¡£
»¹ÓÐʹÓÃjxl¶ÁдexcelÎļþʱ£¬Í¬Ê±¶ÁÈëËùÓмǼ£¬Ò²ÈÝÒ׳öÏÖÕâ¸öÎÊÌâ¡£
JVM¶ÑµÄÉèÖÃÊÇÖ¸java³ÌÐòÔËÐйý³ÌÖÐJVM¿ÉÒÔµ÷ÅäʹÓõÄÄÚ ......
Java¿ª·¢ÖУ¬×îÖյijÌÐò·¢²¼Ò»°ãÊÇÒª´ò³Éjar°üÐÎʽµÄ£¬¶øÓÐһЩÅäÖÃÎļþÊÇ·ÅÔÚjarÀïÃæµÄ£¬ÕâÑùÔÚ×öFileÐÎʽµÄ¶Áȡʱ£¬¾Í»á·¢ÏÖ¶Á²»µ½ÏàÓ¦µÄÎļþ¡£ÏÂÃæÌṩһÖÖ½â¾ö·½Ê½£ºString fileName = "/config/abcd.config";
InputStream in = getClass().getResourceAsStream(fileName);
BufferedReader br = null;
try{
br = n ......
(Ò»)³ÌÐò¿ª·¢£¬´æÔںܶàÎÊÌâ:Ê×ÏÈ£¬Ã¿Ò»´ÎWebÇëÇó¶¼Òª½¨Á¢Ò»´ÎÊý¾Ý¿âÁ¬½Ó¡£½¨Á¢Á¬½ÓÊÇÒ»¸ö·ÑʱµÄ»î¶¯£¬Ã¿´Î¶¼µÃ»¨·Ñ0.05s¡«1sµÄʱ¼ä£¬¶øÇÒϵͳ»¹Òª·ÖÅäÄÚ´æ×ÊÔ´¡£Õâ¸öʱ¼ä¶ÔÓÚÒ»´Î»ò¼¸´ÎÊý¾Ý¿â²Ù×÷£¬»òÐí¸Ð¾õ²»³öϵͳÓжà´óµÄ¿ªÏú¡£¿ÉÊǶÔÓÚÏÖÔÚµÄWebÓ¦Óã¬ÓÈÆäÊÇ´óÐ͵ç×ÓÉÌÎñÍøÕ¾£¬Í¬Ê±Óм¸ ......
java´ò°ü-exeÎļþ-×îÖÕÒÔsetupÐÎʽ·¢²¼µÄ½â¾öÖ®µÀ
java´ò°ü-exeÎļþ-×îÖÕÒÔsetupÐÎʽ·¢²¼µÄ½â¾öÖ®µÀ
Ê×ÏÈ£¬½«±àÒëºÃµÄ³ÌÐò´ò°ü³ÉjarÎļþ£¬È»ºó×ö³öexe£¬ÕâÑù´úÂë¾Í²»¿É¼ûÁË£»µ«ÊÇexeÎļþÔÚûÓа²×°jreµÄµçÄÔÉϲ»ÄÜÔËÐУ¬Èç¹ûÒªÇó¿Í»§ÔÙÈ¥°²×°jre ÉèÖû·¾³±äÁ¿ ¾Í²»ÑÅÁË¡£ÎÒÃÇÐèÒª½«jre´ò°ü¡£
Õ⼸²½²Ù×÷Í ......