花费 21 ms
java面试-Java内存模型(JMM)

一、并发编程两个关键问题 线程之间如何通信、同步。java并发采用的是共享内存模型 二、JMM内存模型的抽象结构 描述的是一组规则或规范,通过这组规范定义了程序中各个变 ...

Thu Jun 27 07:51:00 CST 2019 0 3123
java面试-synchronized底层实现机制

一、synchronized的三种应用方式 1、修饰实例方法,锁是当前实例对象,进入同步代码前要获得当前实例的锁 /** * synchronized修饰实例方法,当前线程的锁 ...

Fri Aug 30 04:31:00 CST 2019 0 1404
java面试-synchronized与lock有什么区别?

1、原始构成: synchronized是关键字,属于JVM层面,底层是由一对monitorenter和monitorexit指令实现的。 ReentrantLock是一个具体类,是API ...

Thu Jul 04 06:36:00 CST 2019 0 1105
java面试-CAS底层原理

一、CAS是什么? 比较并交换,它是一条CPU并发原语。判断内存某个位置的值是否为预期值,如果是更改为新值,这个过程是原子的。 原语属于操作系统用语范畴,是由若干条指令组成的,用于完成某个功能的一 ...

Fri Jun 28 15:35:00 CST 2019 0 850
java面试-谈谈你对volatile的理解

一、volatile特性: volatile是Java虚拟机提供的轻量级的同步机制。主要有三大特性: 保证可见性 不保证原子性 禁止指令重排序 1、保证可见性 1)代码演示 ...

Thu Jun 27 08:15:00 CST 2019 0 688
java面试-阻塞队列

一、阻塞队列 当阻塞队列是空,从队列中获取元素的操作会被阻塞 当阻塞队列是满,往队列中添加元素的操作会被阻塞 二、为什么用,有什么好处? 我们不需要关心什么时候需要阻塞线程,什么时候需要唤醒线 ...

Thu Jul 04 16:09:00 CST 2019 0 626
java面试-死锁产生、定位分析和修复

死锁发生:两个或多个线程之间,互相持有对方需要的锁,而永久处于阻塞状态 一、手写死锁代码: 二、死锁产生的四个条件:互斥:共享资源X和Y只能被一个线程占用占有且等待:线程T1已 ...

Sun Jun 23 02:47:00 CST 2019 0 422

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM