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

minaÖ®ÐÔÄÜȱÏݼ°bug,java¸ßÐÔÄÜÓÎÏ··þÎñÆ÷ºÎÔÚ?

Apache MINA (mina-2.0.0-M6Ô´ÂëΪÀý):
    ÎÒÃÇʹÓÃmina nio tcp×î³£ÓõÄÑùÀýÈçÏÂ:
        NioSocketAcceptor acceptor = new NioSocketAcceptor(/*NioProcessorPool's size*/);
        DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
        
        //chain.addLast("codec", new ProtocolCodecFilter(
                //new TextLineCodecFactory()));
        ......
        // Bind
        acceptor.setHandler(/*our IoHandler*/);
        acceptor.bind(new InetSocketAddress(port));
------------------------------------------------------------------------------------
    Ê×ÏÈ´ÓNioSocketAcceptor(extends AbstractPollingIoAcceptor)¿ªÊ¼,
bind(SocketAddress)--->bindInternal--->startupAcceptor:Æô¶¯AbstractPollingIoAcceptor.Acceptor.runʹÓÃexecutor[Executor]µÄÏß³Ì,×¢²á[interestOps:SelectionKey.OP_ACCEPT],È»ºówakeup selector.
Ò»µ©ÓÐÁ¬½Ó½øÀ´¾Í¹¹½¨NioSocketSession--¶ÔÓ¦--channal,È»ºósession.getProcessor().add(session)½«µ±Ç°µÄchannal¼ÓÈëµ½NioProcessorµÄselectorÖÐÈ¥[interestOps:SelectionKey.OP_READ],ÕâÑùÿ¸öÁ¬½ÓÖÐÓÐÇëÇó¹ýÀ´¾ÍÓÉÏàÓ¦µÄNioProcessorÀ´´¦Àí.
ÕâÀïÓм¸µãҪ˵Ã÷µÄÊÇ:
1.Ò»¸öNioSocketAcceptor¶ÔÓ¦Á˶à¸öNioProcessor,±ÈÈçNioSocketAcceptor¾ÍʹÓÃÁËSimpleIoProcessorPool DEFAULT_SIZE = Runtime.getRuntime().availableProcessors() + 1.µ±È»Õâ¸ösizeÔÚnew NioSocketAcceptorµÄʱºò¿ÉÒÔÉ趨.
2.Ò»¸öNioSocketAcceptor¶ÔÓ¦Ò»¸öjava nio selector[OP_ACCEPT],Ò»¸öNioProcessorÒ²¶ÔÓ¦Ò»¸öjava nio selector[OP_READ].
3.Ò»¸öNioSocketAcceptor¶ÔÓ¦Ò»¸öÄÚ²¿µÄAbstractPollingIoAcceptor.Acceptor---thread.
4.Ò»¸öNioProcessorÒ²¶ÔÓ¦Ò»¸öÄÚ²¿µÄAbstractPollingIoProcessor.Processor---thread.
5.ÔÚnew NioSocket


Ïà¹ØÎĵµ£º

java ÖÐµÄ synchronized

synchronized£º ͬ²½µÄ
synchronizedÔÚ²Ù×÷ÉÏÓÐÁ½ÖÖÓ°Ïì¶ÔÏóµÄÇé¿ö£º
1) ÔÚij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized method(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£ ......

javaʵÏÖ×ÊÔ´ÏÂÔØ

/Download   by   HTTP  
//For   other   protocol,   do   it   yourself  
import   java.net.*;  
import   java.io.*;  
public   class   DonwLoa ......

JSP/Java»ñÈ¡HTTP headerÐÅÏ¢(request)Àý×Ó

<%
//header.jsp
out.println("Protocol: " + request.getProtocol() + "<br>");
out.println("Scheme: " + request.getScheme() + "<br>");
out.println("Server Name: " + request.getServerName() + "<br>" );
out.println(&quo ......

Eclipse Java×¢ÊÍÄ£°åÉèÖÃÏê½â


ÉèÖÃ×¢ÊÍÄ£°åµÄÈë¿Ú£º Window->Preference->Java->Code Style->Code Template È»ºóÕ¹¿ªComments½Úµã¾ÍÊÇËùÓÐÐèÉèÖÃ×¢Ê͵ÄÔªËØÀ²¡£ÏÖ¾Íÿһ¸öÔªËØÖðÒ»½éÉÜ£º
Îļþ(Files)×¢ÊͱêÇ©£º
/**   
* @Title: ${file_name}
* @Package ${package_name}
* @Description: ${todo}(ÓÃÒ»¾ä»°ÃèÊö¸ÃÎļ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ