Skip to content

Latest commit

 

History

History
76 lines (50 loc) · 6.76 KB

tool-library.md

File metadata and controls

76 lines (50 loc) · 6.76 KB
title category icon
Java 优质开源工具类
开源项目
codelibrary-fill

代码质量

  • lombok :使用 Lombok 我们可以简化我们的 Java 代码,比如使用它之后我们通过注释就可以实现 getter/setter、equals 等方法。
  • guava:Guava 是一组核心库,其中包括新的集合类型(例如 multimap 和 multiset),不可变集合,图形库以及用于并发、I / O、哈希、原始类型、字符串等的实用程序!
  • hutool : Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让 Java 语言也可以“甜甜的”。

问题排查和性能优化

  • arthas:Alibaba 开源的 Java 诊断工具,可以实时监控和诊断 Java 应用程序。它提供了丰富的命令和功能,用于分析应用程序的性能问题,包括启动过程中的资源消耗和加载时间。
  • Async Profiler:低开销的异步 Java 性能分析工具,用于收集和分析应用程序的性能数据。
  • Spring Boot Startup Report:用于生成 Spring Boot 应用程序启动报告的工具。它可以提供详细的启动过程信息,包括每个 bean 的加载时间、自动配置的耗时等,帮助你分析和优化启动过程。
  • Spring Startup Analyzer:采集 Spring 应用启动过程数据,生成交互式分析报告(HTML),用于分析 Spring 应用启动卡点,支持 Spring Bean 异步初始化,减少优化 Spring 应用启动时间。UI 参考Spring Boot Startup Report实现。

文档处理

文档解析

  • Tika:Apache Tika 工具包能够检测并提取来自超过一千种不同文件类型(如 PPT、XLS 和 PDF)的元数据和文本内容。

Excel

  • easyexcel :快速、简单避免 OOM 的 Java 处理 Excel 工具。
  • excel-streaming-reader:Excel 流式代码风格读取工具(只支持读取 XLSX 文件),基于 Apache POI 封装,同时保留标准 POI API 的语法。
  • myexcel:一个集导入、导出、加密 Excel 等多项功能的工具包。

Word

  • poi-tl:基于 Apache POI 的 Word 模板引擎,可以根据 Word 模板和数据生成 Word 文档,所见即所得!

JSON

  • JsonPath:处理 JSON 数据的工具库。

PDF

对于简单的 PDF 创建需求,OpenPDF 是一个不错的选择,它开源免费,API 简单易用。对于需要解析、转换和提取文本等操作的复杂场景,可以选择 Apache PDFBox。当然了,复杂场景如果不介意 LGPL 许可也可以选择 iText。

  • x-easypdf:一个用搭积木的方式构建 PDF 的框架(基于 pdfbox/fop),支持 PDF 导出和编辑,适合简单的 PDF 文档生成场景。
  • iText:一个用于创建、编辑和增强 PDF 文档的 Java 库。iText 7 社区版采用 AGPL 许可证,如果你的项目是闭源商业项目,需要购买商业许可证。 iText 5 仍然是 LGPL 许可,可以免费用于商业用途,但已经停止维护。
  • OpenPDF:完全开源免费 (LGPL/MPL 双重许可),基于 iText 的一个分支,可以作为 iText 的替代品,简单易用,但功能相比于 iText 更少一些(对于大多数场景已经足够)。
  • Apache PDFBox :完全开源免费 (Apache 许可证),功能强大,支持 PDF 的创建、解析、转换和提取文本等。不过,由于其功能过于丰富,因此 API 设计相对复杂,学习难度会大一些。
  • FOP : Apache FOP 用于将 XSL-FO(Extensible Stylesheet Language Formatting Objects)格式化对象转换为多种输出格式,最常见的是 PDF。

图片处理

  • Thumbnailator:一个图像处理工具库,主要功能是缩放图像、添加水印、旋转图像、调整图片大小以及区域裁剪。
  • Imglib:一个轻量级的 JAVA 图像处理库,致力于简化对图像的常见处理,主要提供三部分的能力:图像收集、图像处理(基于 Thumbnailator 实现)、聚合与分裂。

验证码

  • EasyCaptcha:Java 图形验证码,支持 gif、中文、算术等类型,可用于 Java Web、JavaSE 等项目。
  • AJ-Captcha:行为验证码(滑动拼图、点选文字),前后端(java)交互。
  • tianai-captcha:好看又好用的滑块验证码。

短信&邮件

  • SMS4J:短信聚合框架,解决接入多个短信 SDK 的繁琐流程。
  • Simple Java Mail:最简单的 Java 轻量级邮件库,同时能够发送复杂的电子邮件。

在线支付

  • jeepay:一套适合互联网企业使用的开源支付系统,已实现交易、退款、转账、分账等接口,支持服务商特约商户和普通商户接口。已对接微信,支付宝,云闪付官方接口,支持聚合码支付。
  • YunGouOS-PAY-SDK:YunGouOS 微信支付接口、微信官方个人支付接口、非二维码收款,非第四方清算。个人用户可提交资料开通微信支付商户,完成对接。
  • IJPay:聚合支付,IJPay 让支付触手可及,封装了微信支付、QQ 支付、支付宝支付、京东支付、银联支付、PayPal 支付等常用的支付方式以及各种常用的接口。

其他

  • oshi:一款为 Java 语言提供的基于 JNA 的(本机)操作系统和硬件信息库。
  • ip2region :最自由的 ip 地址查询库,ip 到地区的映射库,提供 Binary,B 树和纯内存三种查询算法,妈妈再也不用担心我的 ip 地址定位。
  • agrona:Java 高性能数据结构(BuffersListsMapsScalable Timer Wheel……)和实用方法。