摘要: 张图说明下要分享的内容: 01. Lock接口 JUC包中的 Lock 接口支持那些语义不同(重入、公平等)的锁规则。所谓语义不同,是指锁可是有"公平机制的锁"、"非公平机制的锁"、"可重入的锁"等等。 "公平机制"是指"不同线程获取锁的机制是公平的", 而"非公平机制"则是指"不同线程获取锁的机制 阅读全文
posted @ 2020-02-18 23:48 是鑫哥哥啊 阅读(209) 评论(0) 推荐(0)
摘要: 一、控制区别 首先我们要了解一下是什么是控制层面的区别,这里提到两点: 1.执行控制 目的是控制代码执行(顺序)及是否可以并发执行。 2.内存可见控制 线程执行结果在内存中对其它线程的可见性。根据Java内存模型的实现,线程在具体执行时,会先拷贝主存数据到线程本地(CPU缓存), 操作完成后再把结果 阅读全文
posted @ 2020-02-18 21:50 是鑫哥哥啊 阅读(431) 评论(0) 推荐(0)
摘要: 一、乐观锁和悲观锁思想 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 Java synchroni 阅读全文
posted @ 2020-02-18 10:23 是鑫哥哥啊 阅读(562) 评论(0) 推荐(0)
摘要: 一、数据结构 zookeeper是一个由 znode节点组成的一个树形结构,每个节点可包含数据和子节点,并且客户端可以监控每一个节点(即设置监视器)。 二、znode的类型(短暂型和持久型) 创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。 1 阅读全文
posted @ 2020-02-17 23:58 是鑫哥哥啊 阅读(701) 评论(0) 推荐(0)
摘要: 一、什么是zookeeper zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。Zookeeper致 阅读全文
posted @ 2020-02-17 21:00 是鑫哥哥啊 阅读(1012) 评论(0) 推荐(0)
摘要: 一. 定义 对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只能被一个线程获取到。不同线程对同步锁的访问是互斥的,不同的加锁方式不互斥",协调多个相互关联线程合作完成任务,彼此之间知道对方存在,执行顺序往往是有序的。他是属于独占式的悲观锁,同时属于 阅读全文
posted @ 2020-02-17 18:09 是鑫哥哥啊 阅读(843) 评论(0) 推荐(0)
摘要: 一、redis是什么 Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value nosql 数据库,并提供多种语言的API。 二、redis的应用场景 1、缓存 缓存现在几乎是所 阅读全文
posted @ 2020-02-17 15:58 是鑫哥哥啊 阅读(6295) 评论(0) 推荐(1)