Java代理面试题及参考答案.docxVIP

  • 1
  • 0
  • 约4.55千字
  • 约 8页
  • 2026-11-16 发布于河北
  • 举报

Java代理面试题及参考答案

一、基础概念题

1.什么是代理模式?代理模式的核心作用是什么?

答案:

代理模式属于结构型设计模式,简单来说就是为目标对象提供一个代理对象,由代理对象控制对目标对象的访问。调用方不再直接操作原始目标对象,而是通过代理对象间接完成调用。

核心作用:

在不修改目标对象原有代码的前提下,对目标方法做增强处理;

控制访问权限,决定是否允许调用方访问目标对象;

解耦,把额外逻辑(日志、耗时统计、权限校验、事务)和业务主逻辑分开。

2.Java里面代理分为哪两大类?各自的特点是什么?

答案:

分为静态代理和动态代理。

静态代理:代理类代码需要开发人员手动编写,编译期代理类class文件就已经生成。

动态代理:代理类不需要手写,在程序运行阶段由代码自动生成代理类字节码,加载到JVM中创建代理对象。

3.静态代理的实现思路是什么?静态代理有什么优缺点?

答案:

实现思路:

目标类和代理类实现同一个公共接口;代理类内部持有目标对象的引用;代理类实现接口方法,在方法内部先执行增强逻辑,再调用目标对象对应的方法。

优点:实现简单,逻辑直观,编译期就能发现接口方法签名错误。

缺点:

接口一旦新增方法,目标类和代理类都要同步修改,维护成本高;

一个目标接口通常对应一个代理类,接口数量多时代理类会大量膨胀。

4.什么是JDK动态代理?它的使用前提是什么?

答案:

JDK动

文档评论(0)

1亿VIP精品文档

相关文档