Java高频考点

Java高频考点

基础

  • String的不变性如何理解
  • 实现Stringequals方法
  • StringBuilderStringBuffer,哪个是线程安全的,如何实现线程安全的?
  • LongInteger的缓冲机制
  • 自动拆箱/自动装箱
  • volatile修饰有什么用
  • 反射

集合类

  • HashMap的源码实现1.7/1.8都要看,差别比较)
  • HashMapput方法、扩容方法
  • HashMap的初始容量为什么要是2的幂?
  • HashMap如何解决哈希冲突?
  • ConcunrrentHashMap的源码实现1.7/1.8都要看,同时要跟HashMap比较)
  • 快速失败/安全失败
  • ArrayList的源码分析,重要方法的实现步骤
  • LinkedList的源码分析,重要方法的实现步骤

并发

  • 乐观锁与悲观锁的区别
  • Java中如何实现乐观锁/悲观锁?
  • CAS实现
  • ABA问题如何解决?
  • AQS
  • CountDownLatchCyclicBarrierSemaphore
  • ThreadLocal
  • ReentrantLock底层实现
  • synchronized原理
  • 锁优化

线程池

  • 如何实现一个线程池?(也就是线程池底层是如何实现的)
  • 核心线程数、最大线程数的区别
  • 线程池的拒绝策略

JVM

  • JAVA运行时数据区如何划分?
  • 双亲委派模型
  • 类加载机制
  • 垃圾回收算法有哪些?
  • 垃圾回收器有哪些?

去哪找答案?

拓展

Spring

  • IOCAOP原理
  • Bean的创建方式、生命周期
  • Spring 框架中用到了哪些设计模式
  • 事务的实现方式和实现原理

分布式

  • CAP原理和BASE理论
  • 分布式一致性算法(RaftPaxos等)
  • 分布式事务
  • 本地消息表
  • 分布式锁

推荐书籍

你觉得这篇文章怎么样?
YYDS
比心
加油
菜狗
views

Loading Comments...