| 接口 | 说明 |
|---|---|
| ConsistentHash.HashFunction |
Hash String to long value
|
| TimingWheel.Timing<T extends TimingWheel.Timing<T>> |
Timing of TimingWheel elements
|
| 类 | 说明 |
|---|---|
| Asserts |
Extended org.springframework.util.Assert
|
| Base58 |
https://www.jianshu.com/p/ffc97c4d2306
在计算机系统中数值使用补码来表示和存储
原码(True form) :正数的原码为其二进制;负数的原码为对应的正数值在高位补1;
反码(1's complement):正数的反码与原码相同;负数的反码为其原码除符号位以外各位取反;
补码(2's complement):正数的补码与原码相同;负数的补码为其反码(最低位)加1;
补码系统的最大优点是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式
计算机中只有加法,用两数补码相加,结果仍是补码表示
补码转原码:减1再取反
byte b = a byte number;
int i = b & 0xff; // 使得i与b的二进制补码一致
0xff is the bit length mask, calc bit length mask can use:
(1<<bits)-1 or -1L^(-1L<<bits)
Base58 code:except number 0, uppercase letter I and O, lowercase latter l
Reference from internet
|
| Base64UrlSafe |
Base64 Url Safe
|
| Bytes |
byte[]
转hex:new BigInteger(1, bytes).toString(16);
Padding4位:(4 - (length & 0x03)) & 0x03
左移<<: 该数对应的二进制码整体左移,左边超出的部分舍弃,右边补0
右移>>: 该数对应的二进制码整体右移,左边部分以原有标志位填充,右边超出的部分舍弃
无符号右移>>>: 该数对应的二进制码整体右移,左边部分以0填充,右边超出的部分舍弃
|
| Captchas |
图片验证码生成类
|
| Colors |
color rgb and hex transform
|
| ConsistentHash<T> |
Consistent hashing algorithm.
|
| CRC16 | |
| Enums |
Enum utility
|
| FailRetryTemplate |
Fail retry template(template method pattern)
|
| Holder<T> |
变量持有,用于lambda方法体内
non-thread-safe
|
| IdcardResolver |
身份证解析及生成
http://www.mca.gov.cn/article/sj/xzqh/2018/
|
| ImageUtils |
图片工具类
|
| LazyLoader<T> |
Lazy loader
|
| MavenProjects |
maven标准的项目文件工具类
only use in test case
new File("src/test/resources/test.txt");
new File("src/test/java/test/test1.java");
new File("src/main/resources/log4j2.xml");
new File("src/main/java/code/ponfee/commons/util/Asserts.java");
|
| MessageFormats |
消息格式化
|
| Money |
Money definition based on
Long numeric for minor currency unit representation. |
| Money.Fastjson |
Custom deserialize Money based fastjson.
|
| Money.JacksonDeserializer |
Custom deserialize Money based jackson.
|
| Money.JacksonSerializer |
Custom serialize Money based jackson.
|
| Networks |
网络工具类
isAnyLocalAddress 通配符地址 IPv4的通配符地址是0.0.0.0
isLoopbackAddress 回环地址 IPv4的的范围是127.0.0.0 ~ 127.255.255.255 IPv6的是0:0:0:0:0:0:0:1,也可以简写成::1
isLinkLocalAddress 本地连接地址 IPv4的的范围是169.254.0.0 ~ 169.254.255.255 IPv6的前12位是FE8,其他的位可以是任意取值
isSiteLocalAddress 地区本地地址 IPv4的分为三段:10.0.0.0 ~ 10.255.255.255等 IPv6的地区本地地址的前12位是FEC,其他的位可以是任意取值
isMulticastAddress 广播地址 IPv4的范围是224.0.0.0 ~ 239.255.255.255 IPv6的第一个字节是FF,其他的字节可以是任意值
isMCGlobal 全球范围的广播地址
isMCLinkLocal 子网广播地址
isMCNodeLocal 本地接口广播地址
isMCOrgLocal 组织范围的广播地址
isMCSiteLocal 站点范围的广播地址
|
| ObjectUtils |
Object utilities
|
| PropertiesUtils |
Properties Utility
|
| RegexUtils |
正则工具类
http://blog.csdn.net/carechere/article/details/52315728
|
| SecureRandoms |
安全随机数生成工具类
|
| Snowflake |
基于snowflake算法的ID生成器
BINARY(Long.MAX_VALUE )=0111111111111111111111111111111111111111111111111111111111111111
BINARY(2039-09-07 23:47:35.551)=0000000000000000000000011111111111111111111111111111111111111111
0 | 0000000000 0000000000 0000000000 0000000000 0 | 00000 | 00000 | 0000000000 00
- | ------------------timestamp------------------ | -did- | -wid- | -----seq-----
00 ~ 00:1位未使用(实际上也是作为long的符号位)
01 ~ 41:41位为毫秒级时间(能到“2039-09-07 23:47:35.551”,41位bit的最大Long值,超过会溢出)
42 ~ 46:5位datacenterId
47 ~ 51:5位workerId(并不算标识符,实际是为线程标识),
52 ~ 63:12位该毫秒内的当前毫秒内的计数
毫秒内序列 (由datacenter和机器ID作区分),并且效率较高。
|
| SqlUtils |
Sql utility
|
| Strings |
字符串工具类
|
| SynchronizedCaches |
Synchronized cache
|
| TimingWheel<T extends TimingWheel.Timing<T>> |
Timing wheel structure.
|
| TimingWheel.TimingQueue<T extends TimingWheel.Timing<T>> |
Timing queue
|
| URLCodes |
URL encode/decode utility class.
|
| Wechats |
微信工具类:https://www.cnblogs.com/txw1958/p/weixin76-user-info.html
OAuth2.0:https://www.jianshu.com/p/6392420faf99
|
| ZipUtils |
zip utility based zip4j
|
| 枚举 | 说明 |
|---|---|
| CurrencyEnum |
Currency enum definition.
|
| IdcardResolver.CertType |
证件类型
|
| IdcardResolver.Sex |
性别:M男;F女;N未知;
|
Copyright © 2023. All rights reserved.