Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÉîÈëÁ˽âJava ClassLoader¡¢Bytecode ¡¢ASM¡¢cglib

Ò»¡¢Java ClassLoader
1£¬Ê²Ã´ÊÇClassLoader
Óë C »ò C++ ±àдµÄ³ÌÐò²»Í¬£¬Java ³ÌÐò²¢²»ÊÇÒ»¸ö¿ÉÖ´ÐÐÎļþ£¬¶øÊÇÓÉÐí¶à¶ÀÁ¢µÄÀàÎļþ×é³É£¬Ã¿Ò»¸öÎļþ¶ÔÓ¦ÓÚÒ»¸ö Java Àà¡£
´ËÍ⣬ÕâЩÀàÎļþ²¢·ÇÁ¢¼´È«²¿¶¼×°ÈëÄڴ棬¶øÊǸù¾Ý³ÌÐòÐèҪװÈëÄÚ´æ¡£ClassLoader ÊÇ JVM Öн«Àà×°ÈëÄÚ´æµÄÄDz¿·Ö¡£
¶øÇÒ£¬Java ClassLoader ¾ÍÊÇÓà Java ÓïÑÔ±àдµÄ¡£ÕâÒâζ×Å´´½¨Äú×Ô¼ºµÄ ClassLoader ·Ç³£ÈÝÒ×£¬²»±ØÁ˽â JVM µÄ΢Сϸ½Ú¡£
2£¬Ò»Ð©ÖØÒªµÄ·½·¨
A)loadClass
ClassLoader.loadClass() ÊÇClassLoaderµÄÈë¿Úµã¡£¸Ã·½·¨µÄ¶¨ÒåΪ£ºClass loadClass( String name, boolean resolve );
name£ºJVM ÐèÒªµÄÀàµÄÃû³Æ£¬Èç Foo »ò java.lang.Object¡£
resolve£º²ÎÊý¸æËß·½·¨ÊÇ·ñÐèÒª½âÎöÀà¡£
B)defineClass
defineClass·½·¨ÊÇClassLoaderµÄÖ÷Òª¾÷ÇÏ¡£¸Ã·½·¨½ÓÊÜÓÉԭʼ×Ö½Ú×é³ÉµÄÊý×é²¢°ÑËüת»»³ÉClass¶ÔÏó¡£
C)findSystemClass
findSystemClass·½·¨´Ó±¾µØÎļþϵͳÖÐѰÕÒÀàÎļþ£¬Èç¹û´æÔÚ£¬¾ÍʹÓÃdefineClass½«Ô­Ê¼×Ö½Úת»»³ÉClass¶ÔÏó£¬ÒÔ½«¸ÃÎļþת»»³ÉÀà¡£
D)resolveClass
¿ÉÒÔ²»ÍêÈ«µØ(²»´ø½âÎö)×°ÈëÀ࣬Ҳ¿ÉÒÔÍêÈ«µØ(´ø½âÎö)×°ÈëÀà¡£µ±±àдÎÒÃÇ×Ô¼ºµÄloadClassʱ¿ÉÒÔµ÷ÓÃresolveClass£¬ÕâÈ¡¾öÓÚloadClassµÄresolve²ÎÊýµÄÖµ¡£
E)findLoadedClass
findLoadedClass³äµ±Ò»¸ö»º´æ£ºµ±ÇëÇóloadClass×°ÈëÀàʱ£¬Ëüµ÷Óø÷½·¨À´²é¿´ClassLoaderÊÇ·ñÒÑ×°ÈëÕâ¸öÀ࣬ÕâÑù¿ÉÒÔ±ÜÃâÖØÐÂ×°ÈëÒÑ´æÔÚÀàËùÔì³ÉµÄÂé·³¡£
3£¬Java2ÖÐClassLoaderµÄ±ä¶¯
1)loadClassµÄȱʡʵÏÖ
ÔÚJava2ÖÐloadClassµÄʵÏÖǶÈëÁË´ó¶àÊý²éÕÒÀàµÄÒ»°ã·½·¨£¬²¢Ê¹Äúͨ¹ý¸²¸ÇfindClass·½·¨À´¶¨ÖÆËü£¬ÔÚÊʵ±µÄʱºòfindClass»áµ÷ÓÃloadClass¡£
ÕâÖÖ·½Ê½µÄºÃ´¦ÊÇ¿ÉÄܲ»Ò»¶¨Òª¸²¸ÇloadClass£¬Ö»Òª¸²¸ÇfindClass¾ÍÐÐÁË£¬Õâ¼õÉÙÁ˹¤×÷Á¿¡£
2)з½·¨:findClass
loadClassµÄȱʡʵÏÖµ÷ÓÃÕâ¸öз½·¨¡£
3)з½·¨:getSystemClassLoader
Èç¹û¸²¸ÇfindClass»òloadClass£¬getSystemClassLoaderÈÃÎÒÃÇÒÔʵ¼ÊClassLoader¶ÔÏóÀ´·ÃÎÊϵͳClassLoader£¬¶ø²»Êǹ̶¨µÄ´ÓfindSystemClass µ÷ÓÃËü¡£
4)з½·¨:getParent
ΪÁ˽«ÀàÇëÇóίÍиø¸¸ClassLoader£¬Õâ¸öз½·¨ÔÊÐíClassLoader»ñÈ¡ËüµÄ¸¸ClassLoader¡£
4£¬¶¨ÖÆClassLoader
ÆäʵÎÒÃÇ»ò¶à»òÉÙ¶¼Ê¹Óùý¶¨ÖƵÄClassLoader£¬ÒòΪApplet²é¿´Æ÷ÖоͰüº¬Ò»¸ö¶¨ÖƵÄClassLoader¡£
Ëü²»ÔÚ±¾µØÎļþϵͳÖÐѰÕÒÀ࣬¶øÊÇ·ÃÎÊÔ¶³Ì·þÎñÆ÷ÉϵÄ


Ïà¹ØÎĵµ£º

javaµÄ±àÂëÀ§ÈÅ

   ×î½üдÔ˼۵Äϵͳ,дµÃºÃÀÛ°¡,²»¹ý²î²»¶à½Ó½üÍê³ÉÁË.µ«±àÂëµÄÎÊÌâÒ»Ö±¶¼ÊÇËÆ¶®·Ç¶®µÄ.
   Ö»ºÃÒ»µãµãÈ¥ËÑË÷javaºÍhtmlµÄ±àÂëÎÊÌâ.ºÃ·³,µ½×îºó,ÎÊÌâÊǽâ¾öÁË,µ«²»ÊÇ×îÍêÕûµÄ´¦Àí·½·¨.Ï£ÍûÒÔºó¿ÉÒÔ´¦ÀíºÃ.
   ÔÚÒ»¸östruts2µÄ·µ»ØÌáʾµÄ×Ö·û´®µ½Ò³ÃæÖÐ.ÎÊÌâ¾ÍÊdzöÔÚÕâ×Ö·û´®ÖÐÓÐÍøÒ³µÄ»»Ð ......

[±¸·Ý]javaÖÐXML½âÎöÀûÆ÷ dom4jµÄʹÓüò½é


ҪʹÓÃdom4j¶ÁдXMLÎĵµ,ÐèÒªÏÈÏÂÔØdom4j°ü,dom4j¹Ù·½ÍøÕ¾ÔÚ http://www.dom4j.org/
Ŀǰ×îÐÂdom4j°üÏÂÔØµØÖ·: http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
½â¿ªºóÓÐÁ½¸ö°ü,½ö²Ù×÷XMLÎĵµµÄ»°°Ñdom4j-1.6.1.jar¼ÓÈ빤³Ì¾Í¿ÉÒÔÁË,Èç¹ûÐèҪʹÓÃXPathµÄ»°»¹ÐèÒª¼ÓÈë°üjaxen-1.1-beta-7.jar.
ÒÔÏÂ ......

Java ¶ÁдÎļþ ×Ö·û·Ö¸ô

ǰһ¶Îʱ¼äÒòΪÐèÒª°ï±ðÈËдÁ˼òµ¥µÄ×Ö·û´®·Ö¸ôµÄjavaС³ÌÐò£¬¾¡¹Ü×îºóûÓÃÉÏ£¬µ«ÊÇ×÷ΪÁ·Ï°»¹ÊDz»´íµÄ¡£
ÐèÇ󣺶ÔÓÚÏñÈçϵÄ×Ö·û´´½«Æä·Ö¸ôΪÁ½ÁУ¬ÕâÑù¾Í¿ÉÒÔÖ±½ÓÕ³ÌùµÄExcelÖи÷×ÔÁУ¬·ñÔòÒ»¸öÒ»¸ö·Ö¸ô»áºÄ·ÑºÜ¶àʱ¼ä¡£
16 bit microcomputer   16 λ΢ÐͼÆËã»ú
3 d distribution   Èýά·Ö²¼
4 ......

Java ¶àÏß³Ì ¼òµ¥Àý×Ó

ÒòΪ¹¤×÷ÐèÒª£¬ÐèÒªÔÚͬһʱ¼äÖ´Ðжà´Îij¸ö²Ù×÷£¬¿´¿´ÊÇ·ñ»áÒýÆðÊý¾ÝµÄdeadlockÎļþ¡£
¶àÏ߳̾ßÌåÖ´ÐÐÀà
package com.ericyang.test.cmdline;
import java.util.List;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;
class ThreadClass extends xxxTestBase implemen ......

JAVA JNI

http://blog.csdn.net/hbcui1984/archive/2009/12/10/4980805.aspx
Ò»¡¢¸ÅÊö
JNI(java native interface)£¬JAVA±¾µØ½Ó¿Úµ÷Óã¬Ä¿µÄÊÇΪÁËJAVA¿ÉÒÔµ÷Óñ¾µØ³ÌÐò£¬Ö÷ÒªÓŵãÓУº
Ìá¸ßЧÂÊ£¬½â¾öÐÔÄÜÎÊÌâ
·ÀÖ¹·´±àÒ룬Ìá¸ßºËÐÄ´úÂ밲ȫÐÔ
ÔöÇ¿±¾»ú½Ó¿Úµ÷ÓÃ
ǶÈëʽ¿ª·¢Ó¦ÓÃ
    ÈçÏÂͨ¹ýÒ»¸ö×î¼òµ¥µÄÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ