随笔分类 -  面试

摘要:https://blog.csdn.net/wwd0501/article/details/88663621独占锁是一种悲观锁,synchronized就是一种独占锁;它假设最坏的情况,并且只有在确保其它线程不会造成干扰的情况下执行,会导致其它所有需要锁的线程挂起直到持有锁的线程释放锁。 所谓乐观锁 阅读全文
posted @ 2019-11-26 14:54 valar-dohaeris 阅读(906) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/liuqing576598117/p/11227007.html 一. 什么是循环依赖? 循环依赖其实就是循环引用,也就是两个或者两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图: 注意,这里不是函数的循环 阅读全文
posted @ 2019-11-26 14:06 valar-dohaeris 阅读(10149) 评论(0) 推荐(0) 编辑
摘要:前言 多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。 为了避免重复的创建线程,线程池的出现 阅读全文
posted @ 2019-11-15 17:47 valar-dohaeris 阅读(4321) 评论(0) 推荐(2) 编辑
摘要:在分析jdk1.7中HashMap的hash冲突时,不知大家是否有个疑问就是万一发生碰撞的节点非常多怎么版?如果说成百上千个节点在hash时发生碰撞,存储一个链表中,那么如果要查找其中一个节点,那就不可避免的花费O(N)的查找时间,这将是多么大的性能损失。这个问题终于在JDK1.8中得到了解决,在最 阅读全文
posted @ 2019-11-13 14:20 valar-dohaeris 阅读(1151) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://www.cnblogs.com/dijia478/p/8006713.html 一、数据结构 HashMap中的数据结构是数组+单链表的组合,以键值对(key-value)的形式存储元素的,通过put()和get()方法储存和获取对象。 (方块表示Entry对象,横排表示数 阅读全文
posted @ 2019-11-13 11:39 valar-dohaeris 阅读(616) 评论(0) 推荐(0) 编辑
摘要:出自:开源中国 原文:系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问 阅读全文
posted @ 2019-11-01 14:40 valar-dohaeris 阅读(1030) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示