javaÔËÐл·¾³ Àà×°ÔØÆ÷ClassLoader
½ñÌì¹Û¿´ÁËÀ¶É½ÀÏʦjava±³ºóµÄÃØÃÜÏà¹ØÊÓÆµ£¬·¢ÏÖÒªÏëд³ö¸ßÐÔÄܵijÌÐò£¬Ò»¶¨Òª¶ÔÆäÔËÐÐÔÀíÒÔ¼°ÆäÔËÐл·¾³ÓÐÏ൱³Ì¶ÈµÄÁ˽⡣ÄÇClassLoaderÊÇÏ൱¹Ø¼üµÄÒ»¸ö²¿·Ö¡£
ÏÈ˵ÏÂjava³ÌÐòÔËÐеĻù±¾Á÷³Ì£¬ÏȽ«javaÎļþ±àÒëΪclassÎļþ£¬È»ºóͨ¹ýClassLoader£¨Àà¼ÓÔØÆ÷£©£¬¼ÓÔØµ½Runtime Data Area£¨ÀàËÆÓÚÄڴ棩ÖУ¬ÔÙ½»ÓëExecution Engine£¨Ï൱ÓÚCPU£©½øÐÐÖ´ÐвÙ×÷£¬ÈôjavaÓïÑÔÓе÷ÓÃÆäËûµÄÓïÑÔ½øÐÐÏà¹Ø¼ÆË㣬ÔòÐèÒªÓõ½Native interfaceÕâ¸ö²¿·Ö£¬×îÖÕÐγÉNative Libraries£¬ÖÁ´Ë£¬Ö´ÐÐÍê³É¡£
ÄÇ¿´ÁËÉÏÃæµÄÁ÷³Ì£¬ClassLoaderÊÇÒ»¸öClassÎļþµÄÔØÈëÆ÷£¬ÆäÔØÈëµÄ·½Ê½ÓÐÔ¤ÏÈÔØÈëºÍ°´ÐèÔØÈëÁ½ÖÖ·½Ê½¡£Ô¤ÏÈÔØÈëÖ÷ÒªÊÇÔØÈëһЩ¾ßÌåµÄjavaϵͳÎļþ£¬¸÷¸öjavaÔËÐбØÐèµÄÀàÎļþ£»°´ÐèÔØÈëÖ÷ÒªÊÇÎÒÃÇ×Ô¼ºËù±àдµÄ¾ßÌåµÄjavaµÄÀàÎļþ¡£Ô¤ÏÈÔØÈëºÍ°´ÐèÔØÈë¿É¹ËÃû˼Ò壬ԤÏÈÔØÈëÊÇÔÚÖ´ÐÐû¸ö³ÌÐòǰ¶¼ÐèÒª½øÐÐÔØÈ룬°´ÐèÔØÈëÊÇÖ»ÓÐÔÚµ÷ÓþßÌåµÄÀàÎļþʱ²Å½øÐÐÔØÈë¡£ÎÒÃÇ¿ÉÒÔͨ¹ý¸ÃÃüÁîÀ´×·×Ùjava³ÌÐòÖ´ÐÐʱ£¬ËùÔØÈëµÄ¾ßÌåµÄclassÎļþ---java -verbose:class Main(±àÒëºÃµÄÎļþÃû)¡£
°´ÐèÔØÈëÓÖ·ÖΪÁ½ÖÖ·½Ê½£¬ÎªÏÔʽºÍÒþʽ.ÒþʽÊÇÎÒÃDZȽϳ£ÓõÄ,¾ßÌåµÄÐÎʽ²»Ê¹ÓÃnew()¹Ø¼ü×Ö,¶øÏÔʽµÄ·½·¨Ö÷ÒªÊÇÏÂÃæÁ½ÖÖ·½Ê½,Ò»¸öÊÇClass.forName()ºÍClassLoader.LoadClass()·½·¨.Class.forNameÔÚ×öÓëÊý¾Ý¿âµÄÁ¬½ÓʱÓùý,²»¹ýÒÔǰ²»Á˽âÆäº¬Òâ.ÕâÁ½ÖÖ·½·¨ÎÒĿǰ¸Ð¾õÒþʽµÄÓÃÆðÀ´¸ü·½±ã,µ«ºöÂÔÁ˾ßÌåµÄÔØÈë¹ý³Ì£»ÏÔʽµÄÔØÈëÓÃÆðÀ´¸´ÔÓ£¬µ«¶Ô³ÌÐò¾ßÌåµÄÖ´ÐÐÁ÷³Ì£¬ÎÒÃÇ¿ÉÒÔ½øÐÐÏêϸµÄ¿ØÖÆ¡£
¾ßÌåÔõôÓÃÕâ¸ö»¹Ã»Ì«¸ãÃ÷°×£¬»¹ÐèÔÙÑо¿ÏÂ.Ã÷Ìì»á°ÑclassLoaderÄÚ²¿µÄ¾ßÌå¹¹ÔìÔÙÑо¿Ï¡£
ÏÂÃæÊÇ×öÕâ¸öÁ·Ï°Ê±µÄ¾ßÌåÄÚÈÝ£º
//MyClassLoader
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
public class MyClassLoader extends URLClassLoader{
private static File file = new File("F:\\java\20100108 ");
public MyClassLoader(){
super(getUrl());
}
public static URL[] getUrl(){
try{
return new URL[]{file.toURL()};
}catch(MalformedURLException e){
return new URL[0];
}
}
}
//A.java
import java.lang.reflect.*;
public class A {
public static void main(String[] args){
try{
Ïà¹ØÎĵµ£º
ǰÑÔ£º
±¾ÎÄÊǶÔJava¼¯ºÏ¿ò¼Ü×öÁËÒ»¸ö¸ÅÀ¨ÐԵĽâ˵£¬Ä¿µÄÊǶÔJava¼¯ºÏ¿ò¼ÜÌåϵÓиö×ÜÌåÈÏʶ£¬Èç¹ûÄãÏëѧϰ¾ßÌåµÄ½Ó¿ÚºÍÀàµÄʹÓ÷½·¨£¬Çë²Î¿´Java APIÎĵµ¡£
Ò»¡¢¸ÅÊö
Êý¾Ý½á¹¹¶Ô³ÌÐòÉè¼ÆÓÐ×ÅÉîÔ¶µÄÓ°Ï죬ÔÚÃæÏò¹ý³ÌµÄCÓïÑÔÖУ¬Êý¾Ý¿â½á¹¹ÓÃstructÀ´ÃèÊö£¬¶øÔÚÃæÏò¶ÔÏóµÄ±à³ÌÖУ¬Êý¾Ý½á¹¹ÊÇÓÃÀàÀ´ÃèÊöµÄ£¬²¢ÇÒ°üº¬ÓжԸÃÊ ......
1.ÉùÃ÷Êý×éÒýÓñäÁ¿Ê±²»ÄÜÖ¸¶¨Êý×éµÄ³¤¶È¡£È磺int x[1];Õâ¾ä»°·Ç·¨¡£
2.Êý×é¶ÔÏóµÄ´´½¨£¬ÀýÈ磺
int [] scores = new int[100];
Ê×ÏÈÔÚ¶ÑÖзÖÅäÄÚ´æ¿Õ¼ä£¬ÉÏÊöµÄ¾ÍÊÇ400¸ö×Ö½Ú£¬È»ºó¾Í¸øÆä¸³Ä¬ÈÏÖµ£¬¸÷¸öÊý¾ÝÀàÐ͵ÄĬÈÏÖµ²»Í¬£¬intΪ0.
3.·µ»ØÊý×é¶ÔÏóµÄÒýÓãº
int [] x =new int [10]; <=> int size = 10; i ......
/**
* ´´½¨ËõÂÔͼƬ
*
* @param orgpath
* @param filename
* @return
* @description: ÃèÊö
*/
//´Ë·½·¨¶ÔÓÚsshÏîÄ¿²¢ÇÒÕë¶Ô ÉÏ´«¹¦ÄÜʱ£¬·Ç³£ÓÐÓÃ
public static Boolean createAbbreviateImg(String orgpath, String filename) {
Boolea ......
package test;
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
public class XmlTest {
public static void main(String[] args) {
File xmlFile=new File("test/xml.xml");
DocumentBuilderFactory documentBuilderFactor ......
³éÏóÀà¾ÍÊDz»ÄÜʹÓÃnew·½·¨½øÐÐʵÀý»¯µÄÀ࣬¼´Ã»ÓоßÌåʵÀý¶ÔÏóµÄÀà¡£³éÏóÀàÓеãÀàËÆ“Ä£°å”µÄ×÷Óã¬Ä¿µÄÊǸù¾ÝÆä¸ñʽÀ´´´½¨ºÍÐÞ¸ÄеÄÀà¡£¶ÔÏó²»ÄÜÓɳéÏóÀàÖ±½Ó´´½¨£¬Ö»¿ÉÒÔͨ¹ý³éÏóÀàÅÉÉú³öеÄ×ÓÀ࣬ÔÙÓÉÆä×ÓÀàÀ´´´½¨¶ÔÏó¡£µ±Ò»¸öÀà±»ÉùÃ÷Ϊ³éÏóÀàʱ£¬ÒªÔÚÕâ¸öÀàÇ°Ãæ¼ÓÉÏÐÞÊηûabstract¡£
&nbs ......