java源码分析
文章平均质量分 71
你真的是一个很帅的程序媛
这个作者很懒,什么都没留下…
展开
-
ConcurrentMap原理详解
ConcurrentMap原理详解jdk1.8数据结构数组+链表+红黑树Node<K,V>{}static class Node<K,V> implements Entry<K,V> {final int hash;final K key;volatile V val;volatile Node<K,V> next;如何线程安全数组桶值设置和更新使用CAS算法tabAt(Node<K,V>[] tab, i原创 2021-01-26 15:36:03 · 885 阅读 · 0 评论 -
Java7和Java8的HashMap底层思想解析
详见:点击打开链接本文主要介绍java7的hashmap底层设计结构,即数组+单向链表,但是java8为了方便get查询效率,在链表基础上新加红黑树结构,点击打开链接(重点研究),java7和8的不同HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据...转载 2017-08-06 11:30:03 · 3518 阅读 · 1 评论 -
GC垃圾回收算法总结
闲着没事总结下java虚拟机的垃圾回收算法。哪些对象会被回收两种方式:第一种:引用计数法:只要一个对象被引用,计数就+1,释放引用,就-1,但是无法解决两个对象互相引用的问题第二种:对象可达状态分析 主要包括:虚拟机栈中引用的对象。方法区中类静态属性实体引用的对象。方法区中常量引用的对象。大多数是final修饰的本地方法栈中JNI引用的对象。回收理论算法复制算法:将堆内存分成两个区域原创 2017-12-21 14:29:39 · 303 阅读 · 0 评论 -
记一次排查线上生产cpu线程问题
记一次排查线上生产cpu线程问题问题发生排查步骤结果优化方法问题发生一天突然发现监控大屏cpu闲置率在80%左右,感觉不是很正常,现在需求不是很多,为什么cpu闲置率这么低,一般情况为95%以上,为了好奇开始了一次jvm线程的排查过程。排查步骤找出消耗cpu最高的pid ,第一种直接找到自己的项目名称,jps -l找到pid;第二种:top -c,如下图;找出某pid下线程资源信息,...原创 2019-08-04 16:19:27 · 358 阅读 · 0 评论