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

Spring AOP中JDK动态代理和CGLIB的区别是什么?

招银云创后端开发专业服务技术原理方案权衡Spring Framework

考察说明

考察对两种代理机制原理、适用场景和性能特点的理解深度

回答思路

  1. 说明JDK动态代理基于接口、利用反射生成代理类,目标类必须实现接口
  2. 说明CGLIB基于继承、通过字节码生成子类,不能代理final类或final方法
  3. 对比两者在性能、兼容性、代理范围上的差异以及Spring框架的默认选择规则