Java AnnotationʹÓôóÈ« (ZT)
Ò»¡¢Annotation¾¿¾¹ÊÇʲô£¿
Annotation ÌṩÁËÒ»ÌõÓë³ÌÐòÔªËØ¹ØÁªÈκÎÐÅÏ¢»òÕßÈκÎÔªÊý¾Ý£¨metadata£©µÄ;¾¶¡£´ÓijЩ·½Ãæ¿´£¬annotation¾ÍÏñÐÞÊηûÒ»Ñù±»Ê¹Ó㬲¢Ó¦ÓÃÓÚ°ü¡¢ÀàÐÍ¡¢¹¹Ôì·½·¨¡¢·½·¨¡¢³ÉÔ±±äÁ¿¡¢²ÎÊý¡¢±¾µØ±äÁ¿µÄÉùÃ÷ÖС£ÕâЩÐÅÏ¢±»´æ´¢ÔÚannotationµÄ“name=value”½á¹¹¶ÔÖС£ annotationÀàÐÍÊÇÒ»ÖÖ½Ó¿Ú£¬Äܹ»Í¨¹ýjava·´ÉäAPIµÄ·½Ê½Ìṩ¶ÔÆäÐÅÏ¢µÄ·ÃÎÊ¡£
annotationÄܱ»ÓÃÀ´ÎªÄ³¸ö³ÌÐòÔªËØ£¨Àà¡¢·½·¨¡¢³ÉÔ±±äÁ¿µÈ£©¹ØÁªÈκεÄÐÅÏ¢¡£ÐèҪעÒâµÄÊÇ£¬ÕâÀï´æÔÚ×ÅÒ»¸ö»ù±¾µÄDZ¹æÔò£ºannotaion²»ÄÜÓ°Ïì³ÌÐò´úÂëµÄÖ´ÐУ¬ÎÞÂÛÔö¼Ó¡¢É¾³ý annotation£¬´úÂ붼ʼÖÕÈçÒ»µÄÖ´ÐС£ÁíÍ⣬¾¡¹ÜһЩannotationͨ¹ýjavaµÄ·´Éäapi·½·¨ÔÚÔËÐÐʱ±»·ÃÎÊ£¬¶øjavaÓïÑÔ½âÊÍÆ÷ÔÚ¹¤×÷ʱºöÂÔÁËÕâЩannotation¡£ÕýÊÇÓÉÓÚjavaÐéÄâ»úºöÂÔÁËannotation£¬µ¼ÖÂÁËannotationÀàÐÍÔÚ´úÂëÖÐÊÇ“²»Æð×÷ÓԵģ»Ö»ÓÐͨ¹ýijÖÖÅäÌ׵Ť¾ß²Å»á¶ÔannotationÀàÐÍÖеÄÐÅÏ¢½øÐзÃÎʺʹ¦Àí¡£±¾ÎÄÖн«º¸Ç±ê×¼µÄannotationºÍmeta- annotationÀàÐÍ£¬Åã°éÕâЩannotationÀàÐ͵Ť¾ßÊÇjava±àÒëÆ÷£¨µ±È»ÒªÒÔijÖÖÌØÊâµÄ·½Ê½´¦ÀíËüÃÇ£©¡£
ÓÉÓÚÉÏÊöÔÒò£¬annotationÔÚʹÓÃʱʮ·Ö¼ò±ã¡£Ò»¸ö±¾µØ±äÁ¿¿ÉÒÔ±»Ò»¸öÒÔNonNullÃüÃûµÄannotationÀàÐÍËù±ê×¢£¬À´×÷Ϊ¶ÔÕâ¸ö±¾µØ±äÁ¿²»Äܱ»¸³ÓènullÖµµÄ¶ÏÑÔ¡£¶øÎÒÃÇ¿ÉÒÔ±àдÓëÖ®ÅäÌ×µÄÒ»¸öannotation´úÂë·ÖÎö¹¤¾ß£¬Ê¹ÓÃËüÀ´¶Ô¾ßÓÐÇ°Ãæ±äÁ¿µÄ´úÂë½øÐнâÎö£¬²¢ÇÒ³¢ÊÔÑéÖ¤Õâ¸ö¶ÏÑÔ¡£µ±È»ÕâЩ´úÂë²¢²»±Ø×Ô¼º±àд¡£ÔÚJDK°²×°ºó£¬ÔÚJDK/binĿ¼ÖпÉÒÔÕÒµ½ÃûΪ“apt”µÄ¹¤¾ß£¬ËüÌṩÁË´¦ÀíannotationµÄ¿ò¼Ü£ºËüÆô¶¯ºóɨÃèÔ´´úÂëÖеÄannotation£¬²¢µ÷ÓÃÎÒÃǶ¨ÒåºÃµÄannotation´¦ÀíÆ÷Íê³ÉÎÒÃÇËùÒªÍê³ÉµÄ¹¤×÷£¨±ÈÈçÑéÖ¤Ç°ÃæÀý×ÓÖеĶÏÑÔ£©¡£Ëµµ½ÕâÀ annotationµÄÇ¿´ó¹¦ÄÜËÆºõ¿ÉÒÔÌæ´úXDocletÕâÀàµÄ¹¤¾ßÁË£¬Ëæ×ÅÎÒÃǵÄÉîÈ룬´ó¼Ò»á¸ü¼Ó¼áÐÅÕâÒ»µã¡£
×¢£ºÏêϸÃèÊöÇë²Î¿´jsr250¹æ·¶£º
http://www.jcp.org/aboutJava/communityprocess/pfd/jsr250/
¶þ¡¢AnnotationµÄ¶¨Ò壺
Õâ¶ÎÎÄ×Ö¿ªÊ¼½éÉÜannotationÏà¹Ø¼¼Êõ¡£ÔÚ´Ë´ó¼Ò½«¿´µ½java5.0µÄ±ê×¼annotationÀàÐÍ£¬ÕâÖÖ±ê×¼ÀàÐ;ÍÊÇǰÎÄÖÐËù˵µÄ“ÄÚ½¨”ÀàÐÍ£¬ËüÃÇ¿ÉÒÔÖ±½Ó±»javacÖ§³Ö¡£¿ÉϲµÄÊÇ£¬ÔÚjava6.0beta°æÖеÄjavacÒѾ¼ÓÈëÁ˶Ô×Ô¶¨ÒåannotationµÄÖ§³Ö¡£
1¡£AnnotationµÄ¸ÅÄîºÍÓï·¨£º
Ïà¹ØÎĵµ£º
ͨ¹ýjavaµÄ·´Éä»úÖÆ£¬¶¯Ì¬µ÷ÓÃij¸ö·½·¨£º
ÈçÏ£º
public Object invokeMethod(String className, String methodName,
Object[] args) throws Exception{
Class ownerClass = Class.forName(className);
Object owner = ownerClass.newInstance();
Class[] argsClass = new Class[args.length ......
long startTime=System.currentTimeMillis(); //»ñÈ¡¿ªÊ¼Ê±¼ä
doSomeThing(); //²âÊԵĴúÂë¶Î
long endTime=System.currentTimeMillis(); //»ñÈ¡½áÊøÊ±¼ä
System.out.println("³ÌÐòÔËÐÐʱ¼ä£º "+(end-start)+"ms"); ......
±àÕß°´£ºJavaÄÚ´æÐ¹Â©ÊÇÿ¸öJava³ÌÐòÔ±¶¼»áÓöµ½µÄÎÊÌ⣬³ÌÐòÔÚ±¾µØÔËÐÐÒ»ÇÐÕý³££¬¿ÉÊDz¼Êðµ½Ô¶¶Ë¾Í»á³öÏÖÄÚ´æÎÞÏÞÖÆµÄÔö³¤£¬×îºóϵͳ̱»¾£¬ÄÇôÈç
ºÎ×î¿ì×îºÃµÄ¼ì²â³ÌÐòµÄÎȶ¨ÐÔ£¬·Àֹϵͳ±ÀÅÌ£¬×÷ÕßÓÃ×ÔÒѵÄÇ×Éí¾ÀúÓë¸÷Î»ÍøÓÑ·ÖÏí½â¾öÕâЩÎÊÌâµÄ°ì·¨¡£
×÷ΪInternet×îÁ÷Ðеı ......
Java 6 RowSet ʹÓÃÍêÈ«ÆÊÎö
C# ÌṩÁË DataSet£¬¿ÉÒÔ½«Êý¾ÝÔ´ÖеÄÊý¾Ý¶ÁÈ¡µ½ÄÚ´æÖУ¬½øÐÐÀëÏß²Ù×÷£¬È»ºóÔÙͬ²½µ½Êý¾ÝÔ´¡£Í¬Ñù£¬ÔÚ Java ÖÐÒ²ÌṩÁËÀàËÆµÄʵÏÖ£¬¼´ RowSet¡£javax.sql.rowset °üÏ£¬¶¨ÒåÁËÎå¸ö²»Í¬µÄ RowSet ½Ó¿Ú£¬¹©²»Í¬µÄ³¡ºÏʹÓᣱ¾ÎĽ«·Ö±ð¶ÔÕâÎå¸ö RowSet µÄʹÓó¡ºÏÒÔ¼°Ï꾡Ó÷¨½øÐнéÉÜ£¬²¢ÇÒÃèÊöÊ ......