自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除