JAVA·´Éä»úÖÆ¼°CLASS.FORNAMEµÄ×÷Óü°º¬Òå
Reflection ÊÇJava±»ÊÓΪ¶¯Ì¬£¨»ò×¼¶¯Ì¬£©ÓïÑÔµÄÒ»¸ö¹Ø¼üÐÔÖÊ¡£Õâ¸ö»úÖÆÔÊÐí³ÌÐòÔÚÔËÐÐʱ͸¹ýReflection APIsÈ¡µÃÈκÎÒ»¸öÒÑÖªÃû³ÆµÄclass
µÄÄÚ²¿ÐÅÏ¢£¬°üÀ¨Æämodifiers£¨ÖîÈçpublic, static µÈµÈ£©¡¢superclass£¨ÀýÈçObject£©¡¢ÊµÏÖÖ®interfaces£¨ÀýÈçCloneable£©£¬Ò²°üÀ¨fields
ºÍmethodsµÄËùÓÐÐÅÏ¢£¬²¢¿ÉÓÚÔËÐÐʱ¸Ä±äfieldsÄÚÈÝ»ò»½Æðmethods¡£
JavaΪʲôÄܹ»Ö§³ÖReflection£¿´ð°¸ÊÇJavaÔËÐÐʱÈÔȻӵÓÐÀàÐÍÐÅÏ¢£¬Ëü°üº¬ÁËÕâ¸öÀàÒ»ÇУºËüÓÐÄÄЩ×ֶΡ¢ÄÄЩ·½·¨£¬¸÷ÊǺÎÖÖ±£»¤¼¶±ðµÈµÈ£¬»¹ÓÐÕâ¸öÀàÒÀÀµÓÚÄÄЩÀà¡£ÔÚJavaÖУ¬ÀàÐÅÏ¢ÒÔ¶ÔÏóµÄÐÎʽ´æ·Å£¬ÕâЩ¶ÔÏóÊÇÒ»ÖÖÔª¶ÔÏó£¬ËüÃǵÄÀàÐ;ÍÊÇClass¡£ÓµÓÐÁËÕâЩÐÅÏ¢£¬ÎÞÂÛÊǶ¯Ì¬´´½¨¶ÔÏó»¹Êǵ÷ÓÃijЩ·½·¨¶¼ÊÇÇá¶øÒ׾ٵġ£ÔÚC ÖУ¬Í¨¹ýRTTI£¨ÔËÐÐʱÀàÐÍʶ±ð£©£¬ÎÒÃÇÒ²¿ÉÒÔÖªµÀÀàµÄһЩÐÅÏ¢£¬µ«ÎªÊ²Ã´C ÖÐȴûÓÐReflection£¬ÔÒòÊÇÀàÐÍÐÅÏ¢²»ÍêÕû¡£RTTIÕâ¸öÃû×Ö±¾Éí¾Í¸æËßÎÒÃÇ£¬C µÄÀàÐÍÐÅÏ¢ÊÇÓÃÀ´½øÐÐÀàÐÍʶ±ðµÄ£¬Òò´Ë£¬ËüÒ²²»ÐèÒªÆäËü¶îÍâµÄÐÅÏ¢¡£²¢²»ÊÇC ÎÞ·¨×öµ½ÕâÒ»µã£¬¶øÊÇC ²»Ï£Íû¸øÓû§Ôö¼Ó¶îÍâµÄ¸ºµ£¡£ÓÐËùµÃ£¬±ØÈ»ÓÐËùʧ£¬Òò´Ë£¬C ·ÅÆúÁËÔª¶ÔÏó¡£¹ØÓÚÕâÒ»µã£¬C Ö®¸¸Bjarne StroustrupÔÚËûµÄ¡¶C ÓïÑÔµÄÉè¼ÆÓëÑÝ»¯¡·µÄ14.2.8½ÚÖнøÐÐÁËÉîÈëµÄÌÖÂÛ¡£
“Class”class
ÖÚËùÖÜÖªJavaÓиöObject class£¬ÊÇËùÓÐJava classesµÄ¼Ì³Ð¸ùÔ´£¬ÆäÄÚÉùÃ÷ÁËÊý¸öÓ¦¸ÃÔÚËù
ÓÐJava classÖб»¸ÄдµÄmethods£ºhashCode()¡¢equals()¡¢clone()¡¢toString()¡¢
getClass()µÈ¡£ÆäÖÐgetClass()·µ»ØÒ»¸öClass object¡£
Class classÊ®·ÖÌØÊâ¡£ËüºÍÒ»°ãclassesÒ»Ñù¼Ì³Ð×ÔObject£¬ÆäʵÌåÓÃÒÔ±í´ïJava³ÌÐòÔËÐÐʱ
µÄclassesºÍinterfaces£¬Ò²ÓÃÀ´±í´ïenum¡¢array¡¢primitive Java types
£¨boolean, byte, char, short, int, long, float, double£©ÒÔ¼°¹Ø¼ü´Êvoid¡£µ±Ò»
¸öclass±»¼ÓÔØ£¬»òµ±¼ÓÔØÆ÷£¨class loader£©µÄdefineClass()±»JVMµ÷Óã¬JVM ±ã×Ô¶¯²ú
ÉúÒ»¸öClass object¡£Èç¹ûÄúÏë½èÓÉ“ÐÞ¸ÄJava±ê×¼¿âÔ´Âë”À´¹Û²ìClass objectµÄʵ¼ÊÉú³É
ʱ»ú£¨ÀýÈçÔÚClassµÄconstructorÄÚÌí¼ÓÒ»¸öprintln()£©£¬²»Äܹ»£¡ÒòΪClass²¢Ã»ÓÐ
public constructor£¨¼ûͼ1£©¡£±¾ÎÄ×îºóÎһᲦһС¿éƪ·ù˳´øÌ¸Ì¸Java±ê×¼¿âÔ´ÂëµÄ¸Ä¶¯°ì
·¨¡£
ClassÊÇReflection¹ÊÊÂÆðÔ´¡£Õë¶ÔÈκÎÄúÏë̽¿±µÄclass£¬Î¨ÓÐÏÈΪËü²úÉúÒ»¸öClass
object£¬½ÓÏÂÀ´²ÅÄܾÓɺóÕß»½ÆðΪÊýÊ®¶à¸öµÄReflection APIs¡£ÕâЩ
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
JavaÓëC++×î´óµÄ²»Í¬µÄ£¬JavaÍêÈ«ÊÇÃæÏò¶ÔÏóµÄ£¬ÊÇÓÉÀ๹³ÉµÄ£¬¶øC++ÊÇÓɶÔÏóÓë¹ý³Ì×é³É¡£
1¡¢Â·¾¶£º
Java°üÀ¨Ò»¸ö°üpackage,C++ûÓУ»
2¡¢ÒýÈëÀà
java import.*.*; C++ include ""';
3¡¢Ô¤¶¨Ò壬
C++°üÀ¨Ô¤¶¨Ò壬Java²»°üÀ¨
4¡¢½á¹¹
C++°üÀ¨½á¹¹£¬JavaÖ»°üÀ¨À࣬½á¹¹Ìå¿ÉÒÔת»¯ÎªÀà¡£
5¡¢ÀàÃûÓëÎļþÃû
Jav ......
Ò»¡¢Ê×ÏÈÀ´¿´Ò»ÏÂhttpµÄ±¨ÎĽṹ
1¡¢ÇëÇó±¨ÎÄ
Ò»¸öHTTPÇëÇó±¨ÎÄÓÉÇëÇóÐУ¨request line£©¡¢ÇëÇóÍ·²¿£¨header£©¡¢¿ÕÐкÍÇëÇóÊý¾Ý4¸ö²¿·Ö×é³É£¬ÏÂͼ¸ø³öÁËÇëÇó±¨ÎĵÄÒ»°ã¸ñʽ¡£
(1)ÇëÇóÐÐ
ÇëÇóÐÐÓÉÇëÇó·½·¨×ֶΡ¢URL×ֶκÍHTTPÐÒé°æ±¾×Ö¶Î3¸ö×Ö¶Î×é³É£¬ËüÃÇÓÿոñ·Ö¸ô¡£ÀýÈ磬GET /index.html HTTP/1.1¡£
HTTPÐÒéµÄÇëÇ ......
Ò» Ïà¶Ô·¾¶µÄ»ñµÃ
˵Ã÷:Ïà¶Ô·¾¶(¼´²»Ð´Ã÷ʱºòµ½µ×Ïà¶ÔË)¾ù¿Éͨ¹ýÒÔÏ·½Ê½»ñµÃ£¨²»ÂÛÊÇÒ»°ãµÄjavaÏîÄ¿»¹ÊÇwebÏîÄ¿£©
String relativelyPath=System.getProperty("user.dir");
ÉÏÊöÏà¶Ô·¾¶ÖУ¬javaÏîÄ¿ÖÐµÄ ......
Devoxx ´ó»á½áÊøÔÚ¼¸Ììǰ½áÊøÁË£¬Ò»Î»Óë»áÕ߶Դ˴δó»áµÄÖØÒªÄÚÈݽøÐÐÁË×ܽᣬËûÌáµ½Java 7µÄÖ÷Òª±ä»¯ÈçÏ£º
¡¡¡¡1.¶ÔcollectionsµÄÖ§³Ö
¡¡¡¡Java´úÂë
List<String> list = new ArrayList<String>();
list.add("item");
String item = list.get(0);
......