摘要: Theadlocal和它造成的内存泄露 ThreadLocal、Thead、TheadMap。 Thead类里有一个成员变量是TheadMap类型,这个TheadMap类的每一个entry的key是Theadlocal类,value就是Theadlocal类中存储的对象。对Theadlocal进行g 阅读全文
posted @ 2019-09-20 14:00 勇闯8 阅读(380) 评论(0) 推荐(0) 编辑
摘要: java线程内存模型JMM 线程共享变量存储在主内存中,每个线程都有自己的本地内存,内部存有共享变量的副本,本地内存是一个抽象概念,它是缓存、寄存器、硬件和编译器优化的合集。 保证内存可见性:内存模型的happens before规则,也就是前一个操作执行的结果对后一个操作可见(并不保证前一个操作在 阅读全文
posted @ 2019-09-20 13:58 勇闯8 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 常用集合 一、HashMap 1、hash方法效率 1.7时hash方法分为三步:获取hashcode,位运算和异或扰动、取模。1.8优化为获取hashcode、位运算和异或扰动、用位运算取模,1.8时扰动方法直接优化成了高16位异或低16位,且通过位运算取模hash&(n 1)替代取模,提高了计算 阅读全文
posted @ 2019-09-20 13:51 勇闯8 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 锁的API及多线程性能调优 轮询锁 trylock方法尝试获取锁,如果获取了结果就是true,执行目标代码,如果没有就继续尝试获取(放入while循环中可以做其他事),还可以采用中断锁。 中断锁 线程的isInterrupted方法可以检查是否处于中断状态,interrupted可以将线程的中断标记 阅读全文
posted @ 2019-09-20 13:30 勇闯8 阅读(371) 评论(0) 推荐(0) 编辑