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

Java·´Éä»úÖÆ£¨×ª£©

Java·´Éä»úÖÆ
ÕªÒª
Reflection ÊÇJava±»ÊÓΪ¶¯Ì¬£¨»ò×¼¶¯Ì¬£©ÓïÑÔµÄÒ»¸ö¹Ø¼üÐÔÖÊ¡£Õâ¸ö»úÖÆÔÊÐí³ÌÐòÔÚÔËÐÐʱ͸¹ýReflection APIsÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄclassµÄÄÚ²¿ÐÅÏ¢£¬°üÀ¨Æämodifiers£¨ÖîÈçpublic, static µÈµÈ£©¡¢superclass£¨ÀýÈçObject£©¡¢ÊµÏÖÖ®interfaces£¨ÀýÈçCloneable£©£¬Ò²°üÀ¨fieldsºÍmethodsµÄËùÓÐÐÅÏ¢£¬²¢¿ÉÓÚÔËÐÐʱ¸Ä±äfieldsÄÚÈÝ»ò»½Æðmethods¡£±¾ÎĽèÓÉʵÀý£¬´óÃæ»ýʾ·¶Reflection APIs¡£
¹ØÓÚ±¾ÎÄ£º
¶ÁÕß»ù´¡£º¾ß±¸Java ÓïÑÔ»ù´¡¡£
±¾ÎÄÊÊÓù¤¾ß£ºJDK1.5
¹Ø¼ü´Ê£º
Introspection£¨ÄÚÊ¡¡¢ÄÚ¹Û£©
Reflection£¨·´É䣩
ÓÐʱºòÎÒÃÇ˵ij¸öÓïÑÔ¾ßÓкÜÇ¿µÄ¶¯Ì¬ÐÔ£¬ÓÐʱºòÎÒÃÇ»áÇø·Ö¶¯Ì¬ºÍ¾²Ì¬µÄ²»Í¬¼¼ÊõÓë×÷·¨¡£ÎÒÃÇÀÊÀÊÉÏ¿Ú¶¯Ì¬°ó¶¨£¨dynamic binding£©¡¢¶¯Ì¬Á´½Ó£¨dynamic linking£©¡¢¶¯Ì¬¼ÓÔØ£¨dynamic loading£©µÈ¡£È»¶ø“¶¯Ì¬”Ò»´ÊÆäʵûÓоø¶Ô¶øÆÕ±éÊÊÓõÄÑϸñ¶¨Ò壬ÓÐʱºòÉõÖÁÏñ¶ÔÏóµ¼Ïòµ±³õ±»µ¼Èë±à³ÌÁìÓòÒ»Ñù£¬Ò»ÈËÒ»°ÑºÅ£¬¸÷´µ¸÷µÄµ÷¡£
Ò»°ã¶øÑÔ£¬¿ª·¢ÕßÉçȺ˵µ½¶¯Ì¬ÓïÑÔ£¬´óÖÂÈÏͬµÄÒ»¸ö¶¨ÒåÊÇ£º“³ÌÐòÔËÐÐʱ£¬ÔÊÐí¸Ä±ä³ÌÐò½á¹¹»ò±äÁ¿ÀàÐÍ£¬ÕâÖÖÓïÑÔ³ÆΪ¶¯Ì¬ÓïÑÔ”¡£´ÓÕâ¸ö¹Ûµã¿´£¬Perl£¬Python£¬RubyÊǶ¯Ì¬ÓïÑÔ£¬C++£¬Java£¬C#²»ÊǶ¯Ì¬ÓïÑÔ¡£
¾¡¹ÜÔÚÕâÑùµÄ¶¨ÒåÓë·ÖÀàÏÂJava²»ÊǶ¯Ì¬ÓïÑÔ£¬ËüÈ´ÓÐ×ÅÒ»¸ö·Ç³£Í»³öµÄ¶¯Ì¬Ïà¹Ø»úÖÆ£ºReflection¡£Õâ¸ö×ÖµÄÒâ˼ÊÇ“·´Éä¡¢Ó³Ïó¡¢µ¹Ó°”£¬ÓÃÔÚJavaÉíÉÏÖ¸µÄÊÇÎÒÃÇ¿ÉÒÔÓÚÔËÐÐʱ¼ÓÔØ¡¢Ì½Öª¡¢Ê¹ÓñàÒëÆÚ¼äÍêȫδ֪µÄclasses¡£»»¾ä»°Ëµ£¬Java³ÌÐò¿ÉÒÔ¼ÓÔØÒ»¸öÔËÐÐʱ²ÅµÃÖªÃû³ÆµÄclass£¬»ñϤÆäÍêÕû¹¹Ô죨µ«²»°üÀ¨methods¶¨Ò壩£¬²¢Éú³ÉÆä¶ÔÏóʵÌå¡¢»ò¶ÔÆäfieldsÉèÖµ¡¢»ò»½ÆðÆämethods1¡£ÕâÖÖ“¿´Í¸class”µÄÄÜÁ¦£¨the ability of the program to examine itself£©±»³ÆΪintrospection£¨ÄÚÊ¡¡¢ÄÚ¹Û¡¢·´Ê¡£©¡£ReflectionºÍintrospectionÊdz£±»²¢ÌáµÄÁ½¸öÊõÓï¡£
JavaÈçºÎÄܹ»×ö³öÉÏÊöµÄ¶¯Ì¬ÌØÐÔÄØ£¿ÕâÊÇÒ»¸öÉîÔ¶»°Ì⣬±¾ÎĶԴËÖ»¼òµ¥½éÉÜһЩ¸ÅÄî¡£Õû¸öƪ·ù×îÖ÷Òª»¹ÊǽéÉÜReflection APIs£¬Ò²¾ÍÊÇÈöÁÕßÖªµÀÈçºÎ̽Ë÷classµÄ½á¹¹¡¢ÈçºÎ¶Ôij¸ö“ÔËÐÐʱ²Å»ñÖªÃû³ÆµÄclass”Éú³ÉÒ»·ÝʵÌ塢ΪÆäfieldsÉèÖµ¡¢µ÷ÓÃÆämethods¡£±¾ÎĽ«Ì¸µ½java.lang.Class£¬ÒÔ¼°java.lang.reflectÖеÄMethod¡¢Field¡¢ConstructorµÈµÈclasses¡£
“Class”class
ÖÚËùÖÜÖªJavaÓиöObject class£¬ÊÇËùÓÐJava classesµÄ¼Ì³Ð¸ùÔ´£¬ÆäÄÚÉùÃ÷ÁËÊý¸öÓ¦


Ïà¹ØÎĵµ£º

Java½â»ó3 32Ñ­»·ÕßµÄ×çÖä

ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ­»·×ª±äΪһ¸öÎÞÏÞÑ­»·£º
while (i <= j && j <= i && i != j) {
}
àÞ£¬²»£¬²»ÒªÔÙ¸øÎÒ¿´ÆðÀ´²»¿ÉÄܵÄÑ­»·ÁË£¡Èç¹ûi <= j ²¢ÇÒ j <= i£¬i²»Êǿ϶¨µÈÓÚjÂð£¿ÕâÒ»ÊôÐÔ¶ÔʵÊý¿Ï¶¨ÓÐЧ¡£ÊÂʵÉÏ£¬ËüÊÇÈç´ËµØÖØÒª£¬ÒÔÖÁÓÚËüÓÐÕâÑùµÄ¶¨Ò壺ʵÊýÉϵÄ≤¹ØϵÊÇ·´¶Ô³ ......

Java½â»ó3 33Ñ­»·ÕßÓöµ½ÁËÀÇÈË

ÇëÌṩһ¸ö¶ÔiµÄÉùÃ÷£¬½«ÏÂÃæµÄÑ­»·×ª±äΪһ¸öÎÞÏÞÑ­»·¡£Õâ¸öÑ­»·²»ÐèҪʹÓÃÈκÎ5.0°æµÄÌØÐÔ£º
while (i != 0 && i == -i) {
}
ÕâÈÔÈ»ÊÇÒ»¸öÑ­»·¡£ÔÚ²¼¶û±í´ïʽ(i != 0 && i == -i)ÖУ¬Ò»Ôª¼õºÅ²Ù×÷·û×÷ÓÃÓÚi£¬ÕâÒâζ×ÅËüµÄÀàÐͱØÐëÊÇÊý×ÖÐ͵ģºÒ»Ôª¼õºÅ²Ù×÷·û×÷ÓÃÓÚÒ»¸ö·ÇÊý×ÖÐͲÙ×÷ÊýÊÇ·Ç·¨µÄ¡£Òò´Ë£ ......

²ËÄñÈëÃÅ£ºJava³ÌÐòԱѧϰ֮·

 1. JavaÓïÑÔ»ù´¡
    ̸µ½JavaÓïÑÔ»ù´¡Ñ§Ï°µÄÊé¼®£¬´ó¼Ò¿Ï¶¨»áÍƼöBruce EckelµÄ¡¶Thinking in Java¡·¡£ËüÊÇÒ»±¾Ð´µÄÏ൱Éî¿ÌµÄ¼¼ÊõÊé¼®£¬JavaÓïÑÔ»ù´¡²¿·Ö»ù±¾Ã»ÓÐÆäËüÈκÎÒ»±¾Êé¿ÉÒÔ³¬Ô½Ëü¡£¸ÃÊéµÄ×÷ÕßBruce EckelÔÚÍøÂçÉϱ»³ÆΪÌì²ÅµÄͶ»úÕߣ¬×÷Õߵġ¶Thinking in C++¡·ÔÚ1995ÄêÔø»ñSoftwareDevel ......

java֪ʶµã»ã×ÜÖ®Ò»¶ÑºÍ¶ÑÕ»(1)

1. ¼Ä´æÆ÷£¨register£©¡£ÕâÊÇ×î¿ìµÄ´æ´¢Çø£¬ÒòΪËüλÓÚ´¦ÀíÆ÷ÄÚ²¿¡£µ«Äã²»ÄÜÖ±½Ó¿ØÖÆ£¬Ò²²»ÄÜÔÚ³ÌÐòÖиоõµ½¼Ä´æÆ÷´æÔÚµÄÈκμ£Ïó¡£
2. ¶ÑÕ»£¨stack£©¡£Î»ÓÚͨÓÃRAMÖУ¬¶ÑÕ»Ö¸ÕëÈôÏòÏÂÒƶ¯£¬Ôò·ÖÅäеÄÄڴ棻ÈôÏòÉÏÒƶ¯£¬ÔòÊÍ·ÅÄÇЩÄÚ´æ¡£ÕâÊÇÒ»ÖÖ¿ìËÙÓÐЧµÄ·ÖÅä´æ´¢·½·¨£¬½ö´ÎÓڼĴæÆ÷¡£´´½¨³ÌÐòʱºò£¬JAVA±àÒëÆ÷±ØÐëÖªµ ......

java¶¯Ì¬´úÀíÓ¦ÓÃÓÚRMI

¶¯Ì¬´úÀíÊÇÖ¸¿Í»§Í¨¹ý´úÀíÀàÀ´µ÷ÓÃÆäËü¶ÔÏóµÄ·½·¨
¶¯Ì¬´úÀíʹÓó¡ºÏ:
•Ô¶³Ì·½·¨µ÷ÓÃ(RMI)
• 
1.´´½¨Ò»¸öʵÏÖ½Ó¿ÚInvocationHandlerµÄÀ࣬Ëü±ØÐëʵÏÖinvoke·½·¨
2.´´½¨±»´úÀíµÄÀàÒÔ¼°½Ó¿Ú
3.ͨ¹ýProxyµÄ¾²Ì¬·½·¨
newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ