mengmweng

导航

2013年12月7日 #

nio

摘要: java:NIO 初次体验高并发带来的快感在过去的二三年,曾尝试过几次使用nio改写以前的服务器端程序,想体验一下nio + socketchannel带来的快感。可每次的改写结果都很失败,体会到的全是有失望的感觉,每次的改写经过大量测试后发现并发性能、反应处理速度并没有明显提升,有的时候测试结果还不如 io + socket.最近几天有空,静下心来再次尝试用NIO来改写一个简单的HTTP服务器,先在网上查看了几十篇相关资料,然后根据自已的理解写了一个出来,经过测试感觉处理性能与传统的io+socket+多线程相比基本上差不多,只有在socket并发和内存占用方面比传统的io要表现好一些。昨天 阅读全文

posted @ 2013-12-07 15:00 mengmweng 阅读(313) 评论(0) 推荐(0) 编辑

nio加强服务端并发

摘要: 究了一下Android推送,方式很多,比如用框架或者用第三方服务,在此并不讨论个中优劣。抱着学习的态度,本人不太喜欢用一些现成的东西,所以自己动手实现了一套简单的推送机制。使用TCP长连接,完成服务器端往客户端推送消息的功能。为了加强服务器端的并发性,使用Java NIO+线程池的模式来实现服务器端的推送服务。服务器端代码如下:代码片段,双击复制010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 阅读全文

posted @ 2013-12-07 14:43 mengmweng 阅读(297) 评论(0) 推荐(0) 编辑

nio 弊端

摘要: java-nio在Android上使用的种种弊端August 12, 2013programming我们知道,手机上的网络一般会比较慢(使用wifi除外),用户非常不希望自己在使用手机时被考验耐心。那么在手机上写网络相关的程序就比写pc端的网络程序就有更高的要求——必须在短时间内给用户一个结果,或成功或失败。把这点诉求转化成程序层面的语言,不外乎以下几条:程序本身被写得必须高效;底层库必须提供可控的超时设置(包括连接超时和读取超时);底层库函数本身必须高效;对于程序员来说,最根本的还是首先要抓好第1点,把自己的程序写好。但除此之外,还需要关注自己所用的底层库在程序所适配的各个平台是否符合上述第 阅读全文

posted @ 2013-12-07 14:33 mengmweng 阅读(736) 评论(0) 推荐(0) 编辑