摘要: 分布式锁一般有三种实现方式 1 基于数据库实现分布式锁 2 基于Redis实现分布式锁 3 基于zookeeper实现分布式锁 什么是分布式锁 线程间并发问题和进程间并发问题都是可以通过分布式锁解决的,但是不建议这样做,因为采用分布式锁解决这些小问题都是非常浪费资源的! 分布式锁应该用来解决分布式情 阅读全文
posted @ 2021-03-13 16:49 余一洋 阅读(73) 评论(0) 推荐(0) 编辑
摘要: hasdMap 存取无序,键是唯一 (键的唯一是根据hashCode和equals两个方法的配合使用,如果键的位置要存的是自定义的类型,那么自定义的类型就一定要重写hashCode和equals方法) JDK 1.7 底层是 entry数组加链表 Map的 key 是无序不可重复的 可以为null 阅读全文
posted @ 2021-03-13 09:16 余一洋 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Seata简介 官网地址:http://seata.io/zh-cn/ Seata用于解决分布式事务 Seata非常适合解决微服务分布式事务【dubbo、SpringCloud….】 Seata性能高 Seata使用简单 Seata事务模式-AT模式 Transaction Coordinator 阅读全文
posted @ 2021-03-11 10:38 余一洋 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 1 基于XA协议的两阶段提交 首先我们来简要看下分布式事务处理的XA规范 : 可知XA规范中分布式事务有AP,RM,TM组成: 其中应用程序(Application Program ,简称AP):AP定义事务边界(定义事务开始和结束)并访问事务边界内的资源。 资源管理器(Resource Manag 阅读全文
posted @ 2021-03-11 10:24 余一洋 阅读(62) 评论(0) 推荐(0) 编辑
摘要: CAP定理 CAP定理是在 1998年加州大学的计算机科学家 Eric Brewer (埃里克.布鲁尔)提出,分布式系统有三个指标 Consistency 一致性 Availability 可用性 Partition tolerance 分区容错 它们的第一个字母分别是 C、A、P。Eric Bre 阅读全文
posted @ 2021-03-11 00:05 余一洋 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务拥有以下四个特性,习惯上被称为ACID特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 一致性(Consis 阅读全文
posted @ 2021-03-10 14:52 余一洋 阅读(2867) 评论(1) 推荐(1) 编辑
摘要: 1、一般的队列只能保证作为一个有限长度的缓冲区,如果超出了缓冲长度,就无法保留当前的任务了,阻塞队列通过阻塞可以保留住当前想要继续入队的任务。阻塞队列可以保证任务队列中没有任务时阻塞获取任务的线程,使得线程进入wait状态,释放cpu资源。阻塞队列自带阻塞和唤醒的功能,不需要额外处理,无任务执行时, 阅读全文
posted @ 2021-03-09 23:38 余一洋 阅读(2716) 评论(0) 推荐(0) 编辑
摘要: 为什么要用线程池? 1、降低资源消耗;提高线程利用率,降低创建和销毁线程的消耗。 2、提高响应速度;任务来了,直接有线程可用可执行,而不是先创建线程,再执行。 3、提高线程的可管理性;线程是稀缺资源,使用线程池可以统一分配调优监控。 corePoolsize代表核心线程数,也就是正常情况下创建工作的 阅读全文
posted @ 2021-03-09 22:50 余一洋 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 1 、锁池 所有需要竞争同步锁的线程都会被放到锁池中,比如当前对象的锁已经被其中一个线程得到,则其他线程需要在这个锁池进行等待,当前面的线程释放同步锁后锁池中的线程去竞争同步锁,当某个线程得到后进入就绪队列进行等待CPU资源分配。 2、等待池 当我们调用wait() 方法后,线程会放到等待池当中,等 阅读全文
posted @ 2021-03-07 22:30 余一洋 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 新建 (new ) :新创建一个线程 就绪(Runnable) :线程对象创建后,其他线程调用了该对象的start方法,该状态的线程位于可运行线程池中,变得可运行, 等待获取CPU的使用权 运行(running) :就绪状态的线程或者CPU 的使用权,执行程序代码 阻塞(blocked) :阻塞状态 阅读全文
posted @ 2021-03-07 21:41 余一洋 阅读(95) 评论(0) 推荐(0) 编辑