虚拟机字节码执行引擎 发表于 2018-04-20 | 分类于 java | 多态性实现机制——静态分派与动态分派方法解析Class 文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在 Class 文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址。这个特性给 Java 带来了更强大的动态扩展能力,使得可以在类运行期间才能确定某些目标方法的直接引 ... 阅读全文 »
LockSupport 发表于 2018-04-17 | 分类于 java | LockSupport 用法简介LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。LockSupport 提供park()和unpark()方法实现阻塞线程和解除线程阻塞,LockSupport和每个使用它的线程都与一个许可(permit)关联。permit相当于1,0的开关,默认是 ... 阅读全文 »
ThreadLocal 发表于 2018-04-15 | 分类于 java | ThreadLocal 作为 Thread 中的 ThreadLocalMap 的 key 。 Example123456789101112131415161718192021222324252627public class ThreadLocalExample { public s ... 阅读全文 »
redis缓存 发表于 2018-04-13 | 分类于 redis | 本质大量查询直接打到后面的数据库,方法如下: 提高容灾能力 限制查询的数量 针对某个key的大量查询,导致缓存击穿 加锁,一次只能一个现场访问数据库,将访问结果放到缓存,后面的查询走缓存 大量key击穿缓存:缓存雪崩 启动限流 提高集群的性能 缓存穿透什么是缓存穿透?一般的缓存系统,都是 ... 阅读全文 »
redis事务 发表于 2018-04-13 | 分类于 redis | Redis 通过 MULTI 、 DISCARD 、 EXEC 和 WATCH 四个命令来实现事务功能, 本章首先讨论使用 MULTI 、 DISCARD 和 EXEC 三个命令实现的一般事务, 然后再来讨论带有 WATCH 的事务的实现。 因为事务的安全性也非常重要, 所以本章最后通过常见的 AC ... 阅读全文 »
分布式锁的几种实现方式 发表于 2018-04-12 | 分类于 redis | 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两 ... 阅读全文 »
Redis合集 发表于 2018-04-12 | 分类于 redis | 分布式锁Redis RedLock 完美的分布式锁么? 聊一聊分布式锁的设计 redis分布式锁实现 分布式锁的几种实现方式 Redis 学习教程 redis并发问题 redis下并发问题解决方案 事务事务 持久化持久化 分区Redis分区实现原理 https://mp.weixin.qq.com/ ... 阅读全文 »
netty相关概念 发表于 2018-04-08 | 分类于 netty | 怎样理解阻塞非阻塞与同步异步的区别? 也谈BIO | NIO | AIO (Java版) 通俗地讲,Netty 能做什么? Netty的核心组件 Netty入门教程——认识NettyNetty入门教程2——动手搭建HttpServerNetty入门教程3——Decoder和EncoderNetty笔 ... 阅读全文 »