Java代理面试题及详细答案(实战版).docxVIP

  • 1
  • 0
  • 约4千字
  • 约 7页
  • 2026-10-13 发布于河北
  • 举报

Java代理面试题及详细答案(实战版).docx

Java代理面试题及详细答案(实战版)

一、基础概念类

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

参考答案:

代理模式是Java常用的结构性设计模式,核心思路是通过代理对象替代原始目标对象执行操作,对外部隐藏目标对象的细节,同时可以在不修改目标类源码的前提下,对原有业务逻辑进行增强。

简单来说,就是找一个“中间人”帮目标类干活,并且在干活前后加额外逻辑。

核心作用主要有三点:

1.职责解耦:把核心业务和通用非业务逻辑(日志、事务、权限、耗时统计)拆分,符合开闭原则;

2.逻辑增强:在不改动原有代码的基础上,对方法进行前置、后置、异常、环绕增强;

3.访问控制:屏蔽目标对象,控制外部对目标方法的访问权限。

2.Java中有几种代理方式?各自的特点是什么?

参考答案:

Java主流分为三种代理,日常开发最常用后两种动态代理:

1.静态代理:手动编写代理类代码,编译后就存在代理class文件;

2.JDK动态代理:基于接口实现,运行时动态生成代理类,无需手动编码;

3.CGLIB动态代理:基于子类继承实现,无需接口,运行时动态生成目标类的子类作为代理对象。

三者核心区别:静态代理硬编码、扩展性差;JDK代理依赖接口;CGLIB代理依赖继承,可代理普通类。

二、静态代理专项

3.说说静态代理的实现思路和优缺点

参考答案:

实现思路:

1.定义统一业务接口;

2.目标类实

文档评论(0)

1亿VIP精品文档

相关文档