--- ConcurrentHashmap ConcurrentHashmap整体跟hashmap差不多,主要的区别是线程安全,并且不支持key和value为null ConcurrentHashmap在插入元素的时候会
synchorinzed的一个面试题
背景 前两天一个朋友面试,遇到了一个题目 上面的代码,一般情况下工作正常,问什么时候会有问题,并且问题的根源是什么 现象 既然这么问,那么肯定是有问题的,下面就写代码复现一下 果不其然,代码跑起来之后就卡主了。dump了
HashMap源码解读
Hashmap 1.hashmap的家族 能够看出,hashmap是map的一个实现类 2.基础知识 每个位置上面存放的都是一个node,也就是所说的bucket,一般情况下node是一个链表。 3.hashmap的初始
IO模型
一般来说一次IO操作包含两个步骤 - 内核准备数据 - 数据从内核拷贝到用户进程 常见的IO模型主要有以下几种 - 阻塞IO - 非阻塞IO - 多路复用IO - 信号驱动IO - 异步IO 阻塞IO 在读写过程中发生阻
ConcurrentHashMap源码解读-算法部分
tableSizeFor 该算法相当奇妙,目的是输入一个数字c,然后返回离它最近的且值大于它的2的n次幂,例如输入7,返回8,输入123,返回128。 首先定义一个变量n为c-1,至于为什么为c-1,之后会说到。 我们输
Jedis Timeout waiting for idle object
现象 在一次压测过程中,设置了500并发并且持续5分钟,在3分钟的时候,发现所有链接都关闭了,并且获取不到任何链接,出现以下的报错提示 第一眼看到这个问题,以为是连接池设置了太小,于是设置了max-total为500,理
spring事务(1)
Spring中的事务,主要有以下几个参数 - value:事务名称 - transactionManager:事务管理器 - propagation:传播行为 - isolation:隔离级别 - timeout:超时时
记一次数据库问题排查
案发现场 在任务开始的时候,状态为INIT,然后需要等待定时器去取状态为INIT的任务,修改状态然后执行。但是在下午开始,突然发现INIT的任务一直处于INIT的状态,而定时器却是5s轮询一次,没有头绪,只能继续等,刚好
Nginx伪装流量
之前使用的nginx伪装流量,后来发现是有问题的,很快就被封了。 之前的思路是,机器保留443端口,然后使用ssr去链接跳板机的443端口,如果是ssr协议,就转发到本地的ssr服务,如果是http请求,就返回对应的页面
java线程池源码解读
java中提供的线程池基本都是继承自ExecutorService,可以通过Executors来创建线程池。 java中提供了以下几种线程池, - newCachedThreadPool - newFixedThread