摘要:
1.position例:Java代码position()第一次使用返回值为当前位置:0position(8) 返回第8个字节以后的数据(包括第8个)可以和 limit 联合使用如:Java代码buffer.position(3);buffer.limit(7);ByteBufferslice=buffer.slice();再次调用 position() 返回:82.remaining例:Java代码ByteBufferbyt=ByteBuffer.allocate(128,false);第一次调用byt.remaining(); 返回 128A、使用:byt.putInt(5);或者byt.g 阅读全文
摘要:
http://scholers.iteye.com/blog/784336 MINA2中(MINA2 RC版本,MINA2.0正式版已经发布)服务端接受数据默认有一定长度的缓冲区(可以在启动的时候设置)。那么对于大报文,怎么处理呢?比如说超过1024,甚至更多?MINA2为了节省网络流量,提高处理效率,会将大报文自动拆分(可能是存放MINA2中的缓冲区里面):比如2048字节的报文,就会拆分成两次;那么在接受的时候,就有一个如何判断是完整报文的问题,或者说是一个拆包组包的问题。 MINA2中初始化服务的时候是可以设置输入和输出的缓冲区的:Java代码acceptor.getSessionCon 阅读全文
摘要:
一、背景MINA框架允许开发人员在编写基于MINA的应用程序时使用自己熟悉的日志系统。二、SLF4JMINA框架使用Simple Logging Facade for Java (SLF4J)。你可以在这里获取到更多关于SLF4J的信息,这种日志系统兼容各种日志系统的实现。你可能会使用log4j、java.util.logging或其他的日志系统,使用这种日志框架的好处在于如果你在开发过程中,将日志系统从java.util.logging改为log4j,你根本不需要修改你的代码。选择正确的jar包Logging frameworkRequired JARsLog4J 1.2.xslf4j-ap 阅读全文
摘要:
privatevoidcheckDeadLock(){//Onlyread/write/connect/writefuturecancausedeadlock.if(!(thisinstanceofCloseFuture||thisinstanceofWriteFuture||thisinstanceofReadFuture||thisinstanceofConnectFuture)){return;}//GetthecurrentthreadstackTrace.//UsingThread.currentThread().getStackTrace()isthebestsolution,// 阅读全文