![](https://socialify.git.ci/duanluan/ZUtil/image?description=1&font=Bitter&forks=1&issues=1&language=1&logo=https%3A%2F%2Fduanluan.github.io%2FZUtil%2Fimg%2Flogo.png&name=1&owner=1&pattern=Floating%20Cogs&pulls=1&stargazers=1&theme=Light)
# ZUtil
[![](https://img.shields.io/maven-central/v/top.csaf/ZUtil?style=flat-square)](https://search.maven.org/artifact/top.csaf/ZUtil)
[![](https://img.shields.io/hexpm/l/plug?style=flat-square)](./LICENSE)
[![](https://img.shields.io/badge/JDK-8%2B-orange?style=flat-square)]()
[![](https://img.shields.io/badge/273743748-加%20Q%20群-388adc.svg?style=flat-square)](https://jq.qq.com/?_wv=1027&k=pYzF0R18)
[![](https://img.shields.io/github/stars/duanluan/ZUtil?style=social)](https://github.com/duanluan/ZUtil)
[![star](https://gitee.com/duanluan/ZUtil/badge/star.svg?theme=white)](https://gitee.com/duanluan/ZUtil)
追求更快更全的 Java 工具类。
工具类使用请查看<a href='https://duanluan.github.io/ZUtil' target='_blank' style='font-size:25px'>文档</a>、[javadoc](https://apidoc.gitee.com/duanluan/ZUtil)。
和 Hutool 的性能对比测试请查看 [jmh.contrast](src/test/java/top/csaf/jmh/contrast)。
## 特性
* 更快:使用 JMH 进行[性能测试](https://github.com/duanluan/ZUtil/tree/main/src/test/java/top/csaf/jmh)。
* 更全:[时间工具类](https://github.com/duanluan/ZUtil/blob/main/src/main/java/top/csaf/date/DateUtils.java)近 120 个方法,2500+ 行;[正则工具类](https://github.com/duanluan/ZUtil/blob/main/src/main/java/top/csaf/regex/RegExUtils.java)近 50 个方法,750+ 行。其他工具类也在持续更新中……
* 更安全:使用 JUnit 进行[套件测试](https://github.com/duanluan/ZUtil/tree/main/src/test/java/top/csaf/junit),JaCoCo 进行[代码覆盖率测试](https://github.com/duanluan/ZUtil/tree/main/src/test/java/top/csaf/junit),保证每行代码都符合预期,更少出 BUG。
## Stargazers over time
[![Stargazers over time](https://starchart.cc/duanluan/ZUtil.svg)](https://starchart.cc/duanluan/ZUtil)
## 说明
### 安装
#### Maven
```xml
<dependency>
<groupId>top.csaf</groupId>
<artifactId>ZUtil</artifactId>
<version>1.14.2</version>
</dependency>
```
#### Gradle
```groovy
// groovy
implementation 'top.csaf:ZUtil:1.14.2'
// kotlin
implementation("top.csaf:ZUtil:1.14.2")
```
### 安装注意
工具包中已使用 slf4j-api 和 slf4j-simple,和 spring-boot-starter-web 同时使用时会冲突,需要手动排除。
#### Maven
```xml
<!-- 方式一:ZUtil 排除 slf4j -->
<dependency>
<groupId>top.csaf</groupId>
<artifactId>ZUtil</artifactId>
<version>1.14.2</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 方式二:spring-boot-starter-web 排除 Logback -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
```
#### Gradle
参考:[Excluding transitive dependencies - Gradle User Manual](https://docs.gradle.org/current/userguide/dependency_downgrade_and_exclude.html#sec:excluding-transitive-deps)
```groovy
// groovy
dependencies {
// 方式一:ZUtil 排除 slf4j
implementation('top.csaf:ZUtil:1.14.2') {
exclude group: 'org.slf4j', module: 'slf4j-api'
exclude group: 'org.slf4j', module: 'slf4j-simple'
}
// 方式二:spring-boot-starter-web 排除 Logback
implementation('org.springframework.boot:spring-boot-starter-web') {
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
}
// kotlin
dependencies {
// 方式一:ZUtil 排除 slf4j
implementation("top.csaf:ZUtil:1.14.2") {
exclude(group = "org.slf4j", module = "slf4j-api")
exclude(group = "org.slf4j", module = "slf4j-simple")
}
// 方式二:spring-boot-starter-web 排除 Logback
implementation("org.springframework.boot:spring-boot-starter-web") {
exclude(group = "org.springframework.boot", module = "spring-boot-starter-logging")
}
}
```
### JMH 性能对比测试结果解释
```java
// Benchmark Mode Cnt Score Error Units
// ToPinyinTest.toPinyinByHutool thrpt 5 2.880 ± 0.160 ops/us
// ToPinyinTest.toPinyinByZUtil thrpt 5 4.577 ± 0.133 ops/us
// ToPinyinTest.toPinyinByHutool avgt 5 0.356 ± 0.012 us/op
// ToPinyinTest.toPinyinByZUtil avgt 5 0.216 ± 0.006 us/op
// ToPinyinTest.toPinyinByHutool sample 175058 0.435 ± 0.008 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.00 sample 0.300 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.50 sample 0.400 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.90 sample 0.500 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.95 sample 0.500 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.99 sample 0.900 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.999 sample 1.600 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p0.9999 sample 40.900 us/op
// ToPinyinTest.toPinyinByHutool:toPinyinByHutool·p1.00 sample 277.504 us/op
// ToPinyinTest.toPinyinByZUtil sample 162384 0.393 ± 0.008 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.00 sample 0.200 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.50 sample 0.300 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.90 sample 0.500 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.95 sample 0.600 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.99 sample 1.000 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.999 sample 2.500 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p0.9999 sample 45.425 us/op
// ToPinyinTest.toPinyinByZUtil:toPinyinByZUtil·p1.00 sample 170.496 us/op
// ToPinyinTest.toPinyinByHutool ss 5 30.880 ± 37.754 us/op
// ToPinyinTest.toPinyinByZUtil ss 5 23.060 ± 16.885 us/op
```
Mode 即为`org.openjdk.jmh.annotations.Mode`,分为:
* thrpt:**Throughput(吞吐量)**, ops/time,分数越大越好
* avgt:**Average time(平均时间)**, time/op,分数越小越好
* sample:**Sampling time(采样时间)**,分数越小越好
* ss:**Single shot invocation time(单次调用时间)**:分数越小越好
### 参与开发
福利:***JetBrains* 全系列许可证**。
1. **[Fork](https://github.com/duanluan/ZUtil/fork)** 并 **Clone** 项目到本地。
2. 开发内容:
* **新增类或方法**需提前[加群](https://jq.qq.com/?_wv=1027&k=pYzF0R18)沟通。
* **修复 BUG**(fix)、**优化性能**(perf)或**新增/更正测试**(test)。
3. 测试步骤:
* 使用`org.junit.jupiter.api.Assertions`进行**代码覆盖率测试**:
```java
……
import top.csaf.id.NanoIdUtil;
import static org.junit.jupiter.api.Assertions.*;
@Slf4j
@DisplayName("NanoId 工具类测试")
class
没有合适的资源?快使用搜索试试~ 我知道了~
追求更快更全的 Java 工具类.zip
共159个文件
java:112个
md:11个
json:7个
需积分: 1 0 下载量 171 浏览量
2024-03-09
12:14:06
上传
评论
收藏 3.46MB ZIP 举报
温馨提示
追求更快更全的 Java 工具类.zip
资源推荐
资源详情
资源评论
收起资源包目录
追求更快更全的 Java 工具类.zip (159个子文件)
logo.ai 1.14MB
logo1.ai 1.14MB
lombok.config 231B
custom.css 2KB
index.module.css 365B
styles.module.css 138B
pinyinDataWithTone.dat 629KB
pinyinData.dat 566KB
java.time.drawio 2KB
.gitignore 469B
.gitignore 233B
favicon.ico 4KB
ContentTypeConst.java 155KB
DateUtil.java 93KB
CollUtil.java 41KB
ArrayDeduplicateTest.java 39KB
ArrayUtil.java 39KB
HttpUtil.java 28KB
DateUtilTest.java 28KB
DeepCloneTest.java 23KB
ArrayUtilTest.java 19KB
RegExUtil.java 18KB
CollUtilTest.java 17KB
IdCardUtil.java 13KB
BeanUtil.java 13KB
XmlUtil.java 11KB
PinyinUtil.java 11KB
BlockCipher.java 10KB
YamlUtil.java 10KB
SortBeanListTest.java 9KB
JacksonToListTest.java 9KB
BuildTreeNodeListTest.java 9KB
MapToUrlParamsTest.java 9KB
PinyinFeat.java 9KB
DesUtil.java 8KB
DateFeat.java 8KB
BeanUtilTest.java 8KB
GetRootPathTest.java 8KB
BeanMapToMapTest.java 7KB
YamlFeat.java 7KB
KeySetEntrySetTest.java 7KB
SnowFlake.java 7KB
BeginEndTimeTest.java 7KB
ToJsonTest.java 6KB
ToListTest.java 6KB
StrUtil.java 6KB
ToMapTest.java 6KB
FormatBetweenTest.java 6KB
CharsIndexOfTest.java 5KB
CharsToBytesTest.java 5KB
GsonToListTest.java 5KB
BytesToCharsTest.java 5KB
FileUtil.java 5KB
RemovePrefixIgnoreCaseTest.java 5KB
RemoveSuffixIgnoreCaseTest.java 5KB
DesTest.java 4KB
PinyinUtilTest.java 4KB
DesDecryptHexTest.java 4KB
DesEncryptHexTest.java 4KB
ToPinyinTest.java 4KB
RemovePrefixTest.java 4KB
RemoveSuffixTest.java 4KB
SetPropertyTest.java 4KB
NowDateStrTest.java 4KB
GetPropertyTest.java 4KB
RemoveItemByArrayTest.java 4KB
BetweenTest.java 4KB
OffsetTest.java 4KB
CommaSeparatedStrGetFirstItemTest.java 4KB
HasBlankTest.java 3KB
FormatTest.java 3KB
IsLeapYearTest.java 3KB
TodayStrTest.java 3KB
HttpUtilTest.java 3KB
TreeUtil.java 3KB
FormatTest.java 3KB
ParseTest.java 3KB
DateFormatTest.java 3KB
YamlUtilTest.java 3KB
SubTest.java 3KB
NanoIdUtil.java 3KB
ContainsTest.java 3KB
TreeUtilTest.java 3KB
AsciiTest.java 3KB
DatePattern.java 3KB
NanoIdUtilTest.java 3KB
CommonPattern.java 2KB
FileUtilTest.java 2KB
RegExUtilTest.java 2KB
DateFormatter.java 2KB
Md5Util.java 2KB
ObjUtil.java 2KB
NumberUtil.java 2KB
JsonUtil.java 2KB
ClassUtil.java 2KB
XmlUtilTest.java 2KB
DateRegExPattern.java 2KB
DateConst.java 1KB
StandardCharsets.java 1KB
FlagsEnum.java 1KB
共 159 条
- 1
- 2
资源评论
大圣
- 粉丝: 447
- 资源: 152
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功