当前使用版本(必须填写清楚,否则不予处理)
mybatisplus-core:3.3.1.tmp
该问题是怎么引起的?(最新版上已修复的会直接close掉)
在com.baomidou.mybatisplus.core.toolkit.LambdaUtils.resolve 方法中对 java.util.function.Function对象使用了getClass方法,经测试 java.util.function.Function getClass返回的对象不会重复,所以LambdaUtils.resolve中的缓存没有起到作用,但却会占用内存,虽然使用了WeakReference,也逃不掉持续占用直到GC。
重现步骤
使用lambda表达式拼装查询条件时,会调用上述方法,导致潜在问题。
报错信息
理论上不会报错
Comment From: miemieYaho
https://github.com/baomidou/mybatis-plus/issues/1183