你们的项目Redis做了集群部署吗? 我们有大量数据需要缓存,而单实例的容量毕竟是有限的,于是做了Redis集群部署。 采取的方案是什么,Codis还是Redis Cluster,为什么要选择这个方案? 我们采用的官方Redis Cluster方案。Codis是一整套缓存解决方案 ...
HashMap的put操作做了什么 HashMap的是由数组和链表构成的,JDK 之后加入了红黑树处理哈希冲突。put操作的步骤是这样的: 根据key值计算出哈希值作为数组下标。如果数组的这个位置是空的,把k放进去,put操作就完成了。 如果数组位置不为空,这个元素必然是个链表。遍历链表逐一比对value,如果value在链表中不存在,就把新建节点,将value放进去,put操作完成。 如果链表 ...
2019-09-24 15:32 0 446 推荐指数:
你们的项目Redis做了集群部署吗? 我们有大量数据需要缓存,而单实例的容量毕竟是有限的,于是做了Redis集群部署。 采取的方案是什么,Codis还是Redis Cluster,为什么要选择这个方案? 我们采用的官方Redis Cluster方案。Codis是一整套缓存解决方案 ...
试图操作一个由其他线程持有的对象锁的资源时,将会处于阻塞状态,但当一个线程再次请求自己持有对象锁的资源 ...
Java 面试连环炮系列(三):synchronized怎么用的 面试连环炮系列(七):HashMap的put操作做了什么 面试连环炮系列(八):服务器CPU飙升100%怎么排查 面试连环炮系列(九):为什么ConcurrentHashMap是线程安全的 面试连环炮系列(十 ...
为什么ConcurrentHashMap是线程安全的 JDK1.7中,ConcurrentHashMap使用的锁分段技术,将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访 ...
你们的项目为什么要用RabbitMQ? 消息队列的作用是系统解耦、同步改异步、请求消峰,举个下订单的例子: 前端获取用户订单信息,请求后端的订单创建接口。这个接口并不直接请求订单服务,而是首先 ...
为什么用HashMap? 简述一下Map类继承关系? 解决哈希冲突的方法? 为什么HashMap线程不安全? resize机制? HashMap的工作原理是什么? 有什么方法可以减少碰撞? HashMap中hash函数怎么是是实现 ...
你们的项目怎么使用kafka? 我们采用kafka进行日志采集,准确点说是ELK方案,即elasticsearch + logstash + kibana + kafka。通过Spring A ...
如何保证Redis高可用和高并发? Redis主从架构,一主多从,可以满足高可用和高并发。出现实例宕机自动进行主备切换,配置读写分离缓解Master读写压力。 Redis高可用方案具体 ...