WAST 是一个高性能 Java 工具集库包,包括 JSON、YAML、CSV、HttpClient、JDBC 和 EL 引擎.
JSON全场景性能优化到了极致,全场景包括 JDK6-JDK24,内容包括短 JSON,中长 JSON 以及超长 JSON 读写性能,以及输入流按需解析等等。
源码地址
性能测试:
v0.0.26 更新内容
- [JSON] - JSONReader读取数组类型作为入参时异常问题修复;
- [JSON] - JSON美化字符串读取优化;
- [JSON] - JSON特殊浮点数解析bug修复;
- [COMMON] - 浮点数NaN和0转科学计数报错问题修复;
- [COMMON] - El表达式解析长浮点数(多个0开头);
- [COMMON] - 添加方法: ObjectUtils.isEmpty判断所有类型是否为空
- [CLIENTS] - HttpClient支持流式下载超大文件及PATCH方法请求;
httpclient添加了流式响应下载支持(支持异步下载),非流式下载无法处理超大文件
// 异步下载(支持下载进度显示)
String url = "https://download.java.net/java/GA/jdk21.0.2/f2283984656d49d69e91c558476027ac/13/GPL/openjdk-21.0.2_linux-aarch64_bin.tar.gz";
HttpClientConfig clientConfig = HttpClientConfig.
create()
.responseCallback(new HttpClientConfig.ResponseCallback() {
@Override
public void onDownloadProgress(long downloaded, long total) {
System.out.println("downloaded " + downloaded + " total " + total + " progress " + (downloaded * 100 / total) + "%");
}
});
除了GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE支持自定义方法(http实际上并不限制方法,前提服务端没有限制能接收处理)
String POST2 = "POST2";
httpClientResponse = httpClient.executeRequest(HttpClientRequestBuilder.buildRequest("http://www.baidu.com", POST2, HttpClientConfig.create()));
更多使用文档地址
查看 Wast 文档