![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
泰山与水
古今之成大事者,不惟有超世之才,亦惟有坚韧不拔之志
展开
-
理解ConcurrentHashMap-Java程序员必须掌握的基础
一、自我提问二、整体概括代码量:JDK1.7中ConcurrentHashMap代码2000行,现在JDK1.8中代码多达6000行,可见其复杂度数据结构:数组+链表+红黑树性能:ConcurrentHashMap中数据结构是数组+链表+红黑树基本和HashMap的数据结构一样,log红黑树的时间复杂度是O(logn),数组是O(n)线程安全:ConcurrentHashMap最大的特点是线程安全,一个线程进行put/remove操作时,对桶(链表 or 红黑树)加上synchronized独原创 2020-07-11 15:38:30 · 431 阅读 · 0 评论 -
理解HashMap - Java程序员入门技能
总结HashMap的知识点前,先思考以下问题:目录上篇:理解HashHash是什么?为什么有Hash的出现?常见的Hash算法有哪些?Hash冲突怎么解决?Hash的应用场景有哪些?如何自己实现一个Hash算法?下篇:HashMapHashMap是什么?eques和hashcode在HashMap中扮演什么角色?HashMap的hash函数怎么保证数据均衡?HashMap冲突怎么解决?HashMap的扩容问题:扩容为什么每次是2的幂?HashMap的线程安全问题发生原创 2020-07-11 15:34:02 · 288 阅读 · 0 评论 -
JVM内存调优一般思路
JVM内存优化一般思路,99%问题可以解决原创 2022-01-04 15:56:33 · 281 阅读 · 0 评论 -
【线上GC问题】-新生代设置过小且并发高的排查
一、现象描述1.线上系统aa出现大量的FullGC,差不多每5分钟左右就来一次2.堆的总内存频繁的波动3. 堆新生代的Eden区内存波动4.新生代S区的内存波动图5.老年代内存波动二、系统参数配置-Xms2g-Xmx2g-XX:MetaspaceSize=128m-XX:MaxMetaspaceSize=256m-XX:+UseConcMarkSweepGC-XX:+CMSParallelRemarkEnabled-XX:+UseCMSCo...原创 2020-08-04 11:57:33 · 1155 阅读 · 0 评论