WAST 是一个高性能 Java 工具集库包,包括 JSON、YAML、CSV、HttpClient、JDBC 和 EL 引擎.
JSON全场景性能优化到了极致,全场景包括 JDK6-JDK24,内容包括短 JSON,中长 JSON 以及超长 JSON 读写性能,以及输入流按需解析等等。
源码地址
- gitee: https://gitee.com/xiaoch0209/wast
- github: https://github.com/wycst/wast
性能测试:
- gitee: https://gitee.com/xiaoch0209/wast-jmh-test
- github: https://github.com/wycst/wast-jmh-test
- JSON 与 simdjson-java 对比: JSON 性能测试之二 - wastjson 每秒 6GB 解析速度完胜 simdjson-java
- 表达式性能测试 1: WastEl 表达式引擎性能测试 - 每秒千万次运算超强性能 - OSCHINA - 中文开源技术交流社区
- 表达式性能测试 2: express-benchmark・闲。大赋 (李家智)/Beetl - 码云 - 开源PHP
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 文档