java语言考点之动态代理相关

08月29日 收藏 0 评论 0 java开发

java语言考点之动态代理相关

考点介绍:

在校招面试中,动态代理相关内容经常出现。AOP的拦截功能是由java中的动态代理来实现的,AOP的源码中用到了两种动态代理来实现拦截切入功能::jdk动态代理和cglib动态代理。两种方法同时存在,各有优劣。

答案详情解析和文章内容可扫下方二维码或链接即可查看!

一、考点题目

1、 JDK 和 JRE 有什么区别?(面试题) 

解答:JDK是Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境 ......

2、动态代理是什么?有哪些应用?(面试题)

解答: 当想要给实现了某个接口的类中的方法,加一些额外的处理。比如说加日志,加事务等。可以给这个类创建一个代理......

3、 怎么实现动态代理?(面试题) 

解答: 首先必须定义一个接口,还要有一个InvocationHandler(将实现接口的类的对象传递给它)处理类......

4、 请列举出在 JDK 中几个常用的设计模式? 

解答:单例模式,作用:保证类只有一个实例。JDK中体现:Runtime类......

二、考点文章

1、jdk和jre有什么区别? 

在安装的过程中各位可能注意到了JRE这个名词,下面我们来聊聊JDK和JRE的关系和区别。JDK:它是Java开发运行环境,在程序员的电脑上当然要安装JDK;JRE:Java Runtime Environment它是Java运行环境,如果你不需要开发只需要运行Java程序 ......

2、cglib动态代理和jdk动态代理的区别与应用 

如果从一个Controller调用Service的非事务方法a,然后在a里调用事务方法b,b事务生效吗?

public void update() {
updateActual();
int a = 1 / 0;
}
@Transactional
public void updateActual() {
WithHoldInfoVO vo = new WithHoldInfoVO();
vo.setId(18);
vo.setStatus(5);
withholdMapper.updateWithHoldInfo(vo);
WithHoldInfoVO vo1 = new WithHoldInfoVO();
vo1.setId(27);
vo1.setStatus(5);
withholdMapper.updateWithHoldInfo(vo1);
}

……

3、 Java动态代理的两种实现方法 

AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行......

三、考点视频

sleep是线程类Thread的静态方法,wait是object类的普通方法……

移动端链接:https://m.xiaozhao.vip/dTopic/detail/1132

PC端链接:https://xiaozhao.vip/dTopic/detail/1132

C 0条回复 评论

帖子还没人回复快来抢沙发