当前使用版本(必填,否则不予处理)

3.3.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

3.3.1版本 PaginationInterceptor拦截器会实例化非常多的异常,导致JVM_FillInStackTrace消耗了大约8%~12%的系统资源

具体是因为通过org.apache.ibatis.reflection.MetaObject#getValue,org.apache.ibatis.reflection.MetaObject#setValue 处理私有字段时,会额外实例化IllegalAccessException异常

例如:com.baomidou.mybatisplus.core.toolkit.PluginUtils#realTarget 会实例化两个异常一次为获取”h“的时候,一次为获取”target“的时候

最新版本PaginationInterceptor已经有了很大的优化,但是在获取/替换BoundSql、ParameterHandler时,还是通过MetaObject对象进行处理

重现步骤(如果有就写完整)

引入3.3.1版本 注入PaginationInterceptor 调用任意访问数据库的接口 断点位置: org.apache.ibatis.reflection.invoker.GetFieldInvoker 37行 org.apache.ibatis.reflection.invoker.SetFieldInvoker 37行

报错信息

Comment From: huayanYu

建议参与PR

Comment From: qmdx

希望给出实质性的 pr