- 博客(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 116
原创 Mybatis的 BaseTypeHandler
场景:在生产数据库中有很多的敏感信息是不能直接存储,需要先进行加密然后再存储,比如姓名、身份证、银行卡号等 <!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId&
2022-01-13 17:58:26 1836
原创 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 204
原创 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 2528 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 1511 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 841 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人