摘要:
一、redis安装 CentOS7 安装 Redis 单实例:https://gper.club/articles/7e7e7f7ff7g5egc4g6b Docker 安装 redis集群:https://gper.club/articles/7e7e7f7ff7g5egc5g6c 下载地址:ht 阅读全文
摘要:
什么是Hystrix 在分布式系统中,服务与服务之间的依赖错综复杂, 一种不可避免的情况就是某些服务会 出现故障,导致依赖于它们的其他服务出现远程调度的线程阻塞。 Hystrix 是 Netflix 公司开 源的一个项目,它提供了熔断器功能,能够阻止分布式系统中出现联动故障。 Hystrix 是通过 阅读全文
摘要:
RestTemplate简介 RestTemplate 是用来消费 REST 服务的,所以 RestTemplate 的主要方法都与 REST 的 H即 协议的一些方法紧密相连,例如 HEAD、 GET、 POST、 PUT、 DELETE 和 OPTIONS 等方法, 这些方法在 RestTemp 阅读全文
摘要:
什么是 Starter Starter是Spring Boot中的一个非常重要的概念,Starter 相当于模块,它能将模块所需的依赖整合起来并对模块内 的Bean根据环境( 条件)进行自动配置。使用者只需要 依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并 阅读全文
摘要:
阻塞队列的应用场景 阻塞队列这块的应用场景,比较多的仍然是对于生产者消 费者场景的应用,但是由于分布式架构的普及,是的大家 更多的关注在分布式消息队列上。所以其实如果把阻塞队 列比作成分布式消息队列的话,那么所谓的生产者和消费 者其实就是基于阻塞队列的解耦。 另外,阻塞队列是一个 fifo 的队列, 阅读全文
摘要:
Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序 都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三 阅读全文
摘要:
protected final boolean compareAndSetState(int expect, int update) { // See below for intrinsics setup to support this return unsafe.compareAndSwapInt 阅读全文
摘要:
ReentrantLock:表示重入锁,它是唯一一个实现了Lock接口的类。重入锁指的是 线程在获得锁之后,再次获取该锁不需要阻塞,而是直接关联一次计数器增加重入次; syschronized和reenttrantlock都支持重入锁; 重入锁的设计目的 比如调用demo方法获得了当前的对象锁,然后 阅读全文
摘要:
volatile通过lock(实现了内存屏障规则)内存屏障禁止指令重排保证了可见性; 从硬件层面了解可见性的本质 一台计算机中最核心的组件是CPU、内存、以及I/O设备。 在整个计算机的发展历程中,除了CPU、内存以及I/O设 备不断迭代升级来提升计算机处理性能之外,还有一个非 常核心的矛盾点,就是 阅读全文
摘要:
线程是否安全定义: 一个对象是否是线程安全的,取决于它是否会被多个线程 访问,以及程序中是如何去使用这个对象的。所以,如果 多个线程访问同一个共享对象,在不需额外的同步以及调 用端代码不用做其他协调的情况下,这个共享对象的状态 依然是正确的(正确性意味着这个对象的结果与我们预期 规定的结果保持一致) 阅读全文