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
Ïà¹ØÎĵµ£º
ת×Ô£º
pconline£ºhttp://www.pconline.com.cn/pcedu/empolder/gj/java/0411/499156.html
ºÃµÄ¶«Î÷ת¹ýÀ´¿´¿´
ÓÉÓÚÍøÂç´ø¿íÓÐÏÞ,ËùÒÔÊý¾ÝÎļþµÄѹËõÓÐÀûÓÚÊý¾ÝÔÚInternetÉϵĿìËÙ´«Êä,ͬʱҲ½ÚÊ¡·þÎñÆ÷µÄÍâ´æ¿Õ¼ä¡£
¡¡¡¡Java 1.1ʵÏÖÁËI/OÊý¾ÝÁ÷ÓëÍøÂçÊý¾ÝÁ÷µÄµ¥Ò»½Ó¿Ú,Òò´ËÊý¾ÝµÄѹËõ¡¢ÍøÂç´«ÊäºÍ½âѹËõµÄʵÏֱȽÏÈÝÒ× ......
synchronized£º ͬ²½µÄ
synchronizedÔÚ²Ù×÷ÉÏÓÐÁ½ÖÖÓ°Ïì¶ÔÏóµÄÇé¿ö£º
1) ÔÚij¸ö¶ÔÏóʵÀýÄÚ£¬synchronized method(){}¿ÉÒÔ·ÀÖ¹¶à¸öÏß³Ìͬʱ·ÃÎÊÕâ¸ö¶ÔÏóµÄsynchronized·½·¨£¨Èç¹ûÒ»¸ö¶ÔÏóÓжà¸ösynchronized·½·¨£¬Ö»ÒªÒ»¸öÏ̷߳ÃÎÊÁËÆäÖеÄÒ»¸ösynchronized·½·¨£¬ÆäËüÏ̲߳»ÄÜͬʱ·ÃÎÊÕâ¸ö¶ÔÏóÖÐÈκÎÒ»¸ösynchronized·½·¨£ ......
windows xpÏÂÅäÖÃJDK»·¾³±äÁ¿£º
1.°²×°JDK£¬°²×°¹ý³ÌÖпÉÒÔ×Ô¶¨Ò尲װĿ¼µÈÐÅÏ¢£¬ÀýÈçÎÒÃÇÑ¡Ôñ°²×°Ä¿Â¼ÎªD:\java\jdk1.5.0_08£»
¡¡ 2.°²×°Íê³Éºó£¬ÓÒ»÷“ÎҵĵçÄÔ”£¬µã»÷“ÊôÐÔ”£»
3.Ñ¡Ôñ“¸ß¼¶”Ñ¡Ï£¬µã»÷“ ......
Ò»¡¢¶àÖÖ·½Ê½¶ÁÎļþÄÚÈÝ¡£
1¡¢°´×Ö½Ú¶ÁÈ¡ÎļþÄÚÈÝ
2¡¢°´×Ö·û¶ÁÈ¡ÎļþÄÚÈÝ
3¡¢°´ÐжÁÈ¡ÎļþÄÚÈÝ
4¡¢Ëæ»ú¶ÁÈ¡ÎļþÄÚÈÝ
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java ......
ÉèÖÃ×¢ÊÍÄ£°åµÄÈë¿Ú£º Window->Preference->Java->Code Style->Code Template È»ºóÕ¹¿ªComments½Úµã¾ÍÊÇËùÓÐÐèÉèÖÃ×¢Ê͵ÄÔªËØÀ²¡£ÏÖ¾Íÿһ¸öÔªËØÖðÒ»½éÉÜ£º
Îļþ(Files)×¢ÊͱêÇ©£º
/**
* @Title: ${file_name}
* @Package ${package_name}
* @Description: ${todo}(ÓÃÒ»¾ä»°ÃèÊö¸ÃÎļ ......