Category: Java Architecture
[转]一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis 至关重要。
[汇总]Redis理论
你好 Redis,能回答我 7 个问题吗? 一、Redis 的通讯协议是什么 二、Redis 究竟有没有 ACID 事务 三、Redis 的乐观锁 Watch 是怎么实现的 四、Redis 是如何持久化的 五、Redis 在内存使用上是如何开源节流 六、Redis 是如何实现主从复制 七、Redis 是怎么制定过期删除策略的 搞懂这些Redis知识点,吊打面试官! 总结知识点 Redis作者“不懂”分布式锁? 不懂Redis Cluster原理,我被同事diss了! Redis新版本开始引入多线程
[转]哪些原因会导致JAVA进程退出
那我们就开一篇文章说一下这个问题,其实很easy的,无外乎三种情况。 linux的OOM killer杀死 JVM自身故障 jvm的OOM导致进程退出(很罕见,我至今没遇见过)
[汇总]锁Lock经验
【万字长文】高并发中的线程通信,看这一篇就够了! 活锁,也许你需要了解一下 ReentrantLock#tryLock(long timeout, TimeUnit unit)
[汇总]Thread线程经验
多线程真的会使用CPU所有的内核吗? 线程的调度是根据cpu的算法,如果线程的运算量不大,cpu算法调度线程不一定会平均分配给每个内核的。那意思是如果运算量大的话,就会使用到其他的内核咯? 单核 CPU 支持 Java 多线程吗?为什么? 时间片 超线程 上下文切换 切换查看 线程调度 引起线程上下文切换的因素 如何停止一个正在运行的线程 建议使用“抛异常”的方法来实现线程的停止,因为在catch块中还可以将异常向上抛,使线程停止事件得以传播。
[转]高并发下的接口幂等性如何实现
1. 一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题等等很多重要的情况都需要幂等的特性来支持。