后端岗位面试题更新 2026-08-05

JDK动态代理和CGLIB代理的主要区别有哪些?

数字马力后端开发互联网/IT技术原理技术选型方案权衡JavaSpring Framework

考察说明

考察对Java动态代理实现原理、适用场景与限制的理解

回答思路

  1. 说明JDK代理基于接口,CGLIB基于继承生成子类
  2. 说明CGLIB通过字节码生成子类并重写方法,无需接口
  3. 比较性能特点与应用场景,如Spring AOP选择逻辑
  4. 指出CGLIB对final类或final方法无法代理
  5. 说明JDK代理要求目标类实现接口,CGLIB不受此限
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。