# java-tutorial **Repository Path**: waynelewis/java-tutorial ## Basic Information - **Project Name**: java-tutorial - **Description**: :coffee: 老司机在 Java 技术领域的十年积累。 - **Primary Language**: Java - **License**: CC-BY-SA-4.0 - **Default Branch**: master - **Homepage**: http://turnon.gitee.io/java-tutorial - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 16 - **Created**: 2022-02-21 - **Last Updated**: 2022-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

license build

JavaTutorial

> ☕ **java-tutorial** 是一个 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/) > > 说明: > > - 下面的内容清单中,凡是有 📚 标记的技术,都已整理成详细的教程。 > - 部分技术因为可以应用于不同领域,所以可能会同时出现在不同的类别下。 ## 📖 内容 ### JavaSE > 📚 [javacore](https://dunwu.github.io/javacore/) 是一个 Java 核心技术教程。内容包含:Java 基础特性、Java 高级特性、Java 并发、JVM、Java IO 等。 ### JavaEE > [☕ JavaEE](javaee/README.md) 技术是 Java Web 的基石 - [JavaEE 面经](docs/javaee/javaee-interview.md) - [JavaEE 之 Servlet 指南](docs/javaee/javaee-servlet.md) - [JavaEE 之 Jsp 指南](docs/javaee/javaee-jsp.md) - [JavaEE 之 Filter 和 Listener](docs/javaee/javaee-filter-listener.md) - [JavaEE 之 Cookie 和 Session](docs/javaee/javaee-cookie-sesion.md) ### Java 工具 #### 构建 > Java 项目需要通过 [**构建工具**](docs/tool/build) 来管理项目依赖,完成编译、打包、发布、生成 JavaDoc 等任务。 > > - 目前最主流的构建工具是 Maven,它的功能非常强大。 > - Gradle 号称是要替代 Maven 等构件工具,它的版本管理确实简洁,但是需要学习 Groovy,学习成本比 Maven 高。 > - Ant 功能比 Maven 和 Gradle 要弱,现代 Java 项目基本不用了,但也有一些传统的 Java 项目还在使用。 - [Maven](docs/tool/build/maven) 📚 - [Maven 入门指南](docs/tool/build/maven/maven-quickstart.md) - [Maven 教程之 pom.xml 详解](docs/tool/build/maven/maven-pom.md) - [Maven 教程之 settings.xml 详解](docs/tool/build/maven/maven-settings.md) - [Maven 实战问题和最佳实践](docs/tool/build/maven/maven-action.md) - [Maven 教程之发布 jar 到私服或中央仓库](docs/tool/build/maven/maven-deploy.md) - [Maven 插件之代码检查](docs/tool/build/maven/maven-checkstyle-plugin.md) - [Ant 简易教程](docs/tool/build/ant.md) #### IDE > 自从有了 [**IDE**](docs/tool/ide),写代码从此就告别了刀耕火种的蛮荒时代。 > > - [Eclipse](docs/tool/ide/eclipse.md) 是久负盛名的开源 Java IDE,我的学生时代一直使用它写 Java。 > - 曾经抗拒从转 [Intellij Idea](docs/tool/ide/intellij-idea.md) ,但后来发现真香,不得不说,确实是目前最优秀的 Java IDE。 > - 你可以在 [vscode](docs/tool/ide/vscode.md) 中写各种语言,只要安装相应插件即可。如果你的项目中使用了很多种编程语言,又懒得在多个 IDE 之间切换,那么就用 vscode 来一网打尽吧。 - [Intellij Idea](docs/tool/ide/intellij-idea.md) - [Eclipse](docs/tool/ide/eclipse.md) - [vscode](docs/tool/ide/vscode.md) #### 监控/诊断 > [监控/诊断](docs/tool/monitor) 工具主要用于 Java 应用的运维。通过采集、分析、存储、可视化应用的有效数据,帮助开发者、使用者快速定位问题,找到性能瓶颈。 - [监控工具对比](docs/tool/monitor/monitor-summary.md) - [CAT](docs/tool/monitor/cat.md) - [Zipkin](docs/tool/monitor/zipkin.md) - [SkyWalking](docs/tool/monitor/skywalking.md) - [Arthas](docs/tool/monitor/arthas.md) ### [框架](framework) #### Spring 📚 [spring-tutorial](https://dunwu.github.io/spring-tutorial/) 是一个 Spring 实战教程。 #### Spring Boot 📚 [Spring Boot 教程](https://dunwu.github.io/spring-boot-tutorial/) 是一个 Spring Boot 实战教程。 #### 其他 - [Spring Cloud](https://github.com/dunwu/spring-cloud-tutorial) 📚 - [MyBatis](docs/framework/mybatis) - [Mybatis 应用指南](docs/framework/mybatis/Mybatis应用指南.md) - [Mybatis 原理](docs/framework/mybatis/Mybatis原理.md) - [Netty](docs/framework/netty.md) ### [消息队列](docs/mq) > 消息队列(Message Queue,简称 MQ)技术是分布式应用间交换信息的一种技术。 > > 消息队列主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 > > 如果想深入学习各种消息队列产品,建议先了解一下 [消息队列基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/mq.md) ,有助于理解消息队列特性的实现和设计思路。 - [消息队列基本原理](docs/mq/消息队列基本原理.md) - [消息队列面试题](docs/mq/消息队列面试.md) 💯 - [Kafka](https://dunwu.github.io/bigdata-tutorial/kafka) 📚 - [RocketMQ](docs/mq/rocketmq.md) - [ActiveMQ](docs/mq/activemq.md) ### [缓存](docs/cache) > 缓存可以说是优化系统性能的第一手段,在各种技术中都会有缓存的应用。 > > 如果想深入学习缓存,建议先了解一下 [缓存基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/cache.md),有助于理解缓存的特性、原理,使用缓存常见的问题及解决方案。 - [缓存面试题](docs/cache/cache-interview.md) 💯 - [缓存基本原理](https://github.com/dunwu/blog/blob/master/source/_posts/theory/cache.md) - [Java 缓存框架](docs/cache/cache-framework.md) - 关键词:Spring Cache、J2Cache、JetCache - [Redis 教程](https://dunwu.github.io/db-tutorial/nosql/redis/) 📚 - [Memcached 应用指南](docs/cache/memcached.md) - [Java 缓存库](docs/cache/cache-libs.md) - 关键词:ConcurrentHashMap、LRUHashMap、Guava Cache、Caffeine、Ehcache - [Ehcache 应用指南](docs/cache/ehcache.md) - [Http 缓存](docs/cache/http-cache.md) ### [微服务](docs/microservice) - [Dubbo](docs/microservice/dubbo.md) - [**Spring Cloud**](https://github.com/dunwu/spring-cloud-tutorial) 📚 - Eureka - Consul - Nacos - Zuul - Gateway - 通信 - [Netty](docs/framework/netty.md) ### 搜索引擎 - [ElasticSearch](https://dunwu.github.io/db-tutorial/nosql/elasticsearch/) 📚 - Solr - Lucene ### [安全](docs/security) > Java 领域比较流行的安全框架就是 shiro 和 spring-security。 > > shiro 更为简单、轻便,容易理解,能满足大多数基本安全场景下的需要。 > > spring-security 功能更丰富,也比 shiro 更复杂。值得一提的是由于 spring-security 是 spring 团队开发,所以集成 spring 和 spring-boot 框架更容易。 - [Shiro](docs/security/shiro.md) - [Spring Security](docs/security/spring-security.md) ### [测试](docs/test) - [Junit](docs/test/junit.md) - [Mockito](docs/test/mockito.md) - [JMH](docs/test/jmh.md) - [Jmeter](docs/test/jmeter.md) ### [服务器](docs/server) > Tomcat 和 Jetty 都是 Java 比较流行的轻量级服务器。 > > Nginx 是目前最流行的反向代理服务器,也常用于负载均衡。 - [Tomcat 应用指南](docs/server/Tomcat应用指南.md) - [Tomcat 连接器](docs/server/Tomcat连接器.md) - [Tomcat 容器](docs/server/Tomcat容器.md) - [Tomcat 优化](docs/server/Tomcat优化.md) - [Jetty](docs/server/jetty.md) - [Nginx](https://github.com/dunwu/nginx-tutorial) 📚 ### [大数据](https://dunwu.github.io/bigdata-tutorial) > 大数据技术点以归档在:[bigdata-tutorial](https://dunwu.github.io/bigdata-tutorial) - [Hdfs](https://dunwu.github.io/bigdata-tutorial/hdfs) 📚 - [Hbase](https://dunwu.github.io/bigdata-tutorial/hbase) 📚 - [Hive](https://dunwu.github.io/bigdata-tutorial/hive) 📚 - [MapReduce](https://dunwu.github.io/bigdata-tutorial/mapreduce) - [Yarn](https://dunwu.github.io/bigdata-tutorial/yarn) - [ZooKeeper](https://dunwu.github.io/bigdata-tutorial/zookeeper) 📚 - [Kafka](https://dunwu.github.io/bigdata-tutorial/kafka) 📚 - Spark - Storm - [Flink](https://dunwu.github.io/bigdata-tutorial/tree/master/docs/flink) ### [LIB](docs/lib) - [日志](docs/lib/javalib-log.md) - [log4j2](https://logging.apache.org/log4j/2.x/)、[logback](https://logback.qos.ch/)、log4j、[Slf4j](http://www.slf4j.org/) - [序列化](docs/lib/serialized/) - [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) - [二进制](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) - [模板引擎](docs/lib/template) - [Freemark](docs/lib/template/freemark.md)、[Velocity](lib/template/velocity.md)、[Thymeleaf](docs/lib/template/thymeleaf.md) - JavaBean - [Lombok](docs/lib/bean/lombok.md)、[Dozer](docs/lib/bean/dozer.md) - 工具包 - [apache common](https://commons.apache.org/) - 老牌 Java 工具集 - [guava](https://github.com/google/guava) - Google Java 工具包 - [hutool](https://github.com/dromara/hutool) - Hutool 是一个小而全的 Java 工具类库,且中文文档、注释比较齐备 - 辅助 - [swagger](https://swagger.io/) - 自动生成 API 文档(半侵入式) ## 📚 资料 - Java 经典书籍 - [《Effective Java 中文版》](https://item.jd.com/12507084.html) - 本书介绍了在 Java 编程中 78 条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。同推荐《重构 : 改善既有代码的设计》、《代码整洁之道》、《代码大全》,有一定的内容重叠。 - [《Java 并发编程实战》](https://item.jd.com/10922250.html) - 本书深入浅出地介绍了 Java 线程和并发,是一本完美的 Java 并发参考手册。 - [《深入理解 Java 虚拟机》](https://item.jd.com/11252778.html) - 不去了解 JVM 的工程师,和咸鱼有什么区 - [《Maven 实战》](https://item.jd.com/10476794.html) - 国内最权威的 Maven 专家的力作,唯一一本哦! - 其他领域书籍 - [《Redis 设计与实现》](https://item.jd.com/11486101.html) - 系统而全面地描述了 Redis 内部运行机制。图示丰富,描述清晰,并给出大量参考信息,是 NoSQL 数据库开发人员案头必备。 - [《鸟哥的 Linux 私房菜 (基础学习篇)》](https://item.jd.com/12443890.html) - 本书是最具知名度的 Linux 入门书《鸟哥的 Linux 私房菜基础学习篇》的最新版,全面而详细地介绍了 Linux 操作系统。内容非常全面,建议挑选和自己实际工作相关度较高的,其他部分有需要再阅读。 - [《Head First 设计模式》](https://item.jd.com/10100236.html) - 《Head First 设计模式》(中文版)共有 14 章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部 23 个设计模式。 - [《HTTP 权威指南》](https://item.jd.com/11056556.html) - 本书尝试着将 HTTP 中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对 HTTP 各方面的特性进行了介绍。纵观全书,对 HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。 - [《TCP/IP 详解 系列》](https://item.jd.com/11966296.html) - 完整而详细的 TCP/IP 协议指南。针对任何希望理解 TCP/IP 协议是如何实现的读者设计。 - [《剑指 Offer:名企面试官精讲典型编程题》](https://item.jd.com/12163054.html) - 剖析了 80 个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这 5 个面试要点。 ## 🚪 传送 ◾ 🏠 [JAVA-TUTORIAL 首页](https://github.com/dunwu/java-tutorial) ◾ 🎯 [我的博客](https://github.com/dunwu/blog) ◾ > 你可能会感兴趣: - [Java 教程](https://github.com/dunwu/java-tutorial) 📚 - [JavaCore 教程](https://dunwu.github.io/javacore/) 📚 - [Spring 教程](https://dunwu.github.io/spring-tutorial/) 📚 - [Spring Boot 教程](https://dunwu.github.io/spring-boot-tutorial/) 📚 - [数据库教程](https://dunwu.github.io/db-tutorial/) 📚 - [数据结构和算法教程](https://dunwu.github.io/algorithm-tutorial/) 📚 - [Linux 教程](https://dunwu.github.io/linux-tutorial/) 📚 - [Nginx 教程](https://github.com/dunwu/nginx-tutorial/) 📚