Java底层知识

  • 字节码、class文件格式
  • CPU缓存,L1,L2,L3和伪共享
  • 尾递归
  • 位运算

    • 用位运算实现加、减、乘、除、取余

      JVM

  • JVM内存结构

    • 堆、栈、方法区、直接内存、堆和栈区别
  • java内存模型
    • 内存可见性、重排序、顺序一致性、volatile、锁、final
  • 垃圾回收(GC)
    • 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定
  • JVM参数与调优
  • Java对象模型
    • oop-klass、对象头
  • Hotspot
    • 即时编译器、编译优化
  • 虚拟机性能监控与故障处理工具
    • jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler

类加载机制

  • ClassLoader
  • 类加载过程
  • 双亲委派
  • 模块化

    编译与反编译

  • 什么是编译

  • 什么是反编译
  • JIT
  • 编译工具
  • 反编译工具
  • javac 、javap 、jad 、CRF
  • 词法分析,语法分析(LL算法,递归下降算法,LR算法),语义分析,运行时环境,中间代码,代码生成,代码优化