JoabYang

Results 1 issues of JoabYang

**前提:业务上允许a.b.c中a or b为null,当a or b为null时返回null,且为了方便配置大部分均这样配置** **Option设置:Options.NIL_WHEN_PROPERTY_NOT_FOUND=true** 性能分析时,发现com.googlecode.aviator.utils.Reflector#fastGetProperty(java.lang.String, java.lang.String[], java.util.Map, com.googlecode.aviator.utils.Reflector.Target, boolean, int, int)方法中有如下实现 通过火焰图分析发现com.googlecode.aviator.runtime.type.AviatorJavaType#tryResolveAsClass方法执行性能损耗极大(如下面的性能分析所示)。 分析该方法的实现逻辑,大概是:当a.b.c中a为null时,对a进行一系列的class类型处理,其目的之一是读取静态变量的前置逻辑。 除此之外该方法还有哪些意图? 如果禁止该方法的执行会丢失哪些功能? 提供禁止执行的选项开关(如添加Options选项)是否是一种解决方案? 附:性能对比实现与结果 实现: 1. 对com.googlecode.aviator.runtime.type.AviatorJavaType#tryResolveAsClass执行添加开关Options.SWITCH ```java if (target.innerEnv != null) { val =...