本文整理匯總了Java中org.h2.mvstore.DataUtils.COMPRESSED_VAR_LONG_MAX屬性的典型用法代碼示例。如果您正苦於以下問題:Java DataUtils.COMPRESSED_VAR_LONG_MAX屬性的具體用法?Java DataUtils.COMPRESSED_VAR_LONG_MAX怎麽用?Java DataUtils.COMPRESSED_VAR_LONG_MAX使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類org.h2.mvstore.DataUtils
的用法示例。
在下文中一共展示了DataUtils.COMPRESSED_VAR_LONG_MAX屬性的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: write
@Override
public void write(WriteBuffer buff, Object obj) {
if (!(obj instanceof Long)) {
super.write(buff, obj);
return;
}
long x = (Long) obj;
if (x < 0) {
// -Long.MIN_VALUE is smaller than 0
if (-x < 0 || -x > DataUtils.COMPRESSED_VAR_LONG_MAX) {
buff.put((byte) TAG_LONG_FIXED);
buff.putLong(x);
} else {
buff.put((byte) TAG_LONG_NEGATIVE);
buff.putVarLong(-x);
}
} else if (x <= 7) {
buff.put((byte) (TAG_LONG_0_7 + x));
} else if (x <= DataUtils.COMPRESSED_VAR_LONG_MAX) {
buff.put((byte) TYPE_LONG);
buff.putVarLong(x);
} else {
buff.put((byte) TAG_LONG_FIXED);
buff.putLong(x);
}
}