-
HashMap 和 HashSet区别
-
HashSet如何检查重复
-
HashMap的底层实现
-
HashMap 的⻓度为什么是2的幂次⽅
-
HashMap 多线程操作导致死循环问题
-
ConcurrentHashMap 和 Hashtable 的区别
-
ConcurrentHashMap线程安全的具体实现⽅式/底层具体实现
-
comparable 和 Comparator的区别
-
集合框架底层数据结构总结
-
如何选⽤集合?
Java集合答案解析
多线程
===
-
什么是线程和进程?
-
请简要描述线程与进程的关系,区别及优缺点?
-
说说并发与并⾏的区别?
-
为什么要使⽤多线程呢?
-
使⽤多线程可能带来什么问题?
-
说说线程的⽣命周期和状态?
-
什么是上下⽂切换?
-
什么是线程死锁?如何避免死锁?
-
说说 sleep() ⽅法和 wait() ⽅法区别和共同点?
-
为什么我们调⽤ start() ⽅法时会执⾏ run() ⽅法,为什么我们不能直接调⽤ run() ⽅
-
法?
-
说⼀说⾃⼰对于 synchronized 关键字的了解
-
说说⾃⼰是怎么使⽤ synchronized 关键字,在项⽬中⽤到了吗
-
synchronized关键字最主要的三种使⽤⽅式
-
讲⼀下 synchronized 关键字的底层原理
-
说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍⼀下这些优化吗
-
谈谈 synchronized和ReentrantLock 的区别
-
讲⼀下Java内存模型
-
说说 synchronized 关键字和 volatile 关键字的区别
-
ThreadLocal原理及ThreadLocal 内存泄露问题
-
实现Runnable接⼝和Callable接⼝的区别
-
执⾏execute()⽅法和submit()⽅法的区别是什么呢?
-
线程池原理分析
-
能不能给我简单介绍⼀下 AtomicInteger 类的原理
-
AQS 原理分析
多线程答案解析
JVM
===
-
介绍下 Java 内存区域(运⾏时数据区)
-
说⼀下Java对象的创建过程
-
对象的访问定位有哪两种⽅式?
-
说⼀下堆内存中对象的分配的基本策略
-
Minor Gc和Full GC 有什么不同呢?
-
如何判断对象是否死亡?(两种⽅法)
-
简单的介绍⼀下强引⽤,软引⽤,弱引⽤,虚引⽤
-
如何判断⼀个常量是废弃常量?
-
如何判断⼀个类是⽆⽤的类?
-
垃圾收集有哪些算法,各⾃的特点?
-
HotSpot为什么要分为新⽣代和⽼年代?
-
常见的垃圾回收器有哪些?
-
类加载过程