public abstract class FieldKeyBuilder extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
FieldKeyBuilder.FastFieldKeyBuilder
FastFieldKeyBuilder
|
static class |
FieldKeyBuilder.FieldKey
FieldKey
FieldKey 用于封装 targetClass、fieldName 这两部分的 hash 值,
确保不会出现 key 值碰撞
这两部分 hash 值在不同 class 与 field 的组合下出现碰撞的
概率完全可以忽略不计
备忘:
可以考虑用 ThreadLocal 重用 FieldKey 对象,但要注意放入 Map fieldGetterCache
中的 FieldKey 对象需要 clone 出来,确保线程安全。
|
static class |
FieldKeyBuilder.StrictFieldKeyBuilder
StrictFieldKeyBuilder
|
| 构造器和说明 |
|---|
FieldKeyBuilder() |
| 限定符和类型 | 方法和说明 |
|---|---|
abstract Object |
getFieldKey(Class<?> targetClass,
long fieldFnv1a64Hash) |
static FieldKeyBuilder |
getInstance() |
static void |
setFastFieldKeyBuilder(boolean enable)
开启 FastFieldKeyBuilder,性能更高
|
static void |
setFieldKeyBuilder(FieldKeyBuilder fieldKeyBuilder)
设置为自定义 FieldKeyBuilder
|
public static FieldKeyBuilder getInstance()
public static void setFastFieldKeyBuilder(boolean enable)
public static void setFieldKeyBuilder(FieldKeyBuilder fieldKeyBuilder)
Copyright © 2024. All rights reserved.