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À´ÃèÊö£¬¶øÔÚÃæÏò¶ÔÏóµÄ±à³ÌÖУ¬Êý¾Ý½á¹¹ÊÇÓÃÀàÀ´ÃèÊöµÄ£¬²¢ÇÒ°üº¬ÓжԸÃÊ ......
ResultSetÈç¹û°´ÕÕÁжÁÈ¡£¬ÊÇÓÐ˳ÐòµÄ
Èç¹ûÖØ¸´¶Á£º
int a= rs.getInt(1);
System.out.println(rs.getInt(1));
»òÕß»ØÍ·¶Á
rs.getInt(2);
rs.getInt(1);
¶¼»á³ö£ºjava.sql.SQLException: No data found
Êý¾ÝÊÇ˳Ðò¶ÁÈ¡³öÀ´µÄ£¬¿ÉÒÔÏëÏñÊÇÒ»¸öÖ¸ÕëÔÚ¶¯£¬ÔÚ¶ÁÈ¡³öÀ´Êý¾Ý¡£ÕâЩ¶¼ÊǵÀÌý;˵£¬ ......
1.ÉùÃ÷Êý×éÒýÓñäÁ¿Ê±²»ÄÜÖ¸¶¨Êý×éµÄ³¤¶È¡£È磺int x[1];Õâ¾ä»°·Ç·¨¡£
2.Êý×é¶ÔÏóµÄ´´½¨£¬ÀýÈ磺
int [] scores = new int[100];
Ê×ÏÈÔÚ¶ÑÖзÖÅäÄÚ´æ¿Õ¼ä£¬ÉÏÊöµÄ¾ÍÊÇ400¸ö×Ö½Ú£¬È»ºó¾Í¸øÆä¸³Ä¬ÈÏÖµ£¬¸÷¸öÊý¾ÝÀàÐ͵ÄĬÈÏÖµ²»Í¬£¬intΪ0.
3.·µ»ØÊý×é¶ÔÏóµÄÒýÓãº
int [] x =new int [10]; <=> int size = 10; i ......
ÓÃJava±àдӦÓÃʱ£¬ÓÐʱÐèÒªÔÚ³ÌÐòÖе÷ÓÃÁíÒ»¸öÏֳɵĿÉÖ´ÐгÌÐò»òϵͳÃüÁÕâʱ¿ÉÒÔͨ¹ý×éºÏʹÓÃJavaÌṩµÄRuntimeÀàºÍProcessÀàµÄ·½·¨ÊµÏÖ¡£ÏÂÃæÊÇÒ»ÖֱȽϵäÐ͵ijÌÐòģʽ£º
...
Process process = Runtime.getRuntime().exec(".\\p.exe");
process.waitfor( );
...
ÔÚÉÏÃæµÄ³ÌÐòÖУ¬µÚÒ»Ðеē.\\p.exe& ......
±¾È˾ãËÄÄêÑз¢¾Ñ飨javaµÄ£©
˸øÎÒÍÆ¼ö·ÝǶÈëʽcְ룬cÓïÑÔһֱûÂäÏ£¬Ñ§µÄ»¹ÐС£¡£¡£¹¤×Ê¿ªÎÒ2k¾ÍÐУ¡
ֻΪ³É¹¦´òÈëǶÈëʽÊг¡¡£¡£¡£¸ø¸ö»ú»á°É¡£¡£
ÎÒÕæµÄÊÇÌ«ÏëºÍÄãÃÇ×öͬÐÐÀ²£¡
ÓÐÒâÏòµÄ¿ÉÒÔÁªÏµÎÒ¡£¡£ÎÒ²»Ìô´ýÓö£¬¶Ô¹¤×÷¾ÍÒ»¸öÒªÇó£¬Ç¶Èëʽ¿ª·¢¡£¡£¡£ÎÒÓе쬾ÍÊÇ4ÄêµÄjavaÑз¢¾ÑéºÍc»ù´¡¡£¡£¡£ÌáÇ ......