自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 ConcurrentHashMap 源码解析(四):put()方法超硬核源码解析

ConcurrentHashMap中的put()方法是其中一个比较复杂的方法,其中涉及到了很多的知识点。比如,迁移时的多线程协助、桶位树化、多线程累加等等。下面我将详细解析put()方法和所涉及到的所有子方法的源码。put()方法中其实是调用了putVal()来实现的。/** * Maps the specified key to the specified value in this table. * Neither the key nor the value can be null..

2020-05-20 17:09:37 329 2

原创 ConcurrentHashMap 源码解析(三):get()

本文重点解析ConcurrentHashMap.get()方法,及其代码中包含的所有涉及到的子方法。其中,spread()和find()是比较复杂的两个方法,下面会重点讲解。/** * Returns the value to which the specified key is mapped, * or {@code null} if this map contains no mapping for the key. * * <p>More formally, if th.

2020-05-19 15:50:22 233

原创 ConcurrentHashMap 源码解析(二):ConcurrentHashMap初始化

ConcurrentHashMap有5种初始化方法。其中,ConcurrentHashMap()是个无参构造,里面没有任何代码,不需要理会;ConcurrentHashMap(int initialCapacity, float loadFactor)是个套娃的方法,只需要理解ConcurrentHashMap(int initialCapacity, float loadFactor, int concurrencyLevel)就可以了。因此下面就详细解析剩下的3种初始化方法。1、Concurren.

2020-05-18 18:17:55 1168

原创 ConcurrentHashMap 源码解析(一):解析定义的常量

在解析ConcurrentHashMap源码之前首先需要先弄懂这些常量的定义,这将会对接下来看源码有很大的帮助。这里要注意一点,ConcurrentHashMap1.8中会保留1.7的常量,但是并不会参与到1.8的逻辑计算中。/** * The largest possible table capacity. This value must be * exactly 1<<30 to stay within Java array allocation and indexing .

2020-05-18 14:53:12 163

原创 面试必备--手撕HashMap源码

HashMap也是面试官最喜欢问的知识点之一。那么接下来我为大家分析下HashMap中的常用方法

2020-05-06 10:34:25 212

原创 面试必问--手撕FutureTask源码

FutureTask作为面试必问的知识,重要性可想而知。因此,下面给大家逐条分析Doug Lea大神的源码。首先是介绍下FutureTask类中的变量//表示当前task的状态 private volatile int state; //表示当前task尚未执行 //场景:1、任务刚新建还未入队列 // 2、任务刚新建已入队列,还未被线程执行 /...

2020-04-28 21:16:33 214

原创 手撕LongAdder-add()源码

/** * Adds the given value. * * @param x the value to add */ public void add(long x) { //as: 表示cells引用 //b: 表示获取的base值 //v: 表示 期望值 //m: 表示cells数...

2020-04-27 15:59:10 253

原创 mysql编写规范

DML语句规范【强制】select语句必须指定具体字段名称,禁止写成*。因为select*会将不该读的数据也从MySQL里读出来,造成网卡压力。且表字段一旦更新,但model层没有来得及更新的话,系统会报错。【强制】insert语句指定具体字段名称,不要写成insert into t1 values(…),道理同上。【建议】insertinto…values(XX),(XX),...

2020-04-24 15:47:52 246

原创 mysql数据库设计规范

库名规范【强制】库的名称必须控制在32个字符以内,相关模块的表名与表名之间尽量提现join的关系,如user表和user_login表。【强制】库的名称格式:业务系统名称_子系统名,同一模块使用的表名尽量使用统一前缀。【强制】一般分库名称命名格式是库通配名_编号,编号从0开始递增,比如wenda_001以时间进行分库的名称格式是“库通配名_时间”【强制】创建数据库时必须显式指...

2020-04-24 15:46:18 195 1

原创 使用docker-compose搭建elk 日志分析系统

文件目录这是我放配置信息的文件目录[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9hdYxLI-1587713880460)(http://blog.supert.vip:8090/upload/2020/1/image-56a87ca7a89a4d9d86e3f456b455d44b.png)]创建docker-compose文件#author terr...

2020-04-24 15:40:29 1276

原创 GitFlow工作流

GitFlow的分支1.Production 分支也就是我们经常使用的Master分支,这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改2.Develop 分支这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支3.Feature 分支这个分...

2020-04-24 15:32:34 622

原创 学习笔记(01):k8s与SpringCloud分布式服务架构-3.1如何配置镜像的加速器?

1.spring cloud 如何部署在docker容器上? 2.spring cloud 基于swarm 如何集群搭建? 3.采用jenkins集群部署springcloud 的docke..

2019-12-19 18:01:02 120

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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