Java ±à³ÌµÄ¶¯Ì¬ÐÔ£¬µÚ 7 ²¿·Ö: Óà BCEL Éè¼Æ×Ö½ÚÂë
Apache Byte Code Engineering Library (BCEL)¿ÉÒÔÉîÈë Java
ÀàµÄ×Ö½ÚÂë¡£¿ÉÒÔÓÃËüת»»ÏÖÓеÄÀà±íʾ»òÕß¹¹½¨ÐµÄÀ࣬ÒòΪ BCEL ÔÚµ¥¶ÀµÄ JVM
Ö¸Áî¼¶±ðÉϽøÐвÙ×÷£¬ËùÒÔ¿ÉÒÔÈÃÄú¶Ô´úÂëÓÐ×îÇ¿´óµÄ¿ØÖÆ¡£²»¹ý£¬ÕâÖÖÄÜÁ¦µÄ´ú¼ÛÊǸ´ÔÓÐÔ¡£ÔÚ±¾ÎÄÖУ¬Java ¹ËÎÊ Dennis Sosnoski
½éÉÜÁË BCEL µÄ»ù±¾ÄÚÈÝ£¬²¢Òýµ¼¶ÁÕßÍê³ÉÒ»¸öʾÀý BCEL Ó¦ÓóÌÐò£¬ÕâÑùÄú¾Í¿ÉÒÔ×Ô¼º¾ö¶¨ÊÇ·ñÖµµÃÒÔÕâÖÖ¸´ÔÓÐÔÀ´»»È¡ÕâÖÖÄÜÁ¦¡£
ÔÚ±¾ÏµÁеÄ×îºóÈýƪÎÄÕÂÖÐ,ÎÒչʾÁËÈçºÎÓà Javassist ¿ò¼Ü²Ù×÷Àà¡£Õâ´ÎÎÒ½«ÓÃÒ»Öֺܲ»Í¬µÄ·½·¨²Ù×Ý×Ö½ÚÂ뗗ʹÓà Apache Byte
Code Engineering Library (BCEL)¡£Óë Javassist ËùÖ§³ÖµÄÔ´´úÂë½Ó¿Ú²»Í¬£¬BCEL ÔÚʵ¼ÊµÄ JVM
Ö¸Áî²ã´ÎÉϽøÐвÙ×÷¡£ÔÚÏ£Íû¶Ô³ÌÐòÖ´ÐеÄÿһ²½½øÐпØÖÆÊ±£¬µ×²ã·½·¨Ê¹ BCEL ºÜÓÐÓ㬵«Êǵ±Á½Õß¶¼¿ÉÒÔʤÈÎʱ£¬ËüҲʹ BCEL µÄʹÓñÈ
Javassist Òª¸´Ôӵöࡣ
ÎÒ½«Ê×ÏÈÌÖÂÛ BCEL »ù±¾Ìåϵ½á¹¹£¬È»ºó±¾ÎĵĴ󲿷ÖÄÚÈݽ«ÌÖÂÛÓà BCEL ÖØÐ¹¹½¨ÎҵĵÚÒ»¸ö Javassist Àà²Ù×÷µÄÀý×Ó¡£×îºó¼òÒª½éÉÜ
BCEL °üÖÐÌṩµÄһЩ¹¤¾ßºÍ¿ª·¢ÈËÔ±Óà BCEL ¹¹½¨µÄһЩӦÓóÌÐò¡£
BCEL Àà·ÃÎÊ
BCEL ʹÄúÄܹ»Í¬Ñù¾ß±¸ Javassist ÌṩµÄ·ÖÎö¡¢±à¼ºÍ´´½¨ Java ¶þ½øÖÆÀàµÄËùÓлù±¾ÄÜÁ¦¡£BCEL µÄÒ»¸öÃ÷ÏÔÇø±ðÊÇÿÏîÄÚÈݶ¼Éè¼ÆÎªÔÚ
JVM »ã±àÓïÑԵļ¶±ð¡¢¶ø²»ÊÇ Javassist ËùÌṩµÄÔ´´úÂë½Ó¿ÚÉϹ¤×÷¡£³ýÁ˱íÃæÉϵIJî±ð£¬»¹ÓÐһЩ¸üÉî²ãµÄÇø±ð£¬°üÀ¨ÔÚ BCEL ÖÐ×é¼þµÄÁ½¸ö²»Í¬²ã´Î½á¹¹µÄʹÓ×—Ò»¸öÓÃÓÚ¼ì²éÏÖÓеĴúÂ룬ÁíÒ»¸öÓÃÓÚ´´½¨Ð´úÂë¡£ÎÒ¼Ù¶¨¶ÁÕßÒѾͨ¹ý±¾ÏµÁÐÇ°ÃæµÄÎÄÕÂÊìϤÁË
Javassist£¨Çë²ÎÔIJàÀ¸
²»Òª´í¹ý±¾ÏµÁÐµÄÆäÓಿ·Ö
£©¡£
Òò´ËÎÒ½«Ö÷Òª½éÉÜÔÚ¿ªÊ¼Ê¹Óà BCEL ʱ£¬¿ÉÄÜ»áÈÃÄú¸Ðµ½ÃÔ»óµÄÄÇЩ²»Í¬Ö®´¦¡£
Óë Javassist Ò»Ñù£¬ BCEL ÔÚÀà·ÖÎö·½ÃæµÄ¹¦ÄÜ»ù±¾ÉÏÓë Java ƽ̨ͨ¹ý Relfection API Ö±½ÓÌṩµÄ¹¦ÄÜÊÇÖØ¸´µÄ¡£ÕâÖÖÖØ¸´¶ÔÓÚÀà²Ù×÷¹¤¾ßÏäÀ´ËµÊDZØÒªµÄ£¬ÒòΪһ°ã²»Ï£ÍûÔÚËùÒª²Ù×÷µÄÀà±»ÐÞ¸Ä
֮ǰ
¾Í×°ÔØËüÃÇ¡£
²»Òª´í¹ý±¾ÏµÁÐµÄÆäÓಿ·Ö
µÚ 1 ²¿·Ö£º “
ÀàºÍÀà×°Èë
”£¨2003
Äê 4 Ô£©
µÚ 2 ²¿·Ö£¬“
ÒýÈë·´Éä
”
£¨2003 Äê 6 Ô£©
µÚ 3 ²¿·Ö£¬“
Ó¦Ó÷´Éä
”
£¨2003 Äê 7 Ô£©
µÚ 4 ²¿·Ö£¬ “
ÓÃ
Javassist ½øÐÐÀàת»»
&rdquo
Ïà¹ØÎĵµ£º
¹þ¹þ,½ñÌìûÊÂ×ö,µ«ÐÄÇé²»´í,ËùÒÔдÕâÆªÎÄÕÂ.
Àà×°ÔØÆ÷ÊÇJava³ÌÐòÔËÐÐʱ²»¿ÉȱÉÙµÄÒ»²¿·Ö,ËüµÄÈÎÎñÊǰÑÓÉJavaÔ´³ÌÐò±àÒë³ÉµÄclassÎļþ¶ÁÈëµ½ÄÚ´æÖÐ,È·ÇеÄ˵ÊÇ×°Èëµ½JVMµÄÄÚ´æÖÐ,ӦΪJVMÊÇһ̨³éÏóµÄ¼ÆËã»ú,ËüÓÐ×Å×Ô¼ºµÄCPU,ÄÚ´æµÈ. ÔÚclassÎļþÖаüº¬ÁËÒ»¸öÀàµÄ¸÷ÖÖÐÅÏ¢,µ±Ö´ÐÐjava XXXÃü ......
Socket´«Êäģʽ
SocketsÓÐÁ½ÖÖÖ÷ÒªµÄ²Ù×÷·½Ê½:ÃæÏòÁ¬½ÓµÄºÍÎÞÁ¬½ÓµÄ.ÃæÏòÁ¬½ÓµÄsockets²Ù×÷¾ÍÏñÒ»²¿µç»°,ËûÃDZØÐ뽨Á¢Ò»¸öÁ¬½ÓºÍÒ»È˺ô½Ð.ËùÓеÄÊÂÇéÔÚµ½´ïʱµÄ˳ÐòºÍËûÃdzö·¢Ê±µÄ˳ÐòʱÏàͬ.ÎÞÁ¬½ÓµÄsockets²Ù×÷¾ÍÏñÊǸöÓʼþͶµÝ,,ûÓÐʲôȷ±£,¶à¸öÓʼþ¿ÉÄÜÔÚµ½´ïʱµÄ˳ÐòºÍ³ö·¢Ê±µÄ˳Ðò²»Ïàͬ.
µ½µ×ÓÃÄÄÖÖģʽÊÇÓÊÓ¦ ......
ÏîÄ¿ÖÐÐèÒªºÍµÚÈý·½Æ½Ì¨½Ó¿Ú£¬¼ÓÁËÀ´Ô´IP¼øÈ¨¹¦ÄÜ£¬²âÊÔʱ·¢ÏÖûÓÐÎÊÌ⣬µ«ÊDz¿ÊðÒÔºó·¢ÏÖ´æÔÚÎÊÌ⣬һֱ¼øÈ¨²»Í¨¹ý£¬Ò»ÈºÈËץϹ¡£
ÎÒÕÒµ½ÄÇ¿éµÄ´úÂ룬¸úÁËÒ»±éÁ÷³Ì·¢ÏÖÂ߼ûÓÐɶÎÊÌ⣬µ«ÊÇ×îÖյĽá¹ûÈ´»¹ÊǼøÈ¨²»Í¨¹ý£¬ÊµÔÚÓÐЩ¹îÒì¡£Æä»ù±¾Â߼ΪÏÈÈ¡µÃÅäÖõÄIPÁÐ±í£¬È»ºóͨ¹ýrequest.getRemoteAddr()È¡µÃ¿Í»§¶ËµÄIPµ ......
ÕâÒ»ÓÐ¹Ø Java ±à³Ì¶¯Ì¬·½ÃæµÄеÄϵÁÐÎÄÕÂÑо¿ÁËÖ´ÐÐ Java Ó¦ÓóÌÐòʱĻºóËù·¢ÉúµÄÊÂÇé¡£ÆóÒµ Javaר¼Ò
Dennis Sosnoski ÌṩÁË Java ¶þ½øÖÆÀà¸ñʽÒÔ¼°ÔÚ JVM
ÄÚ²¿ÀàËù·¢ÉúµÄÇé¿öµÄÄÚÄ»¡£½Ó×Å£¬Ëû½«ÌÖÂÛÀà×°ÈëÎÊÌ⣬Æä·¶Î§Éæ¼°´ÓÔËÐмòµ¥µÄ Java Ó¦ÓóÌÐòËùÐèµÄÀàµÄÊýÁ¿µ½¿ÉÄÜÔì³É J2EE
¼°ÀàËÆµÄ¸´ÔÓÌåϵ½á¹¹³öÏÖÎÊÌâµÄ ......
´Ó±¾ÏµÁÐÇ°ÃæµÄÎÄÕÂÖУ¬ÄúÁ˽⵽·´ÉäµÄÐÔÄܱÈÖ±½Ó·ÃÎÊÒªÂýÐí¶à±¶£¬²¢Á˽âÁËÓà Javassist ºÍ Apache
Byte Code Engineering Library £¨BCEL£©½øÐÐclassworking¡£Java ¹ËÎÊ Dennis
Sosnoski ͨ¹ýÑÝʾÈçºÎʹÓÃÔËÐÐʱ classworking£¬À´ÓÃÈ«ËÙǰ½øµÄÉú³É´úÂëÈ¡´ú·´Éä´úÂ룬´Ó¶ø½áÊøËûµÄ Java ±à³ÌµÄ¶¯Ì¬ÐÔ
ϵÁС£
¼ÈÈ»ÄúÒѾ ......