ÉîÈëÀí½âjava·´Éä
Ò»¡¢Ê²Ã´ÊÇ·´É䣺
·´ÉäµÄ¸ÅÄîÊÇÓÉSmithÔÚ1982ÄêÊ×´ÎÌá³öµÄ£¬Ö÷ÒªÊÇÖ¸³ÌÐò¿ÉÒÔ·ÃÎÊ¡¢¼ì²âºÍÐÞ¸ÄËü±¾Éí״̬»òÐÐΪµÄÒ»ÖÖÄÜÁ¦¡£ÕâÒ»¸ÅÄîµÄÌá³öºÜ¿ìÒý·¢Á˼ÆËã»ú¿ÆÑ§ÁìÓò¹ØÓÚÓ¦Ó÷´ÉäÐÔµÄÑо¿¡£ËüÊ×Ïȱ»³ÌÐòÓïÑÔµÄÉè¼ÆÁìÓòËù²ÉÓÃ,²¢ÔÚLispºÍÃæÏò¶ÔÏó·½ÃæÈ¡µÃÁ˳ɼ¨¡£ÆäÖÐLEAD/LEAD++ ¡¢OpenC++ ¡¢MetaXaºÍOpenJavaµÈ¾ÍÊÇ»ùÓÚ·´Éä»úÖÆµÄÓïÑÔ¡£×î½ü£¬·´Éä»úÖÆÒ²±»Ó¦Óõ½ÁËÊÓ´°ÏµÍ³¡¢²Ù×÷ϵͳºÍÎļþϵͳÖС£
·´Éä±¾Éí²¢²»ÊÇÒ»¸öиÅÄ¾¡¹Ü¼ÆËã»ú¿ÆÑ§¸³ÓèÁË·´Éä¸ÅÄîеĺ¬Òå¡£ÔÚ¼ÆËã»ú¿ÆÑ§ÁìÓò£¬·´ÉäÊÇÖ¸Ò»ÀàÓ¦Óã¬ËüÃÇÄܹ»×ÔÃèÊöºÍ×Ô¿ØÖÆ¡£Ò²¾ÍÊÇ˵£¬ÕâÀàÓ¦ÓÃͨ¹ý²ÉÓÃijÖÖ»úÖÆÀ´ÊµÏÖ¶Ô×Ô¼ºÐÐΪµÄÃèÊö£¨self-representation£©ºÍ¼à²â£¨examination£©£¬²¢Äܸù¾Ý×ÔÉíÐÐΪµÄ״̬ºÍ½á¹û£¬µ÷Õû»òÐÞ¸ÄÓ¦ÓÃËùÃèÊöÐÐΪµÄ״̬ºÍÏà¹ØµÄÓïÒå¡£
¶þ¡¢Ê²Ã´ÊÇJavaÖеÄÀà·´É䣺
Reflection ÊÇ Java ³ÌÐò¿ª·¢ÓïÑÔµÄÌØÕ÷Ö®Ò»£¬ËüÔÊÐíÔËÐÐÖÐµÄ Java ³ÌÐò¶Ô×ÔÉí½øÐмì²é£¬»òÕß˵“×ÔÉ󔣬²¢ÄÜÖ±½Ó²Ù×÷³ÌÐòµÄÄÚ²¿ÊôÐԺͷ½·¨¡£Java µÄÕâÒ»ÄÜÁ¦ÔÚʵ¼ÊÓ¦ÓÃÖÐÓõò»ÊǺܶ࣬µ«ÊÇÔÚÆäËüµÄ³ÌÐòÉè¼ÆÓïÑÔÖиù±¾¾Í²»´æÔÚÕâÒ»ÌØÐÔ¡£ÀýÈ磬Pascal¡¢C »òÕß C++ ÖоÍûÓа취ÔÚ³ÌÐòÖлñµÃº¯Êý¶¨ÒåÏà¹ØµÄÐÅÏ¢¡£
Reflection ÊÇ Java ±»ÊÓΪ¶¯Ì¬£¨»ò×¼¶¯Ì¬£©ÓïÑԵĹؼü£¬ÔÊÐí³ÌÐòÓÚÖ´ÐÐÆÚ Reflection APIs È¡µÃÈκÎÒÑÖªÃû³ÆÖ® class µÄ內²¿ÐÅÏ¢£¬°üÀ¨ package¡¢type parameters¡¢superclass¡¢implemented interfaces¡¢inner classes, outer class, fields¡¢constructors¡¢methods¡¢modifiers£¬並¿ÉÓÚÖ´ÐÐÆÚÉú³Éinstances¡¢±ä¸ü fields 內ÈÝ»ò»½Æð methods¡£
Èý¡¢JavaÀà·´ÉäÖÐËù±ØÐëµÄÀࣺ
JavaµÄÀà·´ÉäËùÐèÒªµÄÀಢ²»¶à£¬ËüÃÇ·Ö±ðÊÇ£ºField¡¢Constructor¡¢Method¡¢Class¡¢Object£¬ÏÂÃæÎÒ½«¶ÔÕâЩÀà×öÒ»¸ö¼òµ¥µÄ˵Ã÷¡£
FieldÀࣺÌṩÓйØÀà»ò½Ó¿ÚµÄÊôÐÔµÄÐÅÏ¢£¬ÒÔ¼°¶ÔËüµÄ¶¯Ì¬·ÃÎÊȨÏÞ¡£·´ÉäµÄ×ֶοÉÄÜÊÇÒ»¸öÀࣨ¾²Ì¬£©ÊôÐÔ»òʵÀýÊôÐÔ£¬¼òµ¥µÄÀí½â¿ÉÒÔ°ÑËü¿´³ÉÒ»¸ö·â×°·´ÉäÀàµÄÊôÐÔµÄÀà¡£
ConstructorÀࣺÌṩ¹ØÓÚÀàµÄµ¥¸ö¹¹Ôì·½·¨µÄÐÅÏ¢ÒÔ¼°¶ÔËüµÄ·ÃÎÊȨÏÞ¡£Õâ¸öÀàºÍFieldÀ಻ͬ£¬FieldÀà·â×°ÁË·´ÉäÀàµÄÊôÐÔ£¬¶øConstructorÀàÔò·â×°ÁË·´ÉäÀàµÄ¹¹Ôì·½·¨¡£
MethodÀࣺÌṩ¹ØÓÚÀà»ò½Ó¿ÚÉϵ¥¶Àij¸ö·½·¨µÄÐÅÏ¢
Ïà¹ØÎĵµ£º
ÒÔǰһƪµÄDLLΪÀý²ûÊöJavaÈçºÎµ÷Óö¯Ì¬¿â
Ŀǰ´æÔÚÒ»¸öVC±àÒëµÄ·ÇMFC¶¯Ì¬¿âDLL£¨¾ßÌåÈçºÎÉú³É·ÇMFC¶¯Ì¬¿âDLL¼ûǰһƪÎÄÕ£©£¬Ãû³ÆÎªmydll.dll£¬ÆäÖÐÓе¼³öº¯Êýmyadd£ºÐÎÈ磺int myadd(int,int)£¬ÏÖjavaÓ¦ÓóÌÐòÐèÒªµ÷Óøö¯Ì¬¿âµÄmyaddº¯Êý¡£¾ßÌåʵÏÖ²½ÖèÈçÏ£º
1¡¢±àдµ÷ÓÃmydll.dllµÄjava³ÌÐò
£¨1£©³ÌÐòtestMyDll .ja ......
ÔÚ֮ǰµÄһƪÎÄÕÂÖУ¬ÎÒ½éÉÜÁËÈçºÎʹÓÃAIR2.0ÐÂÔöµÄNativeProcessÀàÓë±¾µØ½ø³Ì½øÐн»»¥ºÍͨѶ£¬ÔÚÄǸöÀý×ÓÀïÃæÎÒÃÇʹÓÃÁËC++
µÄ´úÂ룬ʵ¼ÊÉÏÖ»ÒªÊÇ»ùÓÚÃüÁîÐеıê×¼ÊäÈëÊä³ö£¬AIR2.0µÄÓ¦ÓÃÊÇ¿ÉÒÔºÍÈκÎÓïÑÔ±àдµÄ±¾µØ½ø³Ì½øÐн»»¥µÄ¡£ÔÚ½ñÌìµÄÀý×ÓÖУ¬ÎÒÃǽ«Ñ§Ï°ÈçºÎºÍ
Java±àдµÄ±¾µØ½ø³Ì£¨.jarÎļþ£©½øÐн»»¥¡£
ÉÏһƪ ......
ÔÚjavaµÄ¶àÏß³Ìͬ²½»¥³â´¦ÀíÖÐ,synchronizedÊDZ𲻿ÉÉٵĶ«Î÷.
µ«ÊÇÈç¹û²»ÇåÎúµÄ±à³ÌµÄ»°,Ò²¾ÍÊÇÂÒÓÃsynchronizedµÄ»°,ËÀËøµÄ·¢Éú¾ÍÊÇÀëÄãºÜ½üµÄ»°ÌâÁË.
ÔÚÇ°ÃæµÄÒ»¸öά»¤Öоͷ¢ÏÖÒ»¸öËÀËøµÄbug.¾¿ÆäÔÒòÊÇ¿ª·¢ÕßûÓÐÕæÕýÃ÷°×¶àÏ̵߳Äͬ²½»¥³â,ûÓÐÒâʶµ½ËÀËøµÄ·¢Éú,»òÕß˵×Ô¼ºÈÏΪдµÄ´úÂë²»»á·¢ÉúËÀËø.
ËÀËøµÄ·¢ÉúÒ»°ã ......
×òÌìÖ»ÊÇ×ܽáÁËÓ³ÉäµÄ¶à¶ÔÒ»µÄ¹ØÏµ£¬ÒÔ¼°ÆäÖÐÒ»µã֪ʶҪµã¡£½ñÌìhibernateµÄ¿Î³Ì¾Í½áÊøÁË£¬½ñÌìµÄ¿Î£¬ÌýÊÇÌý¶®ÁË£¬µ«ÊÇ´ó¼Ò¶¼ÖªÊ¶£¬Ð´³ÌÐò²»ÊÇÖ»ÊÇÄÜÌý¶®¾ÍÐÐÁË£¬¸ü¶àµÄÊÇÐèÒªÔÚʵսÖÐÎüÈ¡¾Ñ飬ÓкöàºÃ¶àµÄÎÊÌâ²»ÊÇÀÏʦÔÚ¿ÎÌÃÉÏÄÜ´«ÊÚµÃÍêµÄ£¬¸ü¶àµÄÊÇҪȥʵս£¬Ò»ÐÐÒ»ÐеĴúÂë¶¼Òª×Ô¼ºÈ¥Ç㬴íÎóÓöµ½ÁË£¬Òª×Ô¼ºÒ»ÐÄÒ»Ò ......
ÈýµÀJAVA»ù´¡Ìâ
ÌâÄ¿(1)
class A {
public int i = 10;
}
class B extends A{
public int i = 20;
}
public class Test{
public static void main(String&nbs ......