自定义博客皮肤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 184

原创 HashMap常见面试考题

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

2019-04-27 16:24:41 895

原创 蘑菇街面经

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

2019-04-27 15:45:40 472

原创 实现简单的读写锁

用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 282

原创 String类源码

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

2019-04-26 12:41:39 464

原创 Object源码

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

2019-04-24 11:29:14 199

空空如也

空空如也

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

TA关注的人

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