Java Reflection - 谁影响了我?
背景
反射获取方法参数
当在AspectJ的切面中,需要获取切面方法的参数名信息时,可以怎么做?
自 JDK 1.8 之后,开始引入 java.lang.reflect.Parameter 类,用于对参数名称的支持,通过使用“-parameters”编译器标志,开发者在编译时可以保留方法参数的名称信息。
而 StandardReflectionParameterNameDiscoverer
则是Spring封装的,使用 JDK 8 的反射工具,内省方法参数名的工具类,在 Spring MVC 中有大量使用该类获取参数信息。
Arthas
什么是 Arthas 可以参考 官网介绍 。
简单来说,作为一个 Java 开发,遇到线上问题时才发现由于 日志不齐全、无法debug 等原因无法定位问题时,怎么办?有Arthas就可以处理了。我们能用Arthas来做什么官网也有介绍: