# Java 库

## 通用库

* apache commons 工具包组
  * [commons-collections](https://commons.apache.org/proper/commons-collections/) - Apache 容器工具包
  * [commons-io](https://commons.apache.org/proper/commons-io) - Apache IO 工具包
  * [commons-lang](https://commons.apache.org/proper/commons-lang/) - Apache 语言扩展包
* [guava](https://github.com/google/guava) - google 工具包

## 日志

* [slf4j](http://www.slf4j.org/)
* [commons-logging](http://commons.apache.org/proper/commons-logging/)
* [log4j](http://logging.apache.org/log4j/2.x/)
* [logback](http://logback.qos.ch/)

## JSON

主流 json 工具包：

* [`fastjson`](https://github.com/alibaba/fastjson) - 阿里巴巴 json 工具包（国内广泛使用）
* [`jackson`](http://wiki.fasterxml.com/JacksonHome) - spring 默认 json 工具包
* [`gson`](https://github.com/google/gson) - google json 工具包

## 测试

* [junit4](https://github.com/junit-team/junit4)
* [junit5](https://github.com/junit-team/junit5)
* [mockito](https://github.com/mockito/mockito)

## JavaBean

* [`lombok`](https://projectlombok.org/) – Lombok 提供了简单的注解的形式，来帮助我们消除一些必须有，但显得很臃肿的 Java 样板代码。

## DOM

* [`jsoup`](https://jsoup.org/) – jsoup 是一款 Java 的 HTML 解析器，可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API，可通过 DOM，CSS 以及类似于 jQuery 的操作方法来取出和操作数据。
* [`dom4j`](https://github.com/dom4j/dom4j) – 处理 XML 的开源框架。它集成了 XPath 并提供全力支持 DOM,JAXP 和 Java 平台。
* [`iText`](https://itextpdf.com/en) – iText 是一个非常著名的能够快速产生 PDF 文件的 Java 类库。支持文本，表格，图形的操作，可以方便的跟 Servlet 进行结合。

## 网络

* [`netty`](http://netty.io/) – Netty 是一个基于 NIO 的客户、服务器端编程框架，使用 Netty 可以确保你快速和简单的开发出一个网络应用。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hezhiqiang8909.gitbook.io/java/docs/javalib.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
