qin4zhang Blog

With the new day comes new strength and new thoughts.

分布式ID的方案介绍

分布式

注意 想法及时记录,实现可以待做。 简介 在复杂的分布式系统中,有时候需要对数据ID做唯一标识,这种情况下,能有一个较好的ID生成器是必不可少的。那么满足这样的ID生成器要求有哪些呢? 全局唯一:不能出现重复,这是最重要的保证 趋势递增:ID最好是趋势递增的,不一定是严格递增,这样对于存入数据库有帮助 作为生成ID的俯卧撑,本身也要...

单例模式介绍

线程安全

注意 想法及时记录,实现可以待做。 简介 有时对于某些类来说,只有一个实例对某些类很重要。 我们只需要一个对象的一个​​实例,并且如果我们实例化超过一个,我们将遇到各种问题,例如不正确的程序行为、过度使用资源或不一致的结果。 我们只需要一个实例,比如: 应用上下文 缓存 线程池 输入输出的驱动 饿汉模式(线程安全) public final class ...

分布式事务的方案介绍

分布式

注意 想法及时记录,实现可以待做。 简介 随着互联网技术的不断发展,系统越来越复杂,分布式系统几乎无处不在。谈到分布式系统,特别是微服务架构,我们不得不谈分布式事务。今天就跟大家一起聊聊分布式事务以及常用解决方案。 事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要...

分布式锁的方案介绍

分布式

注意 想法及时记录,实现可以待做。 简介 涉及到竞态条件的时候,一定会有线程安全的问题出现,此时加锁无疑是一种比较好的解决方案,保证的是一个时刻,共享资源只会被一次修改,避免数据不一致出现。 在一个JVM进程里面,如果想要加锁,有很多种方法,可以使用synchronized关键字,或者JUC并发包里面的锁,都可以在进程里面保证,多线程对于资源的并发访问。 但是如果在不同的进程之...

Java8之ReentrantLock

可重入锁

注意 想法及时记录,实现可以待做。 简介 ReentrantLock是JUC并发工具包中提供的可中断、可重入、允许超时的一种锁。 它的实现主要依赖AQS机制,是AQS的一个实际应用,对于AQS的分析,详见Java8之AbstractQueuedSynchronizer 相比较Synchronized的使用锁方式,两者的对比如下: 一个是属于代码api的调用,一个是依赖J...

  • Page: 1 of 13 Total: 63