Java面试常见问题总结

Posted by BHH on February 1, 2021

Java面试常见问题总结

Java基础

  1. synchronized关键字用法
  2. Lock的种类
  3. synchronized和Lock的区别
  4. 线程间通信有几种方式
  5. wait(), sleep()区别
  6. 线程状态
  7. ThreadLocal的用法
  8. volatile关键字,和synchronized区别
  9. NIO和AIO的区别

JVM知识

  1. JVM内存有哪几部分组成
  2. 常用的GC算法和GC种类,默认的是哪种?

Java设计原则和常用设计模式

算法

  1. HashTable 和ConcurrentHashMap的区别?
  2. 红黑树的原理?
  3. Java中还有哪些数据结构使用了红黑树?

其他问题

  1. 如何设计一个对象,访问者可以使用该对象,但无法修改该对象的内容?

  2. 简述TLS/SSL交互流程