# Java教程

&#x20;[![logo](http://dunwu.test.upcdn.net/common/logo/java-logo.png)](https://dunwu.github.io/java-tutorial/#/)

![license](https://badgen.net/github/license/dunwu/java-tutorial)

#### 博客作者：联系请[点击](https://k8sadmin.info/lian-xi-zuo-zhe)，搬运不易，希望请作者喝咖啡，可以点击[联系博客作者](https://k8sadmin.info/lian-xi-zuo-zhe)

## JavaTutorial

> ☕ **JavaTutorial** 是一个 Java 教程，汇集一个老司机在 Java 领域的十年积累。
>
> * 🔁 项目同步维护：[Github](https://github.com/dunwu/java-tutorial/) | [Gitee](https://gitee.com/turnon/java-tutorial/)
> * 📖 电子书阅读：[Github Pages](https://dunwu.github.io/java-tutorial/) | [Gitee Pages](https://turnon.gitee.io/java-tutorial/)

### [JavaLib](https://hezhiqiang8909.gitbook.io/java/docs/javalib)

> 各种主流 Java 库的应用。

* [Dozer 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/dozer)
* [Freemark 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/freemark)
* [Java 与 JSON](https://hezhiqiang8909.gitbook.io/java/docs/javalib/javalib-json)
* [细说 Java 主流日志工具库](https://hezhiqiang8909.gitbook.io/java/docs/javalib/javalib-log)
* [细说 Java 主流工具包](https://hezhiqiang8909.gitbook.io/java/docs/javalib/javalib-util)
* [JavaMail 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/javamail)
* [Jsoup 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/jsoup)
* [JUnit5 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/junit)
* [Lombok 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/lombok)
* [Mockito 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/mockito)
* [Reflections 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/reflections)
* [Thumbnailator 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/thumbnailator)
* [ZXing 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javalib/zxing)

### [JavaTool](https://hezhiqiang8909.gitbook.io/java/docs/javatool)

> 各种主流 Java 工具的应用。

* [构建工具](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build)
  * [Maven 教程 📚](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven)
    * [Maven 快速指南](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven/maven-quickstart)
    * [Maven 教程之 pom.xml 详解](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven/maven-pom)
    * [Maven 教程之 settings.xml 详解](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven/maven-settings)
    * [Maven 实战问题和最佳实践](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven/maven-action)
    * [Maven 教程之发布 jar 到私服或中央仓库](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven/maven-deploy)
    * [Maven 插件之代码检查](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/maven/maven-checkstyle-plugin)
  * [Ant 简易教程](https://hezhiqiang8909.gitbook.io/java/docs/javatool/build/ant)
* [搜索引擎 Elastic](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic)
  * [Elastic 技术栈快速入门](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-quickstart)
  * [ElasticSearch](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-elasticsearch)
  * [Beats](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-beats)
  * [Kibana](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-kibana)
  * [Logstash](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-logstash)
  * [ElasticSearch 运维](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-elasticsearch-ops)
  * [Beats 运维](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-beats-ops)
  * [Kibana 运维](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-kibana-ops)
  * [Logstash 运维](https://hezhiqiang8909.gitbook.io/java/docs/javatool/elastic/elastic-logstash-ops)
* [Java IDE](https://hezhiqiang8909.gitbook.io/java/docs/javatool/ide)
  * [Intellij IDEA 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javatool/ide/intellij)
  * [Eclipse 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javatool/ide/eclipse)
* **测试**
  * [Jmeter 应用指南](https://hezhiqiang8909.gitbook.io/java/docs/javatool/test/jmeter)

### [JavaCore 教程](https://dunwu.github.io/javacore/)

> Java 核心技术教程。内容包含：Java 基础特性、Java 高级特性、Java 并发、JVM、Java IO 等。

### [JavaWeb 教程](https://dunwu.github.io/javaweb/)

> Java Web 技术教程。内容包含：JavaEE、分布式应用技术等。

### [Spring 教程](https://dunwu.github.io/spring-tutorial/)

> Spring 教程。

### [Spring Boot 教程](https://dunwu.github.io/spring-boot-tutorial/)

> Spring Boot 教程

### 相关技术栈

* [db-tutorial](https://dunwu.github.io/db-tutorial/) - 是对数据库领域开发经验的总结。内容包含：关系型数据库和 Nosql 理论、Mysql、Redis 等。
* [algorithm-tutorial](https://dunwu.github.io/algorithm-tutorial/) - 是对数据结构和算法的总结。内容包含：一些基本的数据结构、算法。
* [linux-tutorial](https://github.com/dunwu/linux-tutorial) - 是对 Linux 操作系统的经验总结。内容包含：Linux 常用命令；各种常见软件的 Linux 环境安装配置；运维、部署脚本；Shell、Python 语法教程；Git、Docker 教程。
* [frontend-tutorial](https://github.com/dunwu/frontend-tutorial) - 前端教程

### 学习资源

* Java 经典书籍
  * [《Effective Java 中文版》](https://union-click.jd.com/jdc?d=S003h8) - 本书介绍了在 Java 编程中 78 条极具实用价值的经验规则，这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。同推荐《重构 : 改善既有代码的设计》、《代码整洁之道》、《代码大全》，有一定的内容重叠。
  * [《Java 并发编程实战》](https://union-click.jd.com/jdc?d=x2yrwq) - 本书深入浅出地介绍了 Java 线程和并发，是一本完美的 Java 并发参考手册。
  * [《深入理解 Java 虚拟机：JVM 高级特性与最佳实践》](https://union-click.jd.com/jdc?d=Wa6dWb) - 不去了解 JVM 的工程师，和咸鱼有什么区
  * [《Maven 实战》](https://union-click.jd.com/jdc?d=hNj9Lu) - 国内最权威的 Maven 专家的力作，唯一一本哦！
* 其他领域书籍
  * [《Redis 设计与实现》](https://union-click.jd.com/jdc?d=6L6sMX) - 系统而全面地描述了 Redis 内部运行机制。图示丰富，描述清晰，并给出大量参考信息，是 NoSQL 数据库开发人员案头必备。
  * [《鸟哥的 Linux 私房菜 （基础学习篇）》](https://union-click.jd.com/jdc?d=yB7dwu) - 本书是最具知名度的 Linux 入门书《鸟哥的 Linux 私房菜基础学习篇》的最新版，全面而详细地介绍了 Linux 操作系统。内容非常全面，建议挑选和自己实际工作相关度较高的，其他部分有需要再阅读。
  * [《Head First 设计模式》](https://union-click.jd.com/jdc?d=HYyuyM) - 《Head First 设计模式》(中文版)共有 14 章，每章都介绍了几个设计模式，完整地涵盖了四人组版本全部 23 个设计模式。
  * [《HTTP 权威指南》](https://union-click.jd.com/jdc?d=TgCRBb) - 本书尝试着将 HTTP 中一些互相关联且常被误解的规则梳理清楚，并编写了一系列基于各种主题的章节，对 HTTP 各方面的特性进行了介绍。纵观全书，对 HTTP“为什么”这样做进行了详细的解释，而不仅仅停留在它是“怎么做”的。
  * [《TCP/IP 详解 系列》](https://union-click.jd.com/jdc?d=5uHlXS) - 完整而详细的 TCP/IP 协议指南。针对任何希望理解 TCP/IP 协议是如何实现的读者设计。
  * [《剑指 Offer：名企面试官精讲典型编程题》](https://union-click.jd.com/jdc?d=wnrKQh) - 剖析了 80 个典型的编程面试题，系统整理基础知识、代码质量、解题思路、优化效率和综合能力这 5 个面试要点。
