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

java classLoader Ìåϵ½á¹¹

jvm classLoader architecture£º
1. Bootstrap ClassLoader/Æô¶¯Àà¼ÓÔØÆ÷
Ö÷Òª¸ºÔðjdk_home/libĿ¼ÏµĺËÐÄ api »ò -Xbootclasspath Ñ¡ÏîÖ¸¶¨µÄjar°ü×°È빤×÷¡£
2. Extension ClassLoader/À©Õ¹Àà¼ÓÔØÆ÷
Ö÷Òª¸ºÔðjdk_home/lib/extĿ¼ÏµÄjar°ü»ò -Djava.ext.dirs Ö¸¶¨Ä¿Â¼ÏµÄjar°ü×°È빤×÷¡£
3. System ClassLoader/ϵͳÀà¼ÓÔØÆ÷
Ö÷Òª¸ºÔðjava -classpath/-Djava.class.pathËùÖ¸µÄĿ¼ÏµÄÀàÓëjar°ü×°È빤×÷¡£
4. User Custom ClassLoader/Óû§×Ô¶¨ÒåÀà¼ÓÔØÆ÷(java.lang.ClassLoaderµÄ×ÓÀà)
ÔÚ³ÌÐòÔËÐÐÆÚ¼ä, ͨ¹ýjava.lang.ClassLoaderµÄ×ÓÀද̬¼ÓÔØclassÎļþ, ÌåÏÖjava¶¯Ì¬ÊµÊ±Àà×°ÈëÌØÐÔ¡£
Àà¼ÓÔØÆ÷µÄÌØÐÔ£º
1. ÿ¸öClassLoader¶¼Î¬»¤ÁËÒ»·Ý×Ô¼ºµÄÃû³Æ¿Õ¼ä£¬ ͬһ¸öÃû³Æ¿Õ¼äÀï²»ÄܳöÏÖÁ½¸öͬÃûµÄÀà¡£
2. ΪÁËʵÏÖjava°²È«É³ÏäÄ£ÐͶ¥²ãµÄÀà¼ÓÔØÆ÷°²È«»úÖÆ, javaĬÈϲÉÓÃÁË " Ë«Ç×ίÅɵļÓÔØÁ´ " ½á¹¹¡£
classloader-architecture
classloader-architecture
classloader-class-diagram
classloader-class-diagram
ÀàͼÖУ¬ BootstrapClassLoaderÊÇÒ»¸öµ¥¶ÀµÄjavaÀ࣬ ÆäʵÔÚÕâÀ ²»Ó¦¸Ã½ÐËûÊÇÒ»¸öjavaÀà¡£ÒòΪ£¬ËüÒѾ­ÍêÈ«²»ÓÃjavaʵÏÖÁË¡£ËüÊÇÔÚjvmÆô¶¯Ê±£¬ ¾Í±»¹¹ÔìÆðÀ´µÄ£¬ ¸ºÔðjavaƽ̨ºËÐÄ¿â¡£
×Ô¶¨ÒåÀà¼ÓÔØÆ÷¼ÓÔØÒ»¸öÀàµÄ²½Öè
classloader-load-class
classloader-load-class
ClassLoader Àà¼ÓÔØÂß¼­·ÖÎö£¬ ÒÔÏÂÂß¼­Êdzý BootstrapClassLoader ÍâµÄÀà¼ÓÔØÆ÷¼ÓÔØÁ÷³Ì£º
1. // ¼ì²éÀàÊÇ·ñÒѱ»×°Ôعý
2. Class c = findLoadedClass(name);
3. if (c == null ) {
4. // Ö¸¶¨Ààδ±»×°Ôعý
5. try {
6. if (parent != null ) {
7. // Èç¹û¸¸Àà¼ÓÔØÆ÷²»Îª¿Õ£¬ ÔòίÅɸø¸¸Àà¼ÓÔØ
8. c = parent.loadClass(name, false );
9. } else {
10. // Èç¹û¸¸Àà¼ÓÔØÆ÷Ϊ¿Õ£¬ ÔòίÅɸøÆô¶¯Àà¼ÓÔؼÓÔØ
11. c = findBootstrapClass0(name);
12. }
13. } catch (ClassNotFoundException e) {
14. // Æô¶¯Àà¼ÓÔØÆ÷»ò¸¸Àà¼ÓÔØÆ÷Å׳öÒì³£ºó£¬ µ±Ç°Àà¼ÓÔØÆ÷½«Æä
15. // ²¶»ñ£¬ ²¢Í¨¹ýfindClass·½·¨£¬ ÓÉ×ÔÉí¼ÓÔØ
16. c = findClass(name);
17. }
18.


Ïà¹ØÎĵµ£º

£¨Àý£©JavaÉú³ÉPDF±¨±í iText

// µ¼Èë£É£Ï¿âÀà
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
// µ¼Èë¡¡£Ð£Ï£É¿âÀà
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi ......

java ÃæÊÔÌâ

Java
»ù´¡·½Ãæ
:
1
¡¢
char
ÐͱäÁ¿ÖÐÄܲ»ÄÜ´æÖüÒ»¸öÖÐÎĺº×Ö
?
Ϊʲô
?
´ð£º
ÊÇÄܹ»¶¨Òå³ÉΪһ¸öÖÐÎĵģ¬ÒòΪjavaÖÐÒÔunicode±àÂ룬һ¸öcharÕ¼16×Ö½Ú£¬ËùÒÔ·ÅÒ»¸öÖÐÎÄÊÇûÎÊÌâµÄ
2:
À¬»ø»ØÊÕ»úÖÆ
,
ÈçºÎÓÅ»¯³ÌÐò

A:javaÖеÄÀ¬»øÊÕ¼¯
£¨Garbage Collection,GC£©ÓÃÀ´»ØÊÕÄÇЩ¹ýÈ¥·ÖÅäµÄ²»ÔÙÓ ......

Java Observer Pattern

²é¿´×îо«»ªÎÄÕ Çë·ÃÎʲ©¿ÍÊ×Ò³Ïà¹ØÎÄÕ ͨÓøßУÅÅ¿ÎËã·¨Ñо¿----Ç°ÑÔjava cloneÏê½âÈ«ÃæÉîÈë½éÉÜC++×Ö·û´®£ºstringÀàÔƼÆËãµ¼ÂÛFreeMarker±Ê¼Ç²ÔÓ¥-GISRenÂþ»°GISÁÖÊÏÎïÓï.³¯»¨Ï¦Ê°Ö®ºÞ·êÇäÍíÎ人¾¹Éý¹«Ë¾ WebSphere Portal ÄÚÈݹÜÀíÉý¼¶ÊµÊ©·½°¸ ......

ZlibѹËõËã·¨ÔÚjavaÉϵÄÓ¦ÓÃ

JAVAʵÏÖ
¡¡¡¡ÔÚJDKÖУ¬ÔÚjava.util.zip°üÖÐÒѾ­ÄÚÖÃÁËZLIBµÄʵÏÖ£¬Ê¾Àý´úÂëÈçÏ£º
1//½âѹ
2 public String decompressData(String encdata) {
3 try {
4 ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
5 InflaterOutputStream zos = new InflaterOutputStream(bos); 
6 zo ......

javaÉè¼Æģʽѧϰ1£­£­Singleton Pattern

javaÉè¼Æģʽѧϰ1£­£­Singleton Pattern
¡¡¡¡Ç°Ð©Ìì°ÚŪjava£¬²Î¿¼Ò»Ð©×ÊÁÏдÁ˸öÊý¾Ý¿âÁ¬½Ó³Ø£¬¶ÔÀïÃæÖ»²úÉúÒ»¸öʵÀýµÄÄÇÖÖ×ö·¨Éî±íÅå·þ£¬½ñÌìÖÐÎçÓÖÌýµ½±ðÈËÔÚ˵Éè¼Æģʽ£¬Êܲ»ÁËÁË£¬¾ÍÉÏÍøDownÁ˵ã×ÊÁÏÀ´¡£
¡¡¡¡Ò»À´¾Í¿´µ½ÁËSingletonģʽ£¬Ò»¿´£¬Ñ½£¬²»¾ÍÊÇÄǸöÁ¬½Ó³ØÀïÓõķ½·¨Ã´?!àÞ£¬Ô­À´Èç´Ë¡£
¡¡¡¡Singleton Ê ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ