2018年9月19日

TCP心跳包与KeepAlive

摘要: “cli和ser建立连接后,cli挂掉,ser知道吗?” 方法1:应用层自己实现的心跳包TCP socket心跳机制中,心跳包可以由服务器发送给客户端,也可以由客户端发送给服务器,不过比较起来,前者开销可能更大。因此一般是由客户端给服务器发送心跳包。比如这个示例:https://blog.csdn. 阅读全文

posted @ 2018-09-19 23:08 植物大戰僵尸 阅读(306) 评论(0) 推荐(0) 编辑

Redis RDB与AOF

摘要: Redis中数据存储模式有2种:cache-only,persistence。如果我们想要Redis仅仅作为纯内存的缓存来用,那么可以使用cache-only模式。 对于persistence持久化存储,Redis提供了两种持久化方法::RDB以及AOF通过RDB或AOF,都可以将Redis内存中的 阅读全文

posted @ 2018-09-19 16:33 植物大戰僵尸 阅读(492) 评论(0) 推荐(0) 编辑

数据结构解决哈希冲突方法回顾

摘要: 1、开放定址法: Hi=(H(key)+di)% m 其中H(key)为哈希函数,m 为表长,di称为增量序列。根据增量序列的取值方式不同,具体到下面三种散列方法: 线性探测再散列:di=1,2,3,…,m-1 二次探测再散列:di=1^2,-1^2,2^2,-2^2,…,k^2,-k^2 ( k< 阅读全文

posted @ 2018-09-19 14:02 植物大戰僵尸 阅读(244) 评论(0) 推荐(0) 编辑

java线程池大小分配方案

摘要: 任务一般可分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线程池。 CPU密集型任务(计算密集型的程序)尽量使用较小的线程池,一般为CPU核心数+1。 因为CPU密集型任务使得CPU使用率很高,若开过多的线程数,只能增加上下文切换的次数,因此会带来额外的开销。(即使当计算 阅读全文

posted @ 2018-09-19 13:56 植物大戰僵尸 阅读(573) 评论(0) 推荐(0) 编辑

导航