摘要:
1.为什么不直接用jdk NIO(1) API繁杂(2) 原始NIO可靠性不是很高。可靠性包括:断开重连,网络闪断,半包读写,失败缓存(3) NIO 的epoll BUG会导致多路复用器Selector,空轮训,导致cpu消耗过大,在jdk1.6update18版本已修复,但是经过测试,该问题还存在 阅读全文
摘要:
. http协议和tcp/ip 协议的关系(1) http是应用层协议,tcp协议是传输层协议,ip协议是网络协议。(2) IP协议主要解决网络路由和寻址问题(3) tcp协议主要解决在IP层协议之上,如何可靠的传输数据,即接收端收到的数据包的大小和顺序,和发送端保持一致。tcp协议是可靠的面相连接 阅读全文
摘要:
1.redis的单线程指的是什么单线程?同一个时间点只处理一个客户端的连接,也就是redis网络模块的单线程。 2.redis为什么设计成单线程 具体作者怎么想的,我不知道,我说一下我的理解(1)redis用的是非阻塞IO,非阻塞I/O本身就可以是单线程处理多个请求(2)如果用多线程,就要考虑线程的 阅读全文
摘要:
现象,一张图片,我没有赞过,而且点赞列表也没有,但是却显示我已经赞过了 1.老版点赞逻辑(1) date_picId_snsId 拼接字符串(2) md5该字符串得到16进制字符串,切害字符串,5个字符一组,得到数组(3) 循环该数组将字符串转换为10进制,得到一个偏移量offset(4)在循环里面 阅读全文
摘要:
(1) Central Progressing Unit 中央处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。 (2) CPU包括 运算器,高速缓冲存储器,总线。 (3) 它的工作,主要是解释计算机中的指令,和处理计算机软件中的数据。它在计算机中起着最重要的作用,构成了系统的控制 阅读全文
摘要:
1.什么是序列化 (1)序列化,是一种把对像流化的机制,即把对像写入二进制数组(byte[]),传输到另一个地方,将其读 出来之后,进行反序列化,得到对象含状态(状态就是属性的值) (2)为什么要序列化。方便在网络间进行传输,并且可以把对象持久化到数据库或者文件中。 2.什么是hessian Hes 阅读全文
摘要:
1.迁移一段时间后,mongo不但会挂掉,mongo所在的机器也会挂掉 (1)现象,脚本迁移数据,迁移一段时间后,mongo连接不上,mongo所在的机器也连不上 (2)可能的原因,mongo是异步写操作,请求来的之后,先放到内存,再异步写入,数据量太大,导致待写入的数据量大, 逐渐占满内存,导致机 阅读全文
摘要:
http://blog.csdn.net/jinwanmeng/article/details/7756591 阅读全文
摘要:
设平均响应时间为t(单位为毫秒), 并发量为c,每秒处理请求数为q,则: q = (1000/t) * c 就是这个关系; 想要升高q,就只有两条路:1) 降低t 2) 升高c 对于'1', 只能靠优化代码实现,只能尽量做,往往提升有限; 对于'2', 通常c与你服务器程序的请求处理模型有关,如果你 阅读全文
摘要:
1.I/O 输入输出流 (1) 指的是计算机与外界,或者程序与计算机之间数据交换的接口。 (2) 在java编程中,使用 流(Stream) 的方式完成I/O , 所有的I/O都被视为单个字节的移动。 通过一个Stream对象,一次移动一个字节。 Stream用于将字节转换为对象,或将对象转为字节。 阅读全文