Java 第三方工具库(持续更新)

1、Sharding-JDBC

为分库分表而生的数据库访问层微服务框架。从 3.0 开始,Sharding-JDBC 将更名为 Sharding-Sphere。Sharding-JDBC是一个开源的分布式数据库中间件,它无需额外部署和依赖,完全兼容JDBC和各种ORM框架。Sharding-JDBC作为面向开发的微服务云原生基础类库,完整的实现了分库分表、读写分离和分布式主键功能,并初步实现了柔性事务。

2、xstream

XStream是一家Java对象和XML转换工具,很好很强大。它提供了所有的基本型、排列、收集和其他类型的支持,直接转换。因此XML在数据交换经常使用、对象序列化(和Java对象的序列化技术有着本质的差别)。

<dependency>

<groupId>com.thoughtworks.xstream</groupId>

<artifactId>xstream</artifactId>

<version>1.4.7</version>

</dependency>

3、commons-io

commons-io是一款处理io流的工具,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码。从common-io的官方使用文档可以看出,它主要分为工具类、尾端类、行迭代器、文件过滤器、文件比较器和扩展流。

官网地址:http://commons.apache.org/proper/commons-io/

<dependency>

<groupId>commons-io</groupId>

<artifactId>commons-io</artifactId>

<version>2.4</version>

</dependency>

4、hazelcast

Hazelcast是基于内存的数据网格开源项目,同时也是该公司的名称。Hazelcast提供弹性可扩展的分布式内存计算,Hazelcast被公认是提高应用程序性能和扩展性最好的方案。Hazelcast通过开放源码的方式提供以上服务。更重要的是,Hazelcast通过提供对开发者友好的Map、Queue、ExecutorService、Lock和JCache接口使分布式计算变得更加简单。例如,Map接口提供了内存中的键值存储,这在开发人员友好性和开发人员生产力方面提供了NoSQL的许多优点。

除了在内存中存储数据外,Hazelcast还提供了一组方便的api来访问集群中的cpu,以获得最大的处理速度。轻量化和简单易用是Hazelcast的设计目标。Hazelcast以Jar包的方式发布,因此除Java语言外Hazelcast没有任何依赖。Hazelcast可以轻松地内嵌已有的项目或应用中,并提供分布式数据结构和分布式计算工具。

Hazelcast 具有高可扩展性和高可用性(100%可用,从不失败)。分布式应用程序可以使用Hazelcast进行分布式缓存、同步、集群、处理、发布/订阅消息等。Hazelcast基于Java实现,并提供C/C++,.NET,REST,Python、Go和Node.js客户端。Hazelcast遵守内存缓存协议,可以内嵌到Hibernate框架,并且可以和任何现有的数据库系统一起使用

5、awaitility

在编写自动化测试用例过程中,往往会遇见被测代码有异步或者队列处理的中间过程;如果需要校验这部分结果,必须等待异步操作结束或队列消费完,而这个中间等待的时间是不确定的,常常是根据经验值设定,通过 Thread.sleep(经验值) ,而这个时间通常会设置成最长的那次时间,但是可能99%次这个异步操作都低于这个最长的时间,这就造成了每次执行这个测试用例都花费了异步任务最长的那次时间。

现介绍一款开源工具awaitility: https://github.com/awaitility/awaitility ,该工具提供轮询的方式,判断操作是否完成,以最短的时间获取异步任务结果。

6、zip4j

zip4j官网:http://www.lingala.net/zip4j/ 可以在"download"页面下载官方示例进行学习。

特征:

1、从Zip文件创建,添加,提取,更新,删除文件

2、读/写密码保护的Zip文件

3、支持AES 128/256加密

4、支持标准邮​​编加密

5、支持Zip64格式

6、支持存储(无压缩)和Deflate压缩方法

7、从Split Zip文件创建或提取文件(例如:z01,z02,... zip)

8、支持Unicode文件名

9、进度监视器

 

7、Junrar

从.rar文件中读取和提取。支持的RAR格式为V4或更低。这是junrar代码基的一个分支,以前在sourceforge上。

代码不能用于开发RAR (WinRAR)兼容的归档器。

官网地址:https://github.com/junrar/junrar

<dependency> <groupId>com.github.junrar</groupId> <artifactId>junrar</artifactId> <version>4.0.0</version> </dependency>

8、Thumbnailator

用Java制作高质量的缩略图可能是一项相当困难的任务。

学习如何使用图像I/O API, Java 2D API,图像处理,图像缩放技术,…但是不要害怕!拇指指甲将为您处理所有这些事情!

Thumbnailator是一个单独的JAR文件,不依赖于外部库,使开发和部署变得简单和容易。它也可以在Maven中央存储库中使用,以便轻松地包含在Maven项目中。

官网地址:https://github.com/coobird/thumbnailator

<dependency>

<groupId>net.coobird</groupId>

<artifactId>thumbnailator</artifactId>

<version>0.4.8</version>

</dependency>

9、jsoup

jsoup是一个用于处理实际HTML的Java库。它提供了一个非常方便的API来提取和操作数据,使用最好的DOM、CSS和类jquery方法。

<dependency>

<groupId>org.jsoup</groupId>

<artifactId>jsoup</artifactId>

<version>1.10.2</version>

</dependency>

10、swagger

Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因:

  • Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API。
  • Swagger 可以生成客户端SDK代码用于各种不同的平台上的实现。
  • Swagger 文件可以在许多不同的平台上从代码注释中自动生成。
  • Swagger 有一个强大的社区,里面有许多强悍的贡献者。

Swagger 文档提供了一个方法,使我们可以用指定的 JSON 或者 YAML 摘要来描述你的 API,包括了比如 names、order 等 API 信息。

你可以通过一个文本编辑器来编辑 Swagger 文件,或者你也可以从你的代码注释中自动生成。各种工具都可以使用 Swagger 文件来生成互动的 API 文档。

11、Gatling(加特林)

Gatling是一款功能强大的负载测试工具。它的设计易于使用,可维护性和高性能。

开箱即用,Gatling提供了对HTTP协议的出色支持,使其成为负载测试任何HTTP服务器的首选工具。由于核心引擎实际上是协议不可知的,因此完全可以实现对其他协议的支持。例如,Gatling目前还提供JMS支持。

快速入门拥有的最重要的概念的概述,走你通过一个简单的场景进行负载测试的HTTP服务器的设置。

拥有在代码中定义并且资源有效的场景是促使我们创建Gatling的两个要求。基于富有表现力的DSL,场景是自我解释的。它们易于维护,可以保存在版本控制系统中。

只要底层协议(如HTTP)可以以非阻塞方式实现,Gatling的体系结构就是异步的。这种架构允许我们将虚拟用户实现为消息而不是专用线程,这使得它们非常便宜。因此,运行数千个并发虚拟用户不是问题。

官网地址:https://gatling.io/

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值