|
|
Î÷ºçÍø
Î÷ºçÍøÒ»¡¢ÒýÑÔ£ºÀúÊ·Óë¼¼ÊõµÄ¹²Ãù Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø¶«ººÄ©Ä꣬ÌìÏÂÈý·Ö£¬Îº¡¢Êñ¡¢ÎâÈý·½ÊÆÁ¦ÔÚÕ½ÂÔ²©ÞÄÖÐÕ¹ÏÖ³ö¾ªÈ˵Ä×éÖ¯Öǻۡ£Öî¸ðÁÁ"¿Õ³Ç¼Æ"Öвã²ãÉè·ÀµÄÔ¤¾¯»úÖÆ£¬¹ØÓð"¹ýÎ幨նÁù½«"ʱ¹Ø¿¨µÝ½øµÄÉó²éÁ÷³Ì£¬ÕâЩÀúÊ·³¡¾°ÓëÏÖ´úÈí¼þÉè¼ÆÖеÄÔðÈÎÁ´Ä£Ê½£¨Chain of Responsibility Pattern£©´æÔÚÉî¿Ì¹²Ãù¡£±¾ÎĽ«Í¨¹ý·ÖÎöÈý¹ú¾µäÕ½ÒÛ£¬½â¹¹ÔðÈÎÁ´Ä£Ê½µÄºËÐÄ˼Ï룬²¢Õ¹Ê¾ÈçºÎÓÃJavaʵÏÖÕâÖÖÉè¼ÆÄ£Ê½£¬×îÖÕ̽ÌÖÆäÔÚ·Ö²¼Ê½ÏµÍ³ÖеÄÏÖ´úÓ¦Óá£Èý¹úÑÝÒ壺ÔðÈÎÁ´Ä£Ê½https://www.sundawu.cn/post-52621.htmlÏà¹ØÎÊÌ⣬»¶Óµã»÷½øÈëÍøÕ¾Á´½Ó£¡ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø¶þ¡¢ÔðÈÎÁ´Ä£Ê½»ù´¡ÀíÂÛ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. ģʽ¶¨Òå Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÔðÈÎÁ´Ä£Ê½Í¨¹ý½«ÇëÇóµÄ·¢ËÍÕߺͽÓÊÕÕß½âñʹ¶à¸ö¶ÔÏó¶¼Óлú»á´¦ÀíÇëÇ󣬴Ӷø±ÜÃâÇëÇóµÄ·¢ËÍÕߺͽÓÊÕÕßÖ®¼äµÄñîºÏ¹ØÏµ¡£ÆäºËÐĽṹ°üº¬£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø³éÏó´¦ÀíÕߣ¨Handler£©£º¶¨Òå´¦ÀíÇëÇóµÄ½Ó¿Ú Î÷ºçÍø
Î÷ºçÍø¾ßÌå´¦ÀíÕߣ¨ConcreteHandler£©£ºÊµÏÖ´¦ÀíÂß¼£¬¿ÉÖÕÖ¹´«µÝ»ò¼ÌÐø´«µÝ Î÷ºçÍø
Î÷ºçÍø¿Í»§¶Ë£¨Client£©£º·¢ÆðÇëÇóµÄ¶ÔÏó Î÷ºçÍø
Î÷ºçÍø2. ģʽÓÅÊÆ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø? ½µµÍ¶ÔÏó¼äñîºÏ¶È Î÷ºçÍø
Î÷ºçÍø? ¶¯Ì¬×éºÏ´¦ÀíÁ´ Î÷ºçÍø
Î÷ºçÍø? ¼ò»¯¶ÔÏóÖ°Ôð¶¨Òå Î÷ºçÍø
Î÷ºçÍø? Ö§³ÖÇëÇóµÄ¶¯Ì¬´¦Àí Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÈý¡¢Èý¹úÕ½ÂÔÖеÄÔðÈÎÁ´Ó³Éä Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. ¹Ù¶ÉÖ®Õ½µÄÁ¸²Ý·ÀÓùÁ´ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø½¨°²ÎåÄ꣨200Ä꣩£¬Ô¬ÉÜÊ®Íò´ó¾üѹ¾³£¬²Ü²Ù²ÉÓÃ"ÎåÖØ·ÀÓùÌåϵ"£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic interface GrainDefense { Î÷ºçÍø
Î÷ºçÍø void defend(int troops); Î÷ºçÍø
Î÷ºçÍø void setNextDefense(GrainDefense next); Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class FirstLineDefense implements GrainDefense { Î÷ºçÍø
Î÷ºçÍø private GrainDefense next; Î÷ºçÍø
Î÷ºçÍø @Override Î÷ºçÍø
Î÷ºçÍø public void defend(int troops) { Î÷ºçÍø
Î÷ºçÍø if (troops > 30000) { Î÷ºçÍø
Î÷ºçÍø System.out.println("µÚÒ»·ÀÏߣº·Ù»ÙÁ¸µÀ"); Î÷ºçÍø
Î÷ºçÍø } else if (next != null) { Î÷ºçÍø
Î÷ºçÍø next.defend(troops); Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø // Ê¡ÂÔsetter·½·¨ Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø// ºóÐø·ÀÏßʵÏÖÀàËÆ½á¹¹ Î÷ºçÍø
Î÷ºçÍøÕâÖֲ㼶·ÀÓù»úÖÆÈ·±£Á˲»Í¬¹æÄ£µÄµÐ¾üÄܱ»¶ÔÓ¦²ã¼¶µÄ·ÀÓù´ëÊ©À¹½Ø£¬ÌåÏÖÁËÔðÈÎÁ´µÄ"¸÷˾ÆäÖ°"ÌØÐÔ¡£ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø2. ³à±ÚÖ®Õ½µÄÇ鱨´«µÝÁ´ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÖÜè¤ÎªÊµÊ©»ð¹¥¼Æ»®£¬½¨Á¢ÁËÈý¼¶Çé±¨ÍøÂ磺 Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic abstract class IntelligenceChain { Î÷ºçÍø
Î÷ºçÍø protected IntelligenceChain next; Î÷ºçÍø
Î÷ºçÍø public void setNext(IntelligenceChain next) { Î÷ºçÍø
Î÷ºçÍø this.next = next; Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø public abstract void process(String message); Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class LocalSpy extends IntelligenceChain { Î÷ºçÍø
Î÷ºçÍø @Override Î÷ºçÍø
Î÷ºçÍø public void process(String message) { Î÷ºçÍø
Î÷ºçÍø if (message.contains("²Ü¾üˮկ")) { Î÷ºçÍø
Î÷ºçÍø System.out.println("±¾µØÃÜ̽£ºÈ·ÈÏˮկλÖÃ"); Î÷ºçÍø
Î÷ºçÍø } else if (next != null) { Î÷ºçÍø
Î÷ºçÍø next.process(message); Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍøÇ鱨¾¹ýÃÜ̽¡úÉÌÈË¡úÓæÃñµÄ´«µÝÁ´£¬×îÖÕµ½´ï¾ö²ß²ã£¬ÕâÖÖ·Ö¼¶´¦Àí»úÖÆ¼«´óÌá¸ßÁËÐÅÏ¢´¦ÀíЧÂÊ¡£ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøËÄ¡¢JavaʵÏÖÔðÈÎÁ´Ä£Ê½ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. »ù´¡ÊµÏÖ¿ò¼Ü Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÒÔÉóÅúÁ÷³ÌΪÀý¹¹½¨ÔðÈÎÁ´£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic abstract class ApprovalHandler { Î÷ºçÍø
Î÷ºçÍø protected ApprovalHandler nextHandler; Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø public void setNextHandler(ApprovalHandler next) { Î÷ºçÍø
Î÷ºçÍø this.nextHandler = next; Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø public abstract void handleRequest(ApprovalRequest request); Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class DepartmentHead extends ApprovalHandler { Î÷ºçÍø
Î÷ºçÍø @Override Î÷ºçÍø
Î÷ºçÍø public void handleRequest(ApprovalRequest request) { Î÷ºçÍø
Î÷ºçÍø if (request.getAmount() Î÷ºçÍø
Î÷ºçÍø2. ÍêÕûÉóÅúÁ´Ê¾Àý Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class ApprovalChainDemo { Î÷ºçÍø
Î÷ºçÍø public static void main(String[] args) { Î÷ºçÍø
Î÷ºçÍø ApprovalHandler deptHead = new DepartmentHead(); Î÷ºçÍø
Î÷ºçÍø ApprovalHandler vp = new VicePresident(); Î÷ºçÍø
Î÷ºçÍø ApprovalHandler ceo = new CEO(); Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø deptHead.setNextHandler(vp); Î÷ºçÍø
Î÷ºçÍø vp.setNextHandler(ceo); Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø ApprovalRequest req1 = new ApprovalRequest(3000); Î÷ºçÍø
Î÷ºçÍø deptHead.handleRequest(req1); // ²¿ÃžÀí´¦Àí Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø ApprovalRequest req2 = new ApprovalRequest(15000); Î÷ºçÍø
Î÷ºçÍø deptHead.handleRequest(req2); // ´«µÝÖÁ¸±×ܲà Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø3. ¶¯Ì¬Á´¹¹½¨¼¼Êõ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÍ¨¹ý¹¤³§Ä£Ê½ÊµÏÖÔðÈÎÁ´µÄ¶¯Ì¬×é×°£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class HandlerFactory { Î÷ºçÍø
Î÷ºçÍø public static ApprovalHandler createChain() { Î÷ºçÍø
Î÷ºçÍø ApprovalHandler dept = new DepartmentHead(); Î÷ºçÍø
Î÷ºçÍø ApprovalHandler vp = new VicePresident(); Î÷ºçÍø
Î÷ºçÍø ApprovalHandler ceo = new CEO(); Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø dept.setNextHandler(vp); Î÷ºçÍø
Î÷ºçÍø vp.setNextHandler(ceo); Î÷ºçÍø
Î÷ºçÍø return dept; Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍøÎå¡¢ÏÖ´ú·Ö²¼Ê½ÏµÍ³ÖеÄÓ¦Óà Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. ΢·þÎñ¹ýÂËÆ÷Á´ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÔÚSpring CloudÖУ¬ÔðÈÎÁ´Ä£Ê½±»¹ã·ºÓ¦ÓÃÓÚÇëÇó¹ýÂË£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic abstract class ZuulFilter { Î÷ºçÍø
Î÷ºçÍø private ZuulFilter next; Î÷ºçÍø
Î÷ºçÍø public abstract int filterOrder(); Î÷ºçÍø
Î÷ºçÍø public abstract boolean shouldFilter(); Î÷ºçÍø
Î÷ºçÍø public abstract Object run() throws ZuulException; Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø public Object process(RequestContext ctx) { Î÷ºçÍø
Î÷ºçÍø if (shouldFilter()) { Î÷ºçÍø
Î÷ºçÍø return run(); Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø if (next != null) { Î÷ºçÍø
Î÷ºçÍø return next.process(ctx); Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø return null; Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø2. ÏûÏ¢Öмä¼þ´¦Àí Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøRocketMQµÄÏûÏ¢Ïû·ÑÁ´ÊµÏÖ£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic interface ConsumeChain { Î÷ºçÍø
Î÷ºçÍø ConsumeResult consume(MessageExt msg); Î÷ºçÍø
Î÷ºçÍø void setNext(ConsumeChain next); Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class DeserializeChain implements ConsumeChain { Î÷ºçÍø
Î÷ºçÍø private ConsumeChain next; Î÷ºçÍø
Î÷ºçÍø @Override Î÷ºçÍø
Î÷ºçÍø public ConsumeResult consume(MessageExt msg) { Î÷ºçÍø
Î÷ºçÍø // ·´ÐòÁл¯Âß¼ Î÷ºçÍø
Î÷ºçÍø if (next != null) return next.consume(msg); Î÷ºçÍø
Î÷ºçÍø return ConsumeResult.SUCCESS; Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍøÁù¡¢Ä£Ê½±äÌåÓëÀ©Õ¹ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. Ñ»·ÔðÈÎÁ´ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÊµÏÖ»·Ðδ¦Àí½á¹¹£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class CircularChain { Î÷ºçÍø
Î÷ºçÍø private List handlers; Î÷ºçÍø
Î÷ºçÍø private int currentIndex = 0; Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø public void process(Request request) { Î÷ºçÍø
Î÷ºçÍø if (handlers.isEmpty()) return; Î÷ºçÍø
Î÷ºçÍø handlers.get(currentIndex % handlers.size()).handle(request); Î÷ºçÍø
Î÷ºçÍø currentIndex++; Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍø2. Ìõ¼þÔðÈÎÁ´ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø»ùÓÚ²ßÂÔģʽµÄÌõ¼þ´«µÝ£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøpublic class ConditionalChain { Î÷ºçÍø
Î÷ºçÍø private List, Handler>> conditions; Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø public void addCondition(Predicate pred, Handler handler) { Î÷ºçÍø
Î÷ºçÍø conditions.add(new Pair(pred, handler)); Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø public void process(Request req) { Î÷ºçÍø
Î÷ºçÍø conditions.stream() Î÷ºçÍø
Î÷ºçÍø .filter(p -> p.getKey().test(req)) Î÷ºçÍø
Î÷ºçÍø .findFirst() Î÷ºçÍø
Î÷ºçÍø .ifPresent(p -> p.getValue().handle(req)); Î÷ºçÍø
Î÷ºçÍø } Î÷ºçÍø
Î÷ºçÍø} Î÷ºçÍø
Î÷ºçÍøÆß¡¢Ä£Ê½Êµ¼ù½¨Òé Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. Á´³¤¶È¿ØÖÆ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø? ½¨Òéµ¥Á´²»³¬¹ý7¸ö½Úµã Î÷ºçÍø
Î÷ºçÍø? ¸´ÔÓÒµÎñ²ð·ÖΪ¶à¸ö¶ÀÁ¢ÔðÈÎÁ´ Î÷ºçÍø
Î÷ºçÍø? ʹÓÃÔðÈÎÁ´×éºÏÆ÷¹ÜÀí¶àÁ´¹ØÏµ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø2. ÐÔÄÜÓÅ»¯²ßÂÔ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø? »º´æ´¦Àí½á¹û Î÷ºçÍø
Î÷ºçÍø? ²¢Ðд¦ÀíÎÞÒÀÀµ½Úµã Î÷ºçÍø
Î÷ºçÍø? ʵÏÖÁ´µÄ¶èÐÔ³õʼ»¯ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø3. µ÷ÊÔÓë¼à¿Ø Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø? Ìí¼Ó´¦ÀíÈÕÖ¾ Î÷ºçÍø
Î÷ºçÍø? ʵÏÖÁ´×´Ì¬¿ÉÊÓ»¯ Î÷ºçÍø
Î÷ºçÍø? ¼¯³ÉAPM¼à¿Ø¹¤¾ß Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø°Ë¡¢ÀúÊ·°¸ÀýµÄÏÖ´úÆôʾ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø1. ½Ö֮ͤսµÄʧ°Ü½Ìѵ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÂíÚÕÎ¥±³Öî¸ðÁÁ"µ±µÀÔúÕ¯"µÄ²¿Ê𣬱©Â¶ÁËÔðÈÎÁ´ÖÐÄ©¶Ë½Úµãʧ¿ØµÄ·çÏÕ¡£ÏÖ´úϵͳÖÐÓ¦£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø? ÉèÖÃĬÈÏ´¦Àí½Úµã Î÷ºçÍø
Î÷ºçÍø? ʵÏÖÁ´¶ÏÁÑÔ¤¾¯»úÖÆ Î÷ºçÍø
Î÷ºçÍø? ½¨Á¢»Ø¹ö´¦ÀíͨµÀ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø2. ÒÄÁêÖ®Õ½µÄÁ¬Ëø·´Ó¦ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍøÁõ±¸Á¬ÓªÆß°ÙÀïµ¼ÖÂÈ«ÏßÀ£°Ü£¬Ó¡Ö¤ÁËÔðÈÎÁ´¹ý³¤´øÀ´µÄά»¤³É±¾ÎÊÌâ¡£Éè¼ÆÊ±Ó¦£º Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø? ×ñѵ¥Ò»Ö°ÔðÔÔò Î÷ºçÍø
Î÷ºçÍø? ¶¨ÆÚ½øÐÐÁ´½á¹¹ÆÀÉó Î÷ºçÍø
Î÷ºçÍø? ʵÏÖ¶¯Ì¬Á´Öع¹ÄÜÁ¦ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø¾Å¡¢½áÂÛ£º¿çԽʱ¿ÕµÄÉè¼ÆÖÇ»Û Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø´ÓÈý¹úʱÆÚµÄ¾üÊ·ÀÓùµ½ÏÖ´ú·Ö²¼Ê½ÏµÍ³£¬ÔðÈÎÁ´Ä£Ê½Õ¹ÏÖÁËÆäÇ¿´óµÄÊÊÓ¦ÐÔ¡£ÕâÖÖ½«¸´ÔÓÎÊÌâ·Ö½âΪÓÐÐò´¦Àí²½ÖèµÄ˼Ï룬²»½öÓÅ»¯ÁËϵͳ¼Ü¹¹£¬¸üÌåÏÖÁË"·Ö¶øÖÎÖ®"µÄ¶«·½ÕÜѧÖǻۡ£ÔÚ΢·þÎñ¼Ü¹¹Ê¢ÐеĽñÌ죬ÔðÈÎÁ´Ä£Ê½ÒÀÈ»ÊÇ´¦Àí¼¶ÁªÒµÎñÂß¼µÄÀûÆ÷£¬ÆäÀúÊ·°¸ÀýÖеijɰܵÃʧ£¬Îªµ±´úÈí¼þ¹¤³ÌʦÌṩÁ˱¦¹óµÄÉè¼Æ²Î¿¼¡£ Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø¹Ø¼ü´Ê£ºÔðÈÎÁ´Ä£Ê½¡¢JavaʵÏÖ¡¢Èý¹úÕ½ÂÔ¡¢Éè¼ÆÄ£Ê½¡¢·Ö²¼Ê½ÏµÍ³¡¢Î¢·þÎñ¹ýÂË¡¢Á´Ê½´¦Àí Î÷ºçÍø
Î÷ºçÍø Î÷ºçÍø
Î÷ºçÍø¼ò½é£º±¾ÎÄͨ¹ý½âÎöÈý¹ú¾µäÕ½ÒÛÖеIJ㼶´¦Àí»úÖÆ£¬ÏµÍ³²ûÊöÔðÈÎÁ´Ä£Ê½µÄÀíÂÛ»ù´¡ÓëJavaʵÏÖ·½·¨¡£½áºÏ¹Ù¶ÉÖ®Õ½µÄ·ÀÓùÌåϵ¡¢³à±ÚÖ®Õ½µÄÇé±¨ÍøÂçµÈÀúÊ·°¸Àý£¬ÉîÈë̽ÌÖ¸ÃģʽÔÚÉóÅúÁ÷³Ì¡¢Î¢·þÎñ¹ýÂ˵ÈÏÖ´ú³¡¾°ÖеÄÓ¦Ó㬲¢¸ø³öÁ´³¤¶È¿ØÖÆ¡¢ÐÔÄÜÓÅ»¯µÈʵ¼ù½¨Ò飬×îÖÕ½ÒʾÕâÖÖÉè¼ÆÄ£Ê½¿çԽʱ¿ÕµÄÖǻۼÛÖµ¡£ |
|