一:基础知识
1:面向对象编程的三大特征:封装、继承、多态
2:重载与重写得区别
3:String、StringBuffer、StringBuilder的区别
4:接口和抽象类的区别
5:浅拷贝与深拷贝
二:Java集合
1:谈谈你对集合的理解及三大集合的区别与联系
2:ArrayList与LinkedList的区别
3:HashMap、HashTable、CurrentHashMap的区别及底层实现
4:由CurrentHashMap引申出CAS
三:多线程
1:线程、进程之间的关系及优缺点
2:线程得生命周期及状态
3:线程死锁,如何避免线程死锁?
4:说说Synchronized关键字的理解,及Synchronized的底层实现
5:讲一讲JMM(Java内存模型)
6:说说Synchronized和volatile 关键字的区别
7:线程池的定义、如何创建线程池、线程池的原理
8:JUC 包中的原⼦类是哪 4 类?
9:AQS 的全称为( AbstractQueuedSynchronizer ),这个类在 java.util.concurrent.locks 包下⾯。
四:JVM(java虚拟机)
1:介绍下 Java 内存区域(运⾏时数据区)
线程共享:堆、方法区
线程私有:虚拟机栈、本地方法栈、程序计数器
1.8引入元空间(Matespace)
2:对象的创建过程
类加载检查》内存分配》初始化零值》设置对象头》执行init方法
3:聊聊 JVM 内存分配与回收
4:垃圾收集有哪些算法,各⾃的特点?
5:JVM调优
五:Java IO流
连接:https://www.imooc.com/article/24305
谈谈你对NIO流的理解:https://blog.csdn.net/forezp/article/details/88414741/
六:Java 8 新特性
网友评论