当前位置: 首页 > wzjs >正文

购物软件app排行榜前十名临沂seo公司

购物软件app排行榜前十名,临沂seo公司,网站的运作方式,南昌网站建设网站推广AOP即面向切面编程,他的基本单元就是一个切面,相比于OOP他的思想主要是对方法功能进行封装,使得它可以通过配置方式灵活的切入到某一批目标对象方法中,它可以看作是原始类的增强,为其添加了额外的功能,一般…

AOP即面向切面编程,他的基本单元就是一个切面,相比于OOP他的思想主要是对方法功能进行封装,使得它可以通过配置方式灵活的切入到某一批目标对象方法中,它可以看作是原始类的增强,为其添加了额外的功能,一般用的比较多实在事务管理、日志和缓存。

AOP分为两种一个是静态代理一个是动态代理,也就是AspectJ和SpringAOP,静态代理是在编译阶段将Aspect植入Java字节码中,运行的时候就是增强之后的AOP对象。

而动态代码以Spring AOP举例,他不会去修改字节码,而是在内存中临时为方法生成一个AOP对象,并且这个AOP对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并且回调原对象的方法。

而实现这个过程有两种方式一个是JDK动态代理一个是CGLIB动态代理,两者的触发条件有所不同,如果需要被代理的类实现了一个接口那么就是使用JDK动态代理,否则就是CGLIB动态代理,也可以通过@EnableAspectJAutoProxy注解显示配置使用CGLIB;

JDK动态代理流程大概是在类加载过程中会动态生成代理类Proxy,他是在内存直接生成字节码并通过类加载器加载到JVM中,然后再类的初始化的过程,代理类会实现目标类的接口并持有一个InvocationHandler接口的实例,然后再调用代理对象方法的时候,JVM会将其转发到InvocationHandler的invoke()方法中,然后执行切面逻辑和目标方法的调用,当代理对象不再被引用的时候,JVM的垃圾回收期会将其标记为可回收对象,并回收其内存。

CGLIB动态代理流程大概是在类加载过程中通过Enhancer类动态生成目标类的子类作为代理类,在类初始化时会继承目标类并重写目标方法,同时代理类还会持有一个MethodInterceptor的实例并创建出代理对象,当调用被代理对象方法时,JVM会将其转发到MethodInterceptor的intercept方法上执行切面逻辑和目标方法的调用,随着不被引用也会被回收。

总的来说JDK动态代理和CGLIB动态代理最大的区别就是一个时通过“反射机制”创造一个包含了目标类方法的增强类实现切面逻辑和原始逻辑,一个则是以子类继承的方式并额外持有增强实例调用切面逻辑和原始逻辑。

参考:Java AOP的底层实现原理 - 健人雄 - 博客园

http://www.dtcms.com/wzjs/170408.html

相关文章:

  • 西安seo网站关键词优化通过qq群可以进行友情链接交换
  • 东莞网站建设公司电话seo公司外包
  • 网站开发 例子可以直接进入的舆情网站
  • 新疆分享是官方网站吗?百度指数数据分析平台官网
  • 桂林网站建设官网wordpress建站公司
  • 创建网站的视频站长之家排行榜
  • 企业网站优化怎么提高关键词排名长春seo外包
  • 如何用个人电脑做网站独立站建站平台
  • 学校二级网站建设自查情况百度云群组
  • 有做二手厨房设备的网站吗西地那非片能延时多久每次吃多少
  • 中国十大公司兰州网络优化seo
  • 北京手机网站开发如何制作付费视频网站
  • 网站的搜索功能怎么做网络推广营销软件
  • 万齐网站建设做网站好的网站建设公司
  • 高端网站设计费用创量广告投放平台
  • 长春建站培训seo友情链接
  • 搭建网站 赚钱郑州搜索引擎优化
  • 连云港做网站的短视频推广渠道
  • 新手做网站推荐搜索引擎营销实训报告
  • 做阀门的网站百度竞价托管哪家好
  • 广东官网网站建设品牌品牌互动营销案例
  • 网站制作背景百度指数特点
  • 建设b2b网站要求怎么做网站教程
  • 万能图片编辑器天津seo推广软件
  • 传智播客 网站开发百度互联网营销顾问
  • 网站的管理更新维护5000元网站seo推广
  • 网站后台管理系统数据库贵阳搜索引擎排名推广
  • 工信部网站备案信息查询网店运营工资一般多少
  • wordpress app 读者关键词优化网站排名
  • asp企业网站设计微信朋友圈广告推广