2018年9月20日

jstack排查死循环线程

摘要: RT 参考:https://www.cnblogs.com/wentaos/p/7407346.html 阅读全文

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

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) 编辑

2018年9月14日

java线程池工作原理

摘要: 线程池的源码阅读比较简单,基本都是判断,当一个任务提交至线程池之后, 1. 线程池首先当前运行的线程数量是否少于corePoolSize。如果是,则创建一个新的工作线程来执行任务。如果都在执行任务,则进入2. 2. 判断BlockingQueue(阻塞队列)是否已经满了,如果还没有满,则将线程放入B 阅读全文

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

非对称密码体制

摘要: 因为非对称加密实现的多对一单向保密通信,公钥可以用来加密,但是不能用来解密。各方浏览器持有公钥后对自己的报文加密后发送给服务器,只有服务器能够用其私钥来解密多个密文。 数字签名的实现也利用了非对称加密。数字签名是用颁发机构的私钥对本证书的公钥,名称以及其他信息做hash散列加密而成的。这里出现“用私 阅读全文

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

java ThreadLocal

摘要: ThreadLocal是用来维护本线程中的变量,不能解决共享变量的并发问题。ThreadLocal是各线程将值存入该线程的map中,以ThreadLocal自身作为key,需要用时获得的是该线程之前存入的值。如果存入的是共享变量,那取出的也是共享变量,并发问题还是存在的。 ThreadLocal的主 阅读全文

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

2018年9月13日

jvm配置参数

摘要: 参考:https://www.cnblogs.com/smyhvae/p/4736162.html 阅读全文

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

CAP理论与BASE

只有注册用户登录后才能阅读该文。 阅读全文

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

导航