课程大纲
学习路线规划
技术篇
行业资讯
pmp
软考
Tomcat中为什么要使用自定义类加载器? 一个Tomcat中可以部署多个应用,而每个应用中都存在很多类,并且各个应用中的类是独立的,全类名是可以相同的,比如一个订单系统中可能存在c ...详情>>
Sychronized的锁升级过程是怎样的? 偏向锁:在锁对象的对象头中记录一下当前获取到该锁的线程ID,该线程下次如果又来获取该锁就可以直接获取到了,也就是支持锁重入 轻量级锁:由 ...详情>>
ReentrantLock分为公平锁和非公平锁,那底层分别是如何实现的? 首先不管是公平锁和非公平锁,它们的底层实现都会使用AQS来进行排队,它们的区别在于线程在使用lock()方法加锁时: ...详情>>
ThreadLocal有哪些应用场景?它底层是如何实现的? ThreadLocal是Java中所提供的线程本地存储机制,可以利用该机制将数据缓存在某个线程内部,该线程可以在任意时刻、任意方法中 ...详情>>
你的应用突然出现了OOM异常,你会如何排查?薪资:15k-25k岗位:高级开发工程师对于还在正常运行的系统: 可以使用jmap来查看JVM中各个区域的使用情况 可以通过jstack来查看线程的运 ...详情>>
Sychronized和ReentrantLock有哪些不同点? sychronized ReentrantLock Java中的一个关键字 JDK提供的一个类 自动加锁与释放锁 ...详情>>
线程池有哪几种状态?每种状态分别表示什么?薪资:10k-15k岗位:初级开发工程师1. RUNNINGAccept new tasks and process queued tasks表示线程池正常运行,既能接受新任务,也会正常 ...详情>>
为什么不建议使用Executors来创建线程池?薪资:10k-20k岗位:中级开发工程师1. FixedThreadPool当我们使用Executors创建FixedThreadPool时,对应的构造方法为:public static Execu ...详情>>
ava中有哪几种方式来创建线程执行任务? 1. 继承Thread类/** * 作者:周瑜大都督 */public class ZhouyuThread extends Thread{ public static void main(String[] args) { ...详情>>
1、类的生命周期一个类完整的生命周期,会经历五个阶段,分别为:加载、连接、初始化、使用、和卸载。其中的连接又分为验证、准备和解析三个步骤。如下图所示 加载(Loading)简单一 ...详情>>
javaspring面试题-AOP 动态代理
javaspring面试题-IOC 控制反转
java多线程面试题-happens-before
java多线程面试题-AQS思想
java多线程面试题-volatile底层实现
java多线程面试题-内存模型
2024-05-13
2024-05-11
2024-05-16