自定义博客皮肤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 数据库自增 基于数据库集群 数据库段号模式 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关注的人

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