高并发编程一直是我的痛点,面试被问到基本都答不上来。 我相信很多朋友跟我一样,不系统学习整理一把,真的难受。 下面是我花了不少时间整理的Java并发编程相关的面试题,知识点等...
高并发编程一直是我的痛点,面试被问到基本都答不上来。 我相信很多朋友跟我一样,不系统学习整理一把,真的难受。 下面是我花了不少时间整理的Java并发编程相关的面试题,知识点等...
除了synchronized能解决原子性性问题,Jdk1.5以后,在java.util.concurrent.locks.Lock包下的Lock也能解决原子性问题。 java...
前言 关于wait/notify/notifyall有2个经典的面试: notify和notifyall有什么区别? 为什么wait方法要写在while循环里面而不是if呢?...
前言 面试题:synchronized是可重入锁吗? 答案:synchronized是可重入锁。ReentrantLock也是的。 1、什么是可重入锁呢? 关于什么是可重入锁...
前言 Synchronized原理是面试中的一个难点。网上的各种资料太乱了 ,概念晦涩难懂,看了不少资料、博客,花了不少时间,才整理成这篇笔记。看完对你大有帮助。 1、内存布...
1、什么是公平锁与非公平锁 公平锁:公平锁就是保障了多线程下各线程获取锁的顺序,先到的线程优先获取锁。非公平锁:非公平锁则无法提供这个保障(先到的线程优先获取锁)。 2、Re...
前言 工作中难免会使用线程池。对线程池的使用要格外的小心,说不定某天就出现了难搞的生产问题(OOM)。每次在使用的时候,我都会网上找找资料,今天我就自己全部整理了一篇,不足或...
前言 上一节讲了i++并不是线程安全的,我们需要用synchronized来保证其线程安全。 这里我就介绍下synchronized的基本用法和简单原理。 便于说明,我写了个...
前言 1、并发编程三要素 在并发编程的世界里,下面三要素你必须清楚: 可见性:可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他的线程可以立即看到修改的结...
前言 面试题:synchronized是可重入锁吗? 答案:synchronized是可重入锁。ReentrantLock也是的。 1、什么是可重入锁呢? 关于什么是可重入锁...
简书 占小狼转载请注明原创出处,谢谢! 前言 ThreadLocal为变量在每个线程中都创建了一个副本,所以每个线程可以访问自己内部的副本变量,不同线程之间不会互相干扰。本文...
Exception 和 Error区别? 可查异常和不可查异常区别? Error和Exception都是继承了Throwable 类。Error是指在正常情况下,不大可能出现...
最好、最坏时间复杂度 我们先看一个例子: 当把break语句注释掉的时候,总是需要遍历整个数组,所以时间复杂度就是数组的长度,为O(n)。当有break语句的时候,如果找到x...
1、算法的考量指标 算法的考量指标,我们是用时间、空间复杂度来衡量的。 2、为什么需要复杂度分析? 1.测试结果非常依赖测试环境测试环境中硬件的不同会对测试结果有很大的影响比...
1、什么是数据结构 广义上讲:数据结构就是一组数据的存储结构。狭义上讲:队列、栈、堆、树 等常用的数据结构。 2、什么是算法 算法(Algorithm)就是操作数据的一组方法...