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