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

JDK 动态代理和 CGLib 代理分别是什么?它们有什么区别?

数字马力后端开发互联网/IT技术原理技术选型

考察说明

考察对两种动态代理实现机制及其适用场景的理解

回答思路

  1. 说明 JDK 代理基于接口,通过反射调用 InvocationHandler
  2. 说明 CGLib 通过继承生成子类并重写方法
  3. 指出 JDK 代理要求目标类实现接口,CGLib 可代理无接口类
  4. 强调 CGLib 对 final 类或 final 方法的限制
  5. 解释 Spring 中基于接口选择代理方式的默认策略
本题已收录答题指导

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

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