- 博客(12)
- 收藏
- 关注
原创 Mac安装Brew
少说废话直接干/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"复制进命令行 直接下载,建议选择中科大的有两次下载 都选中科大的测试是否安装好brew --version有版本出来就ok...
2022-05-29 18:47:07
133
原创 Mybatis的 BaseTypeHandler
场景:在生产数据库中有很多的敏感信息是不能直接存储,需要先进行加密然后再存储,比如姓名、身份证、银行卡号等 <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId&
2022-01-13 17:58:26
1874
原创 Spring源码分析
1.Spring初始化流程2.Aop源码分析3.Spring循环依赖问题4.Spring生命周期Bean初始化过程5.Spring获取Bean的流程6.BeanFactory与FactoryBean的不同7.BeanFactory与ApplicationContext的不同
2021-12-21 16:22:52
208
原创 IDEA 单元测试Junit Coverage报错
跑正常的单元测试没有问题,但是一旦运行Run with Coverage就报错java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect
2021-05-25 00:12:06
2744
17
原创 JDK1.8中的HashMap扩容原理
JDK1.8中HashMap的扩容在JDK1.8中对扩容做了一些优化先看一段扩容的核心代码final Node<K,V>[] resize() { Node<K,V>[] oldTab = table; int oldCap = (oldTab == null) ? 0 : oldTab.length; int oldThr = threshold; int newCap, newThr = 0;
2021-04-07 17:36:11
1541
4
原创 多线程下HashMap的扩容导致线程安全性问题
JDK1.7中多线程扩容导致的循环链表首先我们先来看一组单线程下扩容的例子:单线程扩容(引用木霖森77大神博客):假设:hash算法就是简单的key与length(数组长度)求余。hash表长度为2,如果不扩容, 那么元素key为3,5,7按照计算(key%table.length)的话都应该碰撞到table[1]上扩容:hash表长度会扩容为4重新hash,key=3 会落到table[3]上(3%4=3), 当前e.next为key(7), 继续while循环重新hash,key=
2021-04-02 14:48:14
882
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人