SlideShare a Scribd company logo
1 of 24
AOP 概念及实践 By  李学科
AOP 术语 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AOP 术语 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
第三方 AOP 组件 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4 种  AOP  工具的语义概括
4 种  AOP  工具中的语法
AspectJ 例子 ,[object Object],[object Object]
使用注释的等效代码 ,[object Object],[object Object]
Spring 的植入方式 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AOP Alliance & Spring AOP
前置处理 ,[object Object],[object Object],[object Object],[object Object],[object Object]
后置处理 ,[object Object],[object Object],[object Object],[object Object],[object Object]
环绕处理 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Spring 与 AspectJ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
就这么简单 ,[object Object],[object Object],[object Object],[object Object]
通配符简要说明 ,[object Object],[object Object],[object Object]
栗子 ,[object Object],[object Object],[object Object],[object Object]
匹配的问题
植入的顺序 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
一个典型的注释类 ,[object Object],[object Object],[object Object],[object Object],[object Object]
注释的使用范围 ,[object Object],[object Object],[object Object]
注释中的属性 ,[object Object],[object Object],[object Object]
反射的效率 运算次数 1000 10000 100000 百万 千万 f.set 16 31 219 2172 21625 setProperty 359 406 625 2953 26438 差值百分比 2143.75% 1209.68% 185.39% 35.96% 22.26% f.get 0 32 219 2172 21859 getProperty 16 15 156 1437 14500 差值百分比 100.00% -113.33% -40.38% -51.15% -50.75%
反射机制的盲点 ,[object Object],[object Object],[object Object]

More Related Content

Viewers also liked (9)

Scrum敏捷开发模型
Scrum敏捷开发模型Scrum敏捷开发模型
Scrum敏捷开发模型
 
My sql迁移总结
My sql迁移总结My sql迁移总结
My sql迁移总结
 
一次项目的探险旅程
一次项目的探险旅程一次项目的探险旅程
一次项目的探险旅程
 
一次Code review引发的思考
一次Code review引发的思考一次Code review引发的思考
一次Code review引发的思考
 
Shoutv 冯晓东
Shoutv 冯晓东Shoutv 冯晓东
Shoutv 冯晓东
 
图解Git
图解Git图解Git
图解Git
 
一次Http请求过程分析
一次Http请求过程分析一次Http请求过程分析
一次Http请求过程分析
 
漫谈职业规划
漫谈职业规划漫谈职业规划
漫谈职业规划
 
Aspect Oriented Programing - Introduction
Aspect Oriented Programing - IntroductionAspect Oriented Programing - Introduction
Aspect Oriented Programing - Introduction
 

Similar to AOP概念及实践

Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)
FLASH开发者交流会
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
Shanda innovation institute
 
Performance Monitoring With AOP
Performance Monitoring With AOPPerformance Monitoring With AOP
Performance Monitoring With AOP
ivannotes
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
wangjiaz
 
Java 1(Java概述)
Java 1(Java概述)Java 1(Java概述)
Java 1(Java概述)
xzdbd
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南
yiditushe
 
J2ee面试知识
J2ee面试知识J2ee面试知识
J2ee面试知识
yiditushe
 
Struts学习笔记
Struts学习笔记Struts学习笔记
Struts学习笔记
yiditushe
 
J2ee经典学习笔记
J2ee经典学习笔记J2ee经典学习笔记
J2ee经典学习笔记
yiditushe
 
招聘笔试题(二)
招聘笔试题(二)招聘笔试题(二)
招聘笔试题(二)
yiditushe
 
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Justin Lin
 

Similar to AOP概念及实践 (20)

beidakejian
beidakejianbeidakejian
beidakejian
 
Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)Avm2虚拟机浅析与as3性能优化(陈士凯)
Avm2虚拟机浅析与as3性能优化(陈士凯)
 
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
[Flash开发者交流][2010.05.30]avm2虚拟机浅析与as3性能优化(陈士凯)
 
JavaScript 快速複習 2017Q1
JavaScript 快速複習 2017Q1JavaScript 快速複習 2017Q1
JavaScript 快速複習 2017Q1
 
SCJP ch02
SCJP ch02SCJP ch02
SCJP ch02
 
Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援
 
Jsp
JspJsp
Jsp
 
Performance Monitoring With AOP
Performance Monitoring With AOPPerformance Monitoring With AOP
Performance Monitoring With AOP
 
千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7千呼萬喚始出來的Java SE 7
千呼萬喚始出來的Java SE 7
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
Java 1(Java概述)
Java 1(Java概述)Java 1(Java概述)
Java 1(Java概述)
 
IOS入门分享
IOS入门分享IOS入门分享
IOS入门分享
 
Struts快速学习指南
Struts快速学习指南Struts快速学习指南
Struts快速学习指南
 
J2ee面试知识
J2ee面试知识J2ee面试知识
J2ee面试知识
 
Php
PhpPhp
Php
 
Struts学习笔记
Struts学习笔记Struts学习笔记
Struts学习笔记
 
J2ee经典学习笔记
J2ee经典学习笔记J2ee经典学习笔记
J2ee经典学习笔记
 
招聘笔试题(二)
招聘笔试题(二)招聘笔试题(二)
招聘笔试题(二)
 
Mybatis学习培训
Mybatis学习培训Mybatis学习培训
Mybatis学习培训
 
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
 

More from Tony Deng

《我们如何工作》—质量保障
《我们如何工作》—质量保障《我们如何工作》—质量保障
《我们如何工作》—质量保障
Tony Deng
 
《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通
Tony Deng
 
技术债务的形成
技术债务的形成技术债务的形成
技术债务的形成
Tony Deng
 
我们不了解的计算机世界(二)
我们不了解的计算机世界(二)我们不了解的计算机世界(二)
我们不了解的计算机世界(二)
Tony Deng
 
我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历
Tony Deng
 
实时任务调度
实时任务调度实时任务调度
实时任务调度
Tony Deng
 
节约内存:Instagram的redis实践
节约内存:Instagram的redis实践节约内存:Instagram的redis实践
节约内存:Instagram的redis实践
Tony Deng
 
晁盖与宋江的“兄弟情谊”
晁盖与宋江的“兄弟情谊”晁盖与宋江的“兄弟情谊”
晁盖与宋江的“兄弟情谊”
Tony Deng
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
Tony Deng
 
施耐庵究竟怎样写武松
施耐庵究竟怎样写武松施耐庵究竟怎样写武松
施耐庵究竟怎样写武松
Tony Deng
 
我们的岛,又有多大
我们的岛,又有多大我们的岛,又有多大
我们的岛,又有多大
Tony Deng
 
数据挖掘九律
数据挖掘九律数据挖掘九律
数据挖掘九律
Tony Deng
 
核辐射乱谈
核辐射乱谈核辐射乱谈
核辐射乱谈
Tony Deng
 
Bash的快捷键
Bash的快捷键Bash的快捷键
Bash的快捷键
Tony Deng
 
西游记里那些可爱的小妖们
西游记里那些可爱的小妖们西游记里那些可爱的小妖们
西游记里那些可爱的小妖们
Tony Deng
 

More from Tony Deng (20)

一页纸项目管理
一页纸项目管理一页纸项目管理
一页纸项目管理
 
Docker at the gate
Docker at the gateDocker at the gate
Docker at the gate
 
《我们如何工作》—质量保障
《我们如何工作》—质量保障《我们如何工作》—质量保障
《我们如何工作》—质量保障
 
《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通《我们如何工作》- 产品经理和工程师如何有效沟通
《我们如何工作》- 产品经理和工程师如何有效沟通
 
我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式我们为何工作--找到正确的工作方式
我们为何工作--找到正确的工作方式
 
SDN介绍
SDN介绍SDN介绍
SDN介绍
 
技术债务的形成
技术债务的形成技术债务的形成
技术债务的形成
 
我们不了解的计算机世界(二)
我们不了解的计算机世界(二)我们不了解的计算机世界(二)
我们不了解的计算机世界(二)
 
HBase
HBaseHBase
HBase
 
我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历我们不了解的计算机世界(一)--Unix目录结构的来历
我们不了解的计算机世界(一)--Unix目录结构的来历
 
实时任务调度
实时任务调度实时任务调度
实时任务调度
 
节约内存:Instagram的redis实践
节约内存:Instagram的redis实践节约内存:Instagram的redis实践
节约内存:Instagram的redis实践
 
晁盖与宋江的“兄弟情谊”
晁盖与宋江的“兄弟情谊”晁盖与宋江的“兄弟情谊”
晁盖与宋江的“兄弟情谊”
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
施耐庵究竟怎样写武松
施耐庵究竟怎样写武松施耐庵究竟怎样写武松
施耐庵究竟怎样写武松
 
我们的岛,又有多大
我们的岛,又有多大我们的岛,又有多大
我们的岛,又有多大
 
数据挖掘九律
数据挖掘九律数据挖掘九律
数据挖掘九律
 
核辐射乱谈
核辐射乱谈核辐射乱谈
核辐射乱谈
 
Bash的快捷键
Bash的快捷键Bash的快捷键
Bash的快捷键
 
西游记里那些可爱的小妖们
西游记里那些可爱的小妖们西游记里那些可爱的小妖们
西游记里那些可爱的小妖们
 

AOP概念及实践

  • 2.
  • 3.
  • 4.
  • 5. 4 种 AOP 工具的语义概括
  • 6. 4 种 AOP 工具中的语法
  • 7.
  • 8.
  • 9.
  • 10. AOP Alliance & Spring AOP
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. 反射的效率 运算次数 1000 10000 100000 百万 千万 f.set 16 31 219 2172 21625 setProperty 359 406 625 2953 26438 差值百分比 2143.75% 1209.68% 185.39% 35.96% 22.26% f.get 0 32 219 2172 21859 getProperty 16 15 156 1437 14500 差值百分比 100.00% -113.33% -40.38% -51.15% -50.75%
  • 24.