- 博客(6)
- 收藏
- 关注
原创 分布式id生成9种方式
分布式id生成方式 为了解决在分布式系统中产生全局唯一id,且满足高并发、高可用的要求,区别于传统产生id的方式,介绍几种产生分布式id的方式。 1、分布式id需要解决的问题 全局唯一性 高性能,低延时 高可用 趋势递增 最好有一定的意义 2、生成分布式id的常用方式 uuid 数据库自增 基于数据库集群 数据库段号模式 Redis SnowFlake(雪花算法) TinyID(滴滴) UId-generator(百度) Leaf(美团) 基于UUID算法 产生唯一ID,最容易想到的就是U
2021-03-09 23:46:35
328
原创 多线程:synchronized的底层实现原理及锁的升级
1、synchronized的使用 a)普通同步方法,锁的是当前实例对象 b)静态同步方法,锁的是当前类对象 c)同步方法块,锁的是Synchronized括号中配置的对象 当一个对象需要方法同步方法或代码块时,需要获取锁,退出或者抛出异常时,必须释放锁 2 Synchronized底层实现 JVM基于进入和退出Monitor对象来实现方法同步和代码块的同步,但是两者的实现细节不同。 代码块同步...
2020-03-05 22:02:36
212
原创 spring源码深入阅读分析---环境搭建(二)
spring源码阅读环境搭建 一、我的环境 1、系统版本 MacOS 10.15.2 2、开发版本工具 spring-framework-5.0.x.RELEASE gradle4.9 jdk1.8.0_121 IntelliJ IDEA 2019 假设以上软件都已安装完成。 二、源码下载 1、地址 https://github.com/spring-projects/spring-framewo...
2020-01-09 23:11:16
194
原创 spring源码深入阅读分析--XmlBeanDefinitionReader(三)
XmlBeanDefinitionReader读取xml配置文件 XmlBeanFactory对DefaultListableBeanFactory进行了扩展,主要是对xml配置文件的读取得到BeanDefinition,对bean的注册和获取,主要是通过继承父类DefaultListableBeanFactory的方法,唯独与父类不同的是,增加了个性化属性XmlBeanDefinitionRea...
2020-01-09 22:54:54
264
原创 spring源码分析(一)
spring容器的实现继承关系 每一个类在bean实例化中的作用: 1、AlisaRegistry:对alias得简单增删改查等操作 2、SimpleAliasRegistry:主要使用map作为alias的缓存,并对接口AliasRegistry功能实现; 3、SingletonBeanRegistry:单例的注册及获取 4、banFactory:获取bean及bean的各种属性,如bean的...
2020-01-06 23:31:00
192
原创 java 中的几种单例模式形式
java 中的几种单例模式形式 1、饿汉单例形式 2、懒汉单例(线程不安全) 3、懒汉单例(对方法加锁) 4、懒汉单例(双重检测) 此方法还是存在问题,new 一个对象一共有三步 1、为对象分配内存空间 2、调用对象的构造函数,并对对象进行属性赋值 3、将对象指向分配的内存 jvm会对这三条指令进行重排,当将2、3进行了重排时,线程1先执行的指令3,然后执行指令2, 此时,cup切换到线程...
2019-12-10 10:01:50
165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅