这篇文章主要讲解了“如何利用AOP实现在执行目标方法前获取参数占用内存大小”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用AOP实现在执行目标方法前获取参数占用内存大小”吧!
利用AOP切面编程实现:打印目标方法的参数所占用内存大小。
<dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.8</version> </dependency>
importlombok.extern.slf4j.Slf4j; importorg.aspectj.lang.JoinPoint; importorg.aspectj.lang.annotation.Aspect; importorg.aspectj.lang.annotation.Before; importorg.aspectj.lang.annotation.Pointcut; importorg.openjdk.jol.info.GraphLayout; importorg.springframework.stereotype.Component; importjava.io.Serializable; /** *在目标方法执行前,打印目标方法的参数所占用内存大小 */ @Aspect @Slf4j @Component publicclassGraphLayoutPrinterimplementsSerializable{ privatestaticfinallongserialVersionUID=-8557926864119671723L; /** *com.xxx.batching包及所有子包下任何类的任何方法 */ @Pointcut("execution(*com.xxx.batching..*.*(..))") publicvoidpointCut(){} @Before("pointCut()") publicvoiduseMemory(JoinPointjoinPoint){ Objectarg=joinPoint.getArgs()[0]; longtotalSize=GraphLayout.parseInstance(arg).totalSize(); log.info("###Thetargetmethod:[{}]parameterusedmemoryis:[{}]KB",joinPoint.getSignature(),totalSize/1024); } }
感谢各位的阅读,以上就是“如何利用AOP实现在执行目标方法前获取参数占用内存大小”的内容了,经过本文的学习后,相信大家对如何利用AOP实现在执行目标方法前获取参数占用内存大小这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
SpringBoot自定义注解之实现AOP切面日志详解
SpringBoot使用AOP记录接口操作日志详解
Spring(aop,如何通过获取代理对象实现事务切换)
Spring,aop,如何通过获取代理对象实现事务切换,恰卡网带你了解更多相关信息。Springaop获取代理对象实现...
AOP如何实现监控方法执行耗时
本篇内容主要讲解“AOP如何实现监控方法执行耗时”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带...
面试官:什么是AOP?Spring AOP和AspectJ的区别是什么? _ JAVA
AOP实现的关键就在于AOP框架自动创建的AOP代理,AOP代理则可分为静态代理和动态代理两大类,其中静态代理是指使用AOP框架提...
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议