|
15 | 15 | >
|
16 | 16 | > - 🔁 项目同步维护:[Github](https://github.com/dunwu/java-tutorial/) | [Gitee](https://gitee.com/turnon/java-tutorial/)
|
17 | 17 | > - 📖 电子书阅读:[Github Pages](https://dunwu.github.io/java-tutorial/) | [Gitee Pages](https://turnon.gitee.io/java-tutorial/)
|
| 18 | +> |
| 19 | +> 说明: |
| 20 | +> |
| 21 | +> - 下面的内容清单中,凡是有 📚 标记的技术,都已整理成详细的教程。 |
| 22 | +> - 部分技术因为可以应用于不同领域,所以可能会同时出现在不同的类别下。 |
18 | 23 |
|
19 |
| -## javacore |
| 24 | +## 📖 内容 |
| 25 | + |
| 26 | +### JavaSE |
20 | 27 |
|
21 | 28 | > 📚 [javacore](https://dunwu.github.io/javacore/) 是一个 Java 核心技术教程。内容包含:Java 基础特性、Java 高级特性、Java 并发、JVM、Java IO 等。
|
22 | 29 |
|
23 |
| -## javaee |
| 30 | +### JavaEE |
24 | 31 |
|
25 |
| -> [☕ JavaEE](docs/javaee/README.md) 技术是 Java Web 的基石 |
| 32 | +> [☕ JavaEE](javaee/README.md) 技术是 Java Web 的基石 |
26 | 33 |
|
27 | 34 | - [JavaEE 面经](docs/javaee/javaee-interview.md)
|
28 | 35 | - [JavaEE 之 Servlet 指南](docs/javaee/javaee-servlet.md)
|
29 | 36 | - [JavaEE 之 Jsp 指南](docs/javaee/javaee-jsp.md)
|
30 | 37 | - [JavaEE 之 Filter 和 Listener](docs/javaee/javaee-filter-listener.md)
|
31 | 38 | - [JavaEE 之 Cookie 和 Session](docs/javaee/javaee-cookie-sesion.md)
|
32 | 39 |
|
33 |
| -## javatech |
| 40 | +### Java 工具 |
34 | 41 |
|
35 |
| -> 📚 [javatech](https://dunwu.github.io/javatech/) 是一个 Java 应用技术教程。内容包含 Java 开发中常见应用技术,如:框架、缓存、消息队列、存储、安全、微服务、测试、服务器等。 |
| 42 | +#### 构建 |
36 | 43 |
|
37 |
| -## spring-tutorial |
| 44 | +> Java 项目需要通过 [**构建工具**](docs/tool/build) 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。 |
| 45 | +> |
| 46 | +> - 目前最主流的构建工具是 Maven,它的功能非常强大。 |
| 47 | +> - Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。 |
| 48 | +> - Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。 |
38 | 49 |
|
39 |
| -> 📚 [spring-tutorial](https://dunwu.github.io/spring-tutorial/) 是一个 Spring 实战教程。 |
| 50 | +- [Maven](docs/tool/build/maven) 📚 |
| 51 | + - [Maven 入门指南](docs/tool/build/maven/maven-quickstart.md) |
| 52 | + - [Maven 教程之 pom.xml 详解](docs/tool/build/maven/maven-pom.md) |
| 53 | + - [Maven 教程之 settings.xml 详解](docs/tool/build/maven/maven-settings.md) |
| 54 | + - [Maven 实战问题和最佳实践](docs/tool/build/maven/maven-action.md) |
| 55 | + - [Maven 教程之发布 jar 到私服或中央仓库](docs/tool/build/maven/maven-deploy.md) |
| 56 | + - [Maven 插件之代码检查](docs/tool/build/maven/maven-checkstyle-plugin.md) |
| 57 | +- [Ant 简易教程](docs/tool/build/ant.md) |
40 | 58 |
|
41 |
| -## spring-boot-tutorial |
| 59 | +#### IDE |
42 | 60 |
|
43 |
| -> 📚 [Spring Boot 教程](https://dunwu.github.io/spring-boot-tutorial/) 是一个 Spring Boot 实战教程。 |
| 61 | +> 自从有了 [**IDE**](docs/tool/ide),写代码从此就告别了刀耕火种的蛮荒时代。 |
| 62 | +> |
| 63 | +> - [Eclipse](docs/tool/ide/eclipse.md) 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。 |
| 64 | +> - 曾经抗拒从转 [Intellij Idea](docs/tool/ide/intellij-idea.md) ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。 |
| 65 | +> - 你可以在 [vscode](docs/tool/ide/vscode.md) 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。 |
44 | 66 |
|
45 |
| -## javatool |
| 67 | +- [Intellij Idea](docs/tool/ide/intellij-idea.md) |
| 68 | +- [Eclipse](docs/tool/ide/eclipse.md) |
| 69 | +- [vscode](docs/tool/ide/vscode.md) |
46 | 70 |
|
47 |
| -### 构建 |
| 71 | +#### 监控/诊断 |
48 | 72 |
|
49 |
| -> Java 项目需要通过 [**构建工具**](docs/javatool/build) 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。 |
50 |
| -> |
51 |
| -> - 目前最主流的构建工具是 Maven,它的功能非常强大。 |
52 |
| -> - Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。 |
53 |
| -> - Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。 |
| 73 | +> [监控/诊断](docs/tool/monitor) 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。 |
54 | 74 |
|
55 |
| -- [Maven](docs/javatool/build/maven) 📚 |
56 |
| - - [Maven 入门指南](docs/javatool/build/maven/maven-quickstart.md) |
57 |
| - - [Maven 教程之 pom.xml 详解](docs/javatool/build/maven/maven-pom.md) |
58 |
| - - [Maven 教程之 settings.xml 详解](docs/javatool/build/maven/maven-settings.md) |
59 |
| - - [Maven 实战问题和最佳实践](docs/javatool/build/maven/maven-action.md) |
60 |
| - - [Maven 教程之发布 jar 到私服或中央仓库](docs/javatool/build/maven/maven-deploy.md) |
61 |
| - - [Maven 插件之代码检查](docs/javatool/build/maven/maven-checkstyle-plugin.md) |
62 |
| -- [Ant 简易教程](docs/javatool/build/ant.md) |
| 75 | +- [监控工具对比](docs/tool/monitor/monitor-summary.md) |
| 76 | +- [CAT](docs/tool/monitor/cat.md) |
| 77 | +- [Zipkin](docs/tool/monitor/zipkin.md) |
| 78 | +- [SkyWalking](docs/tool/monitor/skywalking.md) |
| 79 | +- [Arthas](docs/tool/monitor/arthas.md) |
63 | 80 |
|
64 |
| -### IDE |
| 81 | +### [框架](framework) |
65 | 82 |
|
66 |
| -> 自从有了 [**IDE**](docs/javatool/ide),写代码从此就告别了刀耕火种的蛮荒时代。 |
67 |
| -> |
68 |
| -> - [Eclipse](docs/javatool/ide/eclipse.md) 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。 |
69 |
| -> - 曾经抗拒从转 [Intellij Idea](docs/javatool/ide/intellij-idea.md) ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。 |
70 |
| -> - 你可以在 [vscode](docs/javatool/ide/vscode.md) 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。 |
| 83 | +#### Spring |
71 | 84 |
|
72 |
| -- [Intellij Idea](docs/javatool/ide/intellij-idea.md) |
73 |
| -- [Eclipse](docs/javatool/ide/eclipse.md) |
74 |
| -- [vscode](docs/javatool/ide/vscode.md) |
| 85 | +📚 [spring-tutorial](https://dunwu.github.io/spring-tutorial/) 是一个 Spring 实战教程。 |
75 | 86 |
|
76 |
| -### 监控/诊断 |
| 87 | +#### Spring Boot |
77 | 88 |
|
78 |
| -> [监控/诊断](docs/javatool/monitor) 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。 |
| 89 | +📚 [Spring Boot 教程](https://dunwu.github.io/spring-boot-tutorial/) 是一个 Spring Boot 实战教程。 |
79 | 90 |
|
80 |
| -- [监控工具对比](docs/javatool/monitor/monitor-summary.md) |
81 |
| -- [CAT](docs/javatool/monitor/cat.md) |
82 |
| -- [Zipkin](docs/javatool/monitor/zipkin.md) |
83 |
| -- [SkyWalking](docs/javatool/monitor/skywalking.md) |
84 |
| -- [Arthas](docs/javatool/monitor/arthas.md) |
| 91 | +#### 其他 |
85 | 92 |
|
86 |
| ---- |
| 93 | +- [Spring Cloud](https://github.com/dunwu/spring-cloud-tutorial) 📚 |
| 94 | +- [MyBatis](docs/framework/mybatis) |
| 95 | + - [Mybatis 应用指南](docs/framework/mybatis/Mybatis应用指南.md) |
| 96 | + - [Mybatis 原理](docs/framework/mybatis/Mybatis原理.md) |
| 97 | +- [Netty](docs/framework/netty.md) |
87 | 98 |
|
88 |
| -## 其他技术栈 |
| 99 | +### [消息队列](docs/mq) |
89 | 100 |
|
90 |
| -- [db-tutorial](https://dunwu.github.io/db-tutorial/) - 是对数据库领域开发经验的总结。内容包含:关系型数据库和 Nosql 理论、Mysql、Redis 等。 |
91 |
| -- [algorithm-tutorial](https://dunwu.github.io/algorithm-tutorial/) - 是对数据结构和算法的总结。内容包含:一些基本的数据结构、算法。 |
92 |
| -- [linux-tutorial](https://github.com/dunwu/linux-tutorial) - 是对 Linux 操作系统的经验总结。内容包含:Linux 常用命令;各种常见软件的 Linux 环境安装配置;运维、部署脚本;Shell、Python 语法教程;Git、Docker 教程。 |
93 |
| -- [frontend-tutorial](https://github.com/dunwu/frontend-tutorial) - 前端教程 |
| 101 | +> 消息队列(Message Queue,简称 MQ)技术是分布式应用间交换信息的一种技术。 |
| 102 | +> |
| 103 | +> 消息队列主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 |
| 104 | +> |
| 105 | +> 如果想深入学习各种消息队列产品,建议先了解一下 [消息队列基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/mq.md) ,有助于理解消息队列特性的实现和设计思路。 |
94 | 106 |
|
95 |
| ---- |
| 107 | +- [消息队列基本原理](docs/mq/消息队列基本原理.md) |
| 108 | +- [消息队列面试题](docs/mq/消息队列面试.md) 💯 |
| 109 | +- [Kafka](https://dunwu.github.io/bigdata-tutorial/kafka) 📚 |
| 110 | +- [RocketMQ](docs/mq/rocketmq.md) |
| 111 | +- [ActiveMQ](docs/mq/activemq.md) |
96 | 112 |
|
97 |
| -## 学习资源 |
| 113 | +### [缓存](docs/cache) |
| 114 | + |
| 115 | +> 缓存可以说是优化系统性能的第一手段,在各种技术中都会有缓存的应用。 |
| 116 | +> |
| 117 | +> 如果想深入学习缓存,建议先了解一下 [缓存基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/cache.md),有助于理解缓存的特性、原理,使用缓存常见的问题及解决方案。 |
| 118 | +
|
| 119 | +- [缓存面试题](docs/cache/cache-interview.md) 💯 |
| 120 | +- [缓存基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/cache.md) |
| 121 | +- [Java 缓存框架](docs/cache/cache-framework.md) - 关键词:Spring Cache、J2Cache、JetCache |
| 122 | +- [Redis 教程](https://dunwu.github.io/db-tutorial/nosql/redis/) 📚 |
| 123 | +- [Memcached 应用指南](docs/cache/memcached.md) |
| 124 | +- [Java 缓存库](docs/cache/cache-libs.md) - 关键词:ConcurrentHashMap、LRUHashMap、Guava Cache、Caffeine、Ehcache |
| 125 | +- [Ehcache 应用指南](docs/cache/ehcache.md) |
| 126 | +- [Http 缓存](docs/cache/http-cache.md) |
| 127 | + |
| 128 | +### [微服务](docs/microservice) |
| 129 | + |
| 130 | +- [Dubbo](docs/microservice/dubbo.md) |
| 131 | +- [**Spring Cloud**](https://github.com/dunwu/spring-cloud-tutorial) 📚 |
| 132 | + - Eureka |
| 133 | + - Consul |
| 134 | + - Nacos |
| 135 | + - Zuul |
| 136 | + - Gateway |
| 137 | +- 通信 |
| 138 | + - [Netty](docs/framework/netty.md) |
| 139 | + |
| 140 | +### 搜索引擎 |
| 141 | + |
| 142 | +- [ElasticSearch](https://dunwu.github.io/db-tutorial/nosql/elasticsearch/) 📚 |
| 143 | +- Solr |
| 144 | +- Lucene |
| 145 | + |
| 146 | +### [安全](docs/security) |
| 147 | + |
| 148 | +> Java 领域比较流行的安全框架就是 shiro 和 spring-security。 |
| 149 | +> |
| 150 | +> shiro 更为简单、轻便,容易理解,能满足大多数基本安全场景下的需要。 |
| 151 | +> |
| 152 | +> spring-security 功能更丰富,也比 shiro 更复杂。值得一提的是由于 spring-security 是 spring 团队开发,所以集成 spring 和 spring-boot 框架更容易。 |
| 153 | +
|
| 154 | +- [Shiro](docs/security/shiro.md) |
| 155 | +- [Spring Security](docs/security/spring-security.md) |
| 156 | + |
| 157 | +### [测试](docs/test) |
| 158 | + |
| 159 | +- [Junit](docs/test/junit.md) |
| 160 | +- [Mockito](docs/test/mockito.md) |
| 161 | +- [JMH](docs/test/jmh.md) |
| 162 | +- [Jmeter](docs/test/jmeter.md) |
| 163 | + |
| 164 | +### [服务器](docs/server) |
| 165 | + |
| 166 | +> Tomcat 和 Jetty 都是 Java 比较流行的轻量级服务器。 |
| 167 | +> |
| 168 | +> Nginx 是目前最流行的反向代理服务器,也常用于负载均衡。 |
| 169 | +
|
| 170 | +- [Tomcat 应用指南](docs/server/Tomcat应用指南.md) |
| 171 | +- [Tomcat 连接器](docs/server/Tomcat连接器.md) |
| 172 | +- [Tomcat 容器](docs/server/Tomcat容器.md) |
| 173 | +- [Tomcat 优化](docs/server/Tomcat优化.md) |
| 174 | +- [Jetty](docs/server/jetty.md) |
| 175 | +- [Nginx](https://github.com/dunwu/nginx-tutorial) 📚 |
| 176 | + |
| 177 | +### [大数据](https://dunwu.github.io/bigdata-tutorial) |
| 178 | + |
| 179 | +> 大数据技术点以归档在:[bigdata-tutorial](https://dunwu.github.io/bigdata-tutorial) |
| 180 | +
|
| 181 | +- [Hdfs](https://dunwu.github.io/bigdata-tutorial/hdfs) 📚 |
| 182 | +- [Hbase](https://dunwu.github.io/bigdata-tutorial/hbase) 📚 |
| 183 | +- [Hive](https://dunwu.github.io/bigdata-tutorial/hive) 📚 |
| 184 | +- [MapReduce](https://dunwu.github.io/bigdata-tutorial/mapreduce) |
| 185 | +- [Yarn](https://dunwu.github.io/bigdata-tutorial/yarn) |
| 186 | +- [ZooKeeper](https://dunwu.github.io/bigdata-tutorial/zookeeper) 📚 |
| 187 | +- [Kafka](https://dunwu.github.io/bigdata-tutorial/kafka) 📚 |
| 188 | +- Spark |
| 189 | +- Storm |
| 190 | +- [Flink](https://dunwu.github.io/bigdata-tutorial/tree/master/docs/flink) |
| 191 | + |
| 192 | +### [LIB](docs/lib) |
| 193 | + |
| 194 | +- [日志](docs/lib/javalib-log.md) - [log4j2](https://logging.apache.org/log4j/2.x/)、[logback](https://logback.qos.ch/)、log4j、[Slf4j](http://www.slf4j.org/) |
| 195 | +- [序列化](docs/lib/serialized/) |
| 196 | + - [JSON](docs/lib/serialized/javalib-json.md) - [fastjson](https://github.com/alibaba/fastjson)、[Jackson](https://github.com/FasterXML/jackson)、[Gson](https://github.com/google/gson) |
| 197 | + - [二进制](docs/lib/serialized/javalib-binary.md) - [Protobuf](https://developers.google.com/protocol-buffers)、[Thrift](https://thrift.apache.org/)、[Hessian](http://hessian.caucho.com/)、[Kryo](https://github.com/EsotericSoftware/kryo)、[FST](https://github.com/RuedigerMoeller/fast-serialization) |
| 198 | +- [模板引擎](docs/lib/template) - [Freemark](docs/lib/template/freemark.md)、[Velocity](lib/template/velocity.md)、[Thymeleaf](docs/lib/template/thymeleaf.md) |
| 199 | +- JavaBean - [Lombok](docs/lib/bean/lombok.md)、[Dozer](docs/lib/bean/dozer.md) |
| 200 | +- 工具包 |
| 201 | + - [apache common](https://commons.apache.org/) - 老牌 Java 工具集 |
| 202 | + - [guava](https://github.com/google/guava) - Google Java 工具包 |
| 203 | + - [hutool](https://github.com/dromara/hutool) - Hutool 是一个小而全的 Java 工具类库,且中文文档、注释比较齐备 |
| 204 | +- 辅助 |
| 205 | + - [swagger](https://swagger.io/) - 自动生成 API 文档(半侵入式) |
| 206 | + |
| 207 | +## 📚 资料 |
98 | 208 |
|
99 | 209 | - Java 经典书籍
|
100 | 210 | - [《Effective Java 中文版》](https://item.jd.com/12507084.html) - 本书介绍了在 Java 编程中 78 条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。同推荐《重构 : 改善既有代码的设计》、《代码整洁之道》、《代码大全》,有一定的内容重叠。
|
|
108 | 218 | - [《HTTP 权威指南》](https://item.jd.com/11056556.html) - 本书尝试着将 HTTP 中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对 HTTP 各方面的特性进行了介绍。纵观全书,对 HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。
|
109 | 219 | - [《TCP/IP 详解 系列》](https://item.jd.com/11966296.html) - 完整而详细的 TCP/IP 协议指南。针对任何希望理解 TCP/IP 协议是如何实现的读者设计。
|
110 | 220 | - [《剑指 Offer:名企面试官精讲典型编程题》](https://item.jd.com/12163054.html) - 剖析了 80 个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这 5 个面试要点。
|
| 221 | + |
| 222 | +## 🚪 传送 |
| 223 | + |
| 224 | +◾ 🏠 [JAVA-TUTORIAL 首页](https://github.com/dunwu/java-tutorial) ◾ 🎯 [我的博客](https://github.com/dunwu/blog) ◾ |
| 225 | + |
| 226 | +> 你可能会感兴趣: |
| 227 | +
|
| 228 | +- [Java 教程](https://github.com/dunwu/java-tutorial) 📚 |
| 229 | +- [JavaCore 教程](https://dunwu.github.io/javacore/) 📚 |
| 230 | +- [Spring 教程](https://dunwu.github.io/spring-tutorial/) 📚 |
| 231 | +- [Spring Boot 教程](https://dunwu.github.io/spring-boot-tutorial/) 📚 |
| 232 | +- [数据库教程](https://dunwu.github.io/db-tutorial/) 📚 |
| 233 | +- [数据结构和算法教程](https://dunwu.github.io/algorithm-tutorial/) 📚 |
| 234 | +- [Linux 教程](https://dunwu.github.io/linux-tutorial/) 📚 |
| 235 | +- [Nginx 教程](https://github.com/dunwu/nginx-tutorial/) 📚 |
0 commit comments