mybatis-plus icon indicating copy to clipboard operation
mybatis-plus copied to clipboard

通过继承 ObjectOutputStream 并开启对象替换,获取 SerializedLambda 对象

Open eastack opened this issue 3 years ago • 1 comments

该Pull Request关联的Issue

修改描述

通过继承 ObjectOutputStream 并开启对象替换,直接从 replaceObject 中获取 SerializedLambda 对象, 替换掉了之前使用 Shadow SerializedLambda 和反射方式获取的方式。

测试用例

通过简单的测试在JDK 1.8 下性能比之前采用反射方法获取速度要快一点,但大致相同。 但没有了所有的反射操作,代码也更加简单。

修复效果的截屏

image 代码仓库中原本有几个测试用例具体不知道什么原因无法通过,也没有再深入研究。

eastack avatar Aug 16 '22 04:08 eastack

:trollface:

VampireAchao avatar Aug 16 '22 05:08 VampireAchao

之前我们是使用的序列化方式,后来改为了反射方式,该方式目前的性能表现如果相差不大的话,可能我们会先保留当前做法。

hcl04 avatar Dec 14 '22 01:12 hcl04