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

Java CGLIB

Java Cglib
1.CGLIB°üµÄ½éÉÜ
     ´úÀíΪ¿ØÖÆÒª·ÃÎʵÄÄ¿±ê¶ÔÏóÌṩÁËÒ»ÖÖ;¾¶¡£µ±·ÃÎʶÔÏóʱ£¬ËüÒýÈëÁËÒ»¸ö¼ä½ÓµÄ²ã¡£JDK×Ô´Ó1.3°æ±¾¿ªÊ¼£¬¾ÍÒýÈëÁ˶¯Ì¬´úÀí£¬²¢ÇÒ¾­³£±»ÓÃÀ´¶¯Ì¬µØ´´½¨´úÀí¡£JDKµÄ¶¯Ì¬´úÀíÓÃÆðÀ´·Ç³£¼òµ¥£¬µ±ËüÓÐÒ»¸öÏÞÖÆ£¬¾ÍÊÇʹÓö¯Ì¬´úÀíµÄ¶ÔÏó±ØÐëʵÏÖÒ»¸ö»ò¶à¸ö½Ó¿Ú¡£Èç¹ûÏë´úÀíûÓÐʵÏֽӿڵļ̳еÄÀ࣬¸ÃÔõô°ì£¿ÏÖÔÚÎÒÃÇ¿ÉÒÔʹÓÃCGLIB°ü
     CGLIBÊÇÒ»¸öÇ¿´óµÄ¸ßÐÔÄܵĴúÂëÉú³É°ü¡£Ëü¹ã·ºµÄ±»Ðí¶àAOPµÄ¿ò¼ÜʹÓã¬ÀýÈçSpring AOPºÍdynaop£¬ÎªËûÃÇÌṩ·½·¨µÄinterception£¨À¹½Ø£©¡£×îÁ÷ÐеÄOR Mapping¹¤¾ßhibernateҲʹÓÃCGLIBÀ´´úÀíµ¥¶Ësingle-ended(¶à¶ÔÒ»ºÍÒ»¶ÔÒ»)¹ØÁª£¨¶Ô¼¯ºÏµÄÑÓ³Ùץȡ£¬ÊDzÉÓÃÆäËû»úÖÆÊµÏֵģ©¡£EasyMockºÍjMockÊÇͨ¹ýʹÓÃÄ£·Â£¨moke£©¶ÔÏóÀ´²âÊÔjava´úÂëµÄ°ü¡£ËüÃǶ¼Í¨¹ýʹÓÃCGLIBÀ´ÎªÄÇЩûÓнӿڵÄÀà´´½¨Ä£·Â£¨moke£©¶ÔÏó¡£
     CGLIB°üµÄµ×²ãÊÇͨ¹ýʹÓÃÒ»¸öС¶ø¿ìµÄ×Ö½ÚÂë´¦Àí¿ò¼ÜASM£¬À´×ª»»×Ö½ÚÂë²¢Éú³ÉеÄÀà¡£³ýÁËCGLIB°ü£¬½Å±¾ÓïÑÔÀýÈç GroovyºÍBeanShell£¬Ò²ÊÇʹÓÃASMÀ´Éú³ÉjavaµÄ×Ö½ÚÂë¡£µ±²»¹ÄÀøÖ±½ÓʹÓÃASM£¬ÒòΪËüÒªÇóÄã±ØÐë¶ÔJVMÄÚ²¿½á¹¹°üÀ¨classÎļþµÄ¸ñʽºÍÖ¸Á¶¼ºÜÊìϤ¡£
Figure 1: CGLIB Library and ASM Bytecode Framework
ͼһÏÔʾÁ˺ÍCGLIB°üºÍһЩ¿ò¼ÜºÍÓïÑԵĹØÏµÍ¼¡£ÐèҪעÒâµÄÊÇһЩ¿ò¼ÜÀýÈçSpring AOPºÍHibernate£¬ËüÃÇΪÁËÂú×ãÐèÒª¾­³£Í¬Ê±Ê¹ÓÃJDKµÄ¶¯Ì¬´úÀíºÍCGLIB°ü¡£HiberaterʹÓÃJDKµÄ¶¯Ì¬´úÀíʵÏÖÒ»¸öרÃÅΪ WebShereÓ¦Ó÷þÎñÆ÷µÄÊÂÎñ¹ÜÀíÊÊÅäÆ÷£»Spring AOP£¬Èç¹û²»Ç¿ÖÆÊ¹ÓÃCGLIB°ü£¬Ä¬ÈÏÇé¿öÊÇʹÓÃJDKµÄ¶¯Ì¬´úÀíÀ´´úÀí½Ó¿Ú¡£
2.CGLIB ´úÀíµÄAPIS
     CGLIB°üµÄ»ù±¾´úÂëºÜÉÙ£¬µ±Ñ§ÆðÀ´ÓÐÒ»¶¨µÄÀ§ÄÑ£¬Ö÷ÒªÊÇȱÉÙÎĵµ£¬ÕâÒ²ÊÇ¿ªÔ´Èí¼þµÄÒ»¸ö²»×ãÖ®´¦¡£Ä¿Ç°CGLIBµÄ°æ±¾ÊÇ£¨2.1.2£©,Ö÷ÒªÓÉһϲ¿·Ö×é³É£º
net.sf.cglib.core
µ×²ã×Ö½ÚÂë´¦ÀíÀ࣬ËûÃǴ󲿷ÖÓëASMÓйØÏµ¡£
? net.sf.cglib.transform
±àÒëÆÚ»òÔËÐÐÆÚÀàºÍÀàÎļþµÄת»»
? net.sf.cglib.proxy
ʵÏÖ´´½¨´úÀíºÍ·½·¨À¹½ØÆ÷µÄÀà
? net.sf.cglib.reflect
ʵÏÖ¿ìËÙ·´ÉäºÍC#·ç¸ñ´úÀíµÄÀà
? net.sf.cglib.util
¼¯ºÏÅÅÐò¹¤¾ßÀà
? net.sf.cglib.beans
JavaBeanÏà¹ØµÄ¹¤¾ßÀà
·  ´ó¶àʱºò£¬½ö½öΪÁ˶¯Ì¬µØ´´½¨´úÀí£¬Äã½öÐèҪʹÓõ½´úÀí°üÖкÜÉÙµÄһЩAPI¡£
ÕýÈçÎÒÃÇÏÈǰËùÌÖÂ۵ģ¬CGLIB°üÊÇÔÚASM


Ïà¹ØÎĵµ£º

¶ÁÈ¡ÍøÒ³µÄJAVA·½·¨

import java.net.*;
import java.io.*;
public class URLReader {
public static void main(String[] args) throws Exception {
URL yahoo = new URL("ÍøÖ·");
BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) ......

Java EE 6£ºEJB 3.1µÄ±ä»¯ÒýÈËעĿ

¡¡¡¡ÄÇôҪ³ÉΪ¼Ü¹¹Ê¦µÄ;¾¶ËƺõÖ»ÓÐÏÖÔÚ½ÏΪÁ÷ÐеÄÈí¼þѧԺºÍ¸öÈË×ÔÎÒÅàÑøÁË¡£¹ØÓÚÈí¼þѧԺÎÒ½Ó´¥¹ý²»ÉÙ£¬Æä×ÚÖ¼¾ø´ó²¿·Ö¶¼ÊÇÔì¾Í(or´òÔì)ÆóÒµ ÐèÒªµÄÈí¼þ¼Ü¹¹Ê¦(or³ÌÐòÔ±orÈ˲Å)¡£½ÌʦÀ´Ô´ÓëÆóÒµ¡¢Ñ§Ô±À´Ô´ÓëÆóÒµ¡¢È˲ÅÊäË͵½ÆóÒµÊÇËûÃǰìѧµÄÊֶΡ£¾¡¹Ü¸÷¸öÈçÓêºó´ºËñ°ã³öÏÖµÄÈí¼þѧԺ¿ÚºÅ²î ²»¶à£¬µ«¿ÖÅ´ó¶àÖ»ÊÇΪÁËȦ ......

javaдµÄµç¿ÏÂÔØÍê³É¹Ø»úС³ÌÐò

¾­³£Óõ½µç¿ÏÂÔØ×ÊÁÏ,һЩhttpÄã¸ù±¾ÕÒ²»µ½µÄ×ÊÔ´,µ±È»ËÙ¶ÈÊDz»Äܹ§Î¬ÁË,¿×Óô,¸ÉµÄ¾ÍÊÇÂý»î,ÈÈÃÅ×ÊÔ´³ýÍâ…
ÎÒÓõÄverycd°æµÄµç¿,Ô­°æµç¿µÄÒ»ÖÖmods,µçÂ¿Ã²ËÆÓÐN¶à°æ±¾,²»¹ýÎÒ¾õµÃverycdµÄ¾Í¹»ÓÃÁË,±Ï¾¹¹úÄڰ˳ɵÄÈ˶¼ÔÚÓÃ.
×î½üÔÚÏÂж«·½µÄиÅÄîÓ¢Óï½Ì³Ì,½ø¶È87%,ÑÛ¿´ÒªÏÂÍêÁË,µÈÒªµÈ1¸ö¶àСʱ,ÏÂÔØÍê³ÉÓ ......

JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾

1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ – ÿÖܶ¼ÓÐÐÂÎÄÕ·¢±í.
4.[http:/ ......

Java±àÂë¹æ·¶(Ò»)

ÃüÃû¹æ·¶
ÏîÄ¿Ãû£º¸÷µ¥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд
°üÃû£ºÈ«²¿×ÖĸСдÇÒΨһ£¬Í¨³£Îª¹«Ë¾ÓòÃûµÄµ¹Ðò
Ô´ÎļþÃû£º¸÷µ¥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд
·½·¨Ãû£ºµÚÒ»¸öµ¥´ÊÈ«²¿Ð¡Ð´£¬ÆäÓ൥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд£¬Ò»°ãӦΪ¶¯´Ê
³ÉÔ±±äÁ¿Ãû£ºµÚÒ»¸öµ¥´ÊÈ«²¿Ð¡Ð´£¬ÆäÓ൥´ÊÊ××Öĸ´óд£¬ÆäËü×ÖĸСд
³ÉÔ±³£Á¿Ãû£ºËùÓе¥ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ