9.26面试题

一、target,aspect,joinpoint,pointcut,waving,advice,proxy分别指什么?

     target:

       目标,委托人,在aop中,target相当于我门需要被我门增加的方法。

     aspect:

        切面类,被这个注解的类,会成为一个切面类,这个切面类,就是可以进入到被增强的方法当中,如果这个类中的方法参数类型为JoinPoint,说明此方法一般用于前面增强,或者后面增强,若是用的ProceedingJoinPoint,一般为环绕型增加,当调用里面的proceed方法时候就会进入的被增强的方法。

@Component
@Aspect
public class SelectAspect {

    @Around("@annotation(com_qf_2103.Annocation.Select)")
    public void before(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
         SqlSession sqlSession=null;
         try
         {
             sqlSession = MybatisTools.getSqlsession();
             proceedingJoinPoint.proceed();  // 进入被增强的方法
             sqlSession.commit();
         }catch (Exception e)
         {
             sqlSession.rollback();
             e.printStackTrace();
         }finally {
            sqlSession.close();
         }
    }
}

     joinpoint:

      切入点,也就是调用的proceed方法

   

    pointcut:

       切入面也就是具体需要切入的是哪个类,哪个方法。

 <aop:pointcut id="myAspect01_01" expression="execution(* com.qf.springtest003.service.impl.*.*(..))"/>

   

   waving织入:

     

   advice:

   增强,常用的有 before前面增强,after后面增强,around环绕增强,afterrunting返回后加入,有异常不执行,afterThrow有异常才会加入。

二、什么是机器码,什么是字节码

    机器码:

    也叫机器语言指令,是电脑CPU可以直接读取的数据,如果用机器语言编写程序,编程人员要熟记计算机全部指令代码。这对于程序员来说学习成本太大了。

总结:机器码的运行速度最快,电脑的CPU可以直接对他进行读取。

   字节码:

     字节码是一种包含执行程序,由一系列op组成的二进制文件,他是一种中间码,比机器语言更抽象,需要转译后才能成为机器码,我们写一个java源文件,最后会被编译成java.class文件才能被虚拟机运行。

三、什么是asm

     asm是一个管理字节码文件的框架,能够动态的生成类,或者增强已有类的功能,ASM可以直接产生二进制文件,也可以在类被加载入java虚拟机之前动态改变类行为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小唐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值