title | category | icon |
---|---|---|
Java High-Quality Open Source Utility Classes |
Open Source Projects |
codelibrary-fill |
- Lombok: A powerful utility library that simplifies Java code. By using Lombok's annotations, we can automatically generate common code logic such as
getter
,setter
,equals
,hashCode
,toString
methods, as well as constructors, log variables, and more. - Guava: A powerful core library developed by Google that extends the functionality of the Java standard library. It provides many useful utility classes and collection types, such as
Multimap
,Multiset
,BiMap
, and immutable collections. Additionally, it includes libraries for graphical processing and concurrency utilities. Guava also supports I/O operations, hash algorithms, string processing, caching, and various other practical functions. - Hutool: A comprehensive and user-friendly Java utility library designed to simplify development tasks with minimal dependencies. It encapsulates many practical functions, such as file operations, caching, encryption/decryption, logging, and file manipulation.
- Arthas: An open-source Java diagnostic tool from Alibaba that can monitor and diagnose Java applications in real-time. It provides a rich set of commands and functions to analyze performance issues in applications, including resource consumption and loading time during startup.
- Async Profiler: A low-overhead asynchronous Java performance profiling tool used to collect and analyze application performance data.
- Spring Boot Startup Report: A tool used to generate startup reports for Spring Boot applications. It provides detailed information about the startup process, including loading times for each bean and duration of auto-configuration, helping you analyze and optimize the startup process.
- Spring Startup Analyzer: Captures startup data of Spring applications and generates interactive analysis reports (HTML) to analyze bottlenecks during the Spring application startup, supporting asynchronous initialization of Spring Beans to reduce startup time. The UI is inspired by the Spring Boot Startup Report.
- Tika: The Apache Tika toolkit can detect and extract metadata and text content from over a thousand different file types (such as PPT, XLS, and PDF).
- EasyExcel: A fast and simple Java tool for processing Excel that avoids OOM errors. However, this project is no longer maintained and has been migrated to FastExcel.
- Excel Spring Boot Starter: A Spring Boot Starter based on FastExcel that simplifies reading and writing Excel files.
- Excel Streaming Reader: An Excel streaming utility that supports reading XLSX files, based on Apache POI, while retaining the standard POI API syntax.
- MyExcel: A toolkit that integrates multiple functions such as importing, exporting, and encrypting Excel files.
- poi-tl: A Word template engine based on Apache POI that can generate Word documents based on Word templates and data, providing a WYSIWYG experience!
- JsonPath: A utility library for processing JSON data.
For simple PDF creation needs, OpenPDF is a great choice as it is open-source and free with a simple API. For complex scenarios requiring parsing, conversion, and text extraction operations, Apache PDFBox is recommended. If you don't mind LGPL licensing for complex scenarios, iText can also be considered.
- x-easypdf: A framework for building PDFs in a modular way (based on pdfbox/fop) that supports PDF exporting and editing, suitable for simple PDF document generation scenarios.
- iText: A Java library for creating, editing, and enhancing PDF documents. iText 7 community edition is licensed under AGPL; if your project is a closed-source commercial project, you will need to purchase a commercial license. iText 5 is still LGPL licensed, allowing free commercial use but has stopped maintenance.
- OpenPDF: Completely open-source and free (LGPL/MPL dual license), based on a fork of iText, it can serve as an alternative to iText, being simple and easy to use, but with fewer features compared to iText (sufficient for most scenarios).
- Apache PDFBox: Completely open-source and free (Apache License), highly powerful, supporting PDF creation, parsing, conversion, and text extraction. However, due to its extensive features, the API design is relatively complex, which may increase the learning difficulty.
- FOP: Apache FOP is used to render XSL-FO (Extensible Stylesheet Language Formatting Objects) into various output formats, with PDF being the most common.
- Thumbnailator: An image processing utility library primarily for resizing images, adding watermarks, rotating images, adjusting image sizes, and area cropping.
- Imglib: A lightweight Java image processing library aimed at simplifying common image processing tasks, primarily offering three capabilities: image collection, image processing (based on Thumbnailator), aggregation, and splitting.
- EasyCaptcha: A Java graphical captcha supporting types such as gif, Chinese characters, and arithmetic, usable in Java Web, JavaSE, and other projects.
- AJ-Captcha: Behavioral captcha (sliding puzzle, text selection) with frontend and backend (Java) interaction.
- tianai-captcha: A visually appealing and easy-to-use sliding block captcha.
- SMS4J: An SMS aggregation framework that simplifies the process of integrating multiple SMS SDKs.
- Simple Java Mail: The simplest lightweight Java email library capable of sending complex emails.
- Jeepay: An open-source payment system suitable for internet enterprises that has implemented interfaces for transactions, refunds, transfers, and profit sharing, supporting both service provider special merchant and ordinary merchant interfaces. It has integrated official interfaces for WeChat, Alipay, and UnionPay, supporting aggregated code payments.
- YunGouOS-PAY-SDK: YunGouOS WeChat payment interface, official WeChat personal payment interface, non-QR code collection, and non-fourth-party clearance. Individual users can submit materials to open WeChat payment merchants for integration.
- IJPay: A payment aggregation library that makes payments accessible and wraps common payment methods such as WeChat Pay, QQ Pay, Alipay, JD Pay, UnionPay, and PayPal with various commonly used interfaces.
- oshi: A library providing (native) operating system and hardware information for the Java language, based on JNA.
- ip2region: The most flexible IP address query library mapping IPs to regions, offering three query algorithms: Binary, B-Tree, and pure memory, so mom no longer needs to worry about my IP address being located.
- agrona: High-performance Java data structures (
Buffers
,Lists
,Maps
,Scalable Timer Wheel
, etc.) and utility methods.