分类: 技术分享
JDK命令行工具
java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-……
Java面试基础
重点关注的
可达性分析原理:三色标记
原子性、有序性、可见性、as-if-serial、happen-before、sync、volatile的关系
https://blog.csdn.net/qq_33173608/ar……
Thread & ExecutorService & ThreadPoolExecutor 总览
ExecutorService
类方法
shutdown
允许已经提交的任务(尚未开始执行和已经开始执行的)继续执行
shutdownNow
尚未开始执行的任务不再执行,同时尝试终止……
常用队列
Queue
继承自Collection接口.
共6个方法,分为三类:插入,移除,检测,每类方法有两个方法:
抛出异常
返回特定值
插入
add(e)
offer(e)
移除
remov……
不重启 JVM,如何替换掉已经加载的类?
场景
在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:
“Debug一下吧。”
……
synchronized原理深度剖析
sync是jvm的内置锁,底层是通过对象监视器(ObjectMonitor)来实现。而对象监视器的底层实现是通过cas+自旋或者操作系统的互斥量来实现的。通过javap -c 命令可……
ReentrantLock源码解读
如果我们对AQS有过理解过,再来看RentrantLock的代码就相当容易了。
我们都知道ReentrantLock有公平和非公平之分,而AQS是没有这个公平或非公平的概念的。
下……
CountDownLatch源码解读
使用场景
一句话总结:一个或多个线程,等待其他多个线程执行完毕后才继续执行。
具体场景:
某个线程等待其他多个线程执行完毕才能继续执行。就好比一个公交……