自定义博客皮肤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)
  • 收藏
  • 关注

原创 分布式锁的实现

实现Redis的分布式锁主要通过lua脚本,既简单又安全 完整项目地址 https://gitee.com/HappyChicken/Distributor 麻烦大家顺手给个Star~ 这里只给出几段核心的代码段供参考: 提前定义好Redis命令中需要的字符串以及默认过期时间 // Redis命令常用字符串 private static final String LOCK_S...

2019-05-05 12:25:47 153

原创 HashMap常见面试考题

自己正在准备秋招,总结下面试常遇到的关于HashMap的问题 一、如何解决哈希冲突 解决哈希冲突的办法有开放地址法和链地址法 开放地址法:线性探测、二次线性探测、再哈希 链地址法:插入时间复杂度最优o(1),最差o(n) 二、HashMap中常见的问题 数组的长度总是2的n次方,为什么? length总是2的n次方时,hash & (length-1)运算等价于hash % len...

2019-04-27 16:24:41 860

原创 蘑菇街面经

蘑菇街一、二面面经 一面:(53分钟) Mybatis一级、二级缓存 JDK1.8集合源码 如何保证list的线程安全 Spring源码 Mysql常用的索引、效率 如何实现线程安全的HashMap JDK1.8的ConcurrentHashMap源码 Mysql的事务怎么实现 Spring的事务如何实现 RPC服务器A如何调用服务器B的方法?Dubbo的底层原理 远程服务调用如何判断一个主机是...

2019-04-27 15:45:40 398

原创 实现简单的读写锁

用2个int实现一个简单的Java 读写锁,帮助理解读写锁的原理 /** * 只用2个int实现一个读写锁 * * @author Red * date: 2019/4/27 10:20 */ public class MyReadWriteLock { // 读线程个数 private int readCount = 0; // 写线程个数 priva...

2019-04-27 10:34:29 252

原创 String类源码

String类源码学习笔记 一、String类的组成 ​ 一个 String 字符串实际上是一个 char 数组,我们常说String类是不可变的,是因为这个数组是final修饰的。但事实上只是数组的引用不可变,我们仍然可以通过反射来改变char数组中的元素值。 private final char value[]; 二、String类的方法 compareTo:比较的次数为两个字符串长度...

2019-04-26 12:41:39 419

原创 Object源码

Object源码学习笔记 ​ 一、Object类拥有的方法: registerNatives() 注册本地方法 在Object的Static块里,说明类加载时要加载本地方法 getClass() 获取Class对象 @Test public void testClass(){ Parent p = new Son(); System.out.println(p.g...

2019-04-24 11:29:14 173

空空如也

空空如也

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

TA关注的人

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