自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 怎么解决set注入造成的循环依赖

怎么解决set注入造成的循环依赖靠三级缓存区解决的,A,B两个类,A中有B,B中有A,都是通过setter方法进行依赖注入的。先去实例化A的实例,根据A的beanDefinition定义 拿到A class的无参构造方法后,反射创建出来了A的实例对象,这时候A的实例对象,是一个尚未进行依赖注入和init-method方法调用等等逻辑处理的早期实例,他还不能让业务层直接拿来去用,可以理解为早产儿,在进行后续加工处理之前,会把这个早产儿包装到一个ObjectFactory对象内,然后存放到spring的第三级

2021-03-14 21:27:06 943 3

原创 redis以及BIO NIO IO多路复用

redis6以前单线程,6之后对于异步删除操作引入多线程,来完善自己,但是对于大部分命令,依旧是原子的。redis压测redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -t set 并发50 连接数10000redis-benchmark -h 127.0.0.1 -p 6379 -c 50 -n 10000 -q大概写8w,读10wqps点赞多线程的话 LongAdder redis incrredis为什么快1.高效的八大数据结构,

2021-03-14 21:25:53 213

原创 查看高cpu流程

java -jar xxx & 启动服务 并获取服务的pidtop -Hp 进程编号10进制转换为16进制printf ‘%x\n’ 5069jstack 进程pid | grep 线程转换后的十六进制 -A10jstack 4944 | grep 0x13ce -A10jstack 4944 > /opt/wenti.logcat -n /opt/wenti.log | grep -A10 0x13ce高gc的查看jstat -gcutil 进程pid 毫秒 打

2021-03-14 21:24:09 98

原创 Synchronized锁升级

对象由对象头 实例数据 对齐填充构成对象头由对象标记和类元信息构成对象标记有 哈希码、GC标记、GC次数、同步锁标记,偏向锁标记64位下讨论对象头有意义SynchronizedJAVA5之前涉及到用户态和内核态之间的切换;JAVA6之后内部优化为了减少获取锁和释放锁所带来的性能消耗,引入了轻量级锁和偏向锁由对象头中的MARK WORD根据锁标志位的不同而被恢复及锁升级策略无锁—偏向锁----轻量级锁----重量级锁一个线程访问时,偏向锁两个线程轻量级锁多个线程重量级锁Synchr

2021-03-14 21:22:06 86

原创 hashmap总结

1.说说你对hash算法的理解追问:hash算法任意长度的输入 转化为了 固定长度的输出,会不会有问题呢?追问:hash冲突能避免么?hash基本概念就是把任意长度的输入通过hash算法后转化为固定长度的输出;问题是不同的值经过hash算法后会计算出相同的hash值,发生hash冲突;hash算法没办法避免,只能尽量避免2.你认为好的hash算法,应该考虑点有哪些呢?算法效率高,长文本可以高效计算出hash值hash值不能逆推出原值分散,尽量降低hash冲突3.HashMap中存储数据的

2021-03-14 21:18:49 178

空空如也

空空如也

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

TA关注的人

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