# JavaSouth **Repository Path**: xj56/JavaSouth ## Basic Information - **Project Name**: JavaSouth - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-09-12 - **Last Updated**: 2025-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java学习/进阶/面试指南(JavaSouth) > South译为南部,这是一份南友们学习进阶Java的《Java学习/进阶/面试指南》。 > > 该指南涵盖了在大厂工作的Javaer都不会不懂的核心知识、面试重点。相信一定对你学习Java、成为更好的Java选手有所帮助,愿南友们在Java成长路上不迷茫。 GitHub个人主页的⭐️Star栏有收藏夹的功能,点击⭐️Star收藏起来方便找得到~ 南哥正在一步步完善中,一个人力量难免有限,大家发现有什么错误提个PR吧❤ # 💰JavaSouth思维导图 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d5cfd3a590874bb3bca8b33243fa4e1e.png#pic_center) # ① Java技术体系 ## ☕ Java - ### 基础 - [ArrayList是考的最多的,熟悉List集合的常见类:ArrayList、Vector、LinkedList](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/四大集合之List/面试官没想到一个ArrayList,我都能跟他扯半小时.md) - [掌握Set集合使用及原理:HashSet、LinkedHashSet、TreeSet](https://github.com/hdgaadd/JavaGetOffer/blob/master/Java专栏/四大集合之Set/四大集合之Set.md) - [掌握HashMap底层原理、HashMap为什么线程不安全](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/四大集合之HashMap/掌握HashMap底层原理、HashMap为什么线程不安全.md) - [掌握Queue集合常用类:LinkedList、ArrayDeque、PriorityQueue](https://github.com/hdgaadd/JavaGetOffer/blob/master/Java专栏/四大集合之Queue/四大集合之Queue.md) - [笔试题经常出现,掌握接口和抽象类的区别:静态分派、访问修饰符](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/接口和多态/接口和多态.md) - [笔试题出现频率高,三元运算符、自动类型提升、byte溢出、i++自增问题](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/数据类型和程序运算/数据类型和程序运算.md) - ### IO流 - [可能是最漂亮的Java IO流详解](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/Java%20IO流/可能是最漂亮的Java%20IO流详解.md) - [掌握NIO是什么?零拷贝的概念](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/Java%20NIO/掌握NIO是什么?零拷贝的概念.md) - ### 多线程 - [并发编程面试必备:如何创建线程池、线程池拒绝策略](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/线程池/并发编程面试必备:如何创建线程池、线程池拒绝策略.md) - [并发编程面试必备:指令重排序、volatile可见性原理及局限性](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/volatile与重排序/并发编程面试必备:指令重排序、volatile可见性原理及局限性.md) - [并发编程面试必备:synchronized原理、锁升级](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/synchronized实现原理/并发编程面试必备:synchronized原理、锁升级.md) - [并发编程面试必备:ThreadLocal作用、线程生命周期](https://github.com/hdgaadd/JavaSouth/blob/master/Java专栏/线程通信/并发编程面试必备:ThreadLocal作用、线程生命周期.md) - ### 网络编程 - [了解掌握WebSocket相比传统长轮询的优点](https://github.com/hdgaadd/JavaSouth/blob/master/WebSocket专栏/WebSocket技术/了解掌握WebSocket相比传统长轮询的优点.md) - ### 设计模式 - [用 Java 实现的设计模式项目,在GitHub上拥有88k⭐️Star⭐️](https://github.com/iluwatar/java-design-patterns) ## 💾MySQL - ### 面试必问 - [MySQL面试必问:索引的类型、Explain分析SQL、索引失效](https://github.com/hdgaadd/JavaSouth/blob/master/MySQL专栏/MySQL索引/MySQL面试必问:索引的类型、Explain分析SQL、索引失效.md) - [MySQL面试必问:SQL如何优化、索引如何设计](https://github.com/hdgaadd/JavaSouth/blob/master/MySQL专栏/SQL语句优化/MySQL面试必问:SQL如何优化、索引如何设计.md) - [MySQL面试必问:MySQL事务四大特性、事务隔离级别](https://github.com/hdgaadd/JavaSouth/blob/master/MySQL专栏/MySQL事务/MySQL面试必问:MySQL事务四大特性、事务隔离级别.md) - ### 进阶知识点 - [MySQL高阶知识:主从复制步骤、三种二进制日志格式等](https://github.com/hdgaadd/JavaSouth/blob/master/MySQL专栏/MySQL主从复制/MySQL高阶知识:主从复制步骤、三种二进制日志格式等.md) - [掌握MySQL高级特性:分区表、视图、全文索引](https://github.com/hdgaadd/JavaSouth/blob/master/MySQL专栏/MySQL高级特性/掌握MySQL高级特性:分区表、视图、全文索引.md) - ### 学习链接 - [MySQL官方文档,十分详细](https://dev.mysql.com/doc/) ## 🎈Redis - ### 重要知识点 - [Redis面试必问:Redis为什么快?Redis五大基本数据类型](https://github.com/hdgaadd/JavaSouth/blob/master/Redis专栏/Redis数据类型/Redis面试必问:Redis为什么快?Redis五大基本数据类型.md) - [Redis面试必备:Redis两种内存回收策略,Redis键空间、过期字典等](https://github.com/hdgaadd/JavaSouth/blob/master/Redis专栏/Redis数据库与内存回收策略/Redis面试必备:Redis两种内存回收策略,Redis键空间、过期字典等.md) - [掌握Redis持久化:RDB文件、AOF文件、AOF重写](https://github.com/hdgaadd/JavaSouth/blob/master/Redis专栏/Redis持久化/掌握Redis持久化:RDB文件、AOF文件、AOF重写.md) - [Redis重要知识点:哨兵是什么哨兵如何选择Redis主服务器](https://github.com/hdgaadd/JavaSouth/blob/master/Redis专栏/Redis哨兵/Redis重要知识点:哨兵是什么?哨兵如何选择Redis主服务器.md) - ### Redis多机 - [掌握Redis集群概念、集群分片、重新分片,集群如何选举主节点](https://github.com/hdgaadd/JavaSouth/blob/master/Redis专栏/Redis集群/了解Redis集群概念,集群如何选举主节点.md) - [Redis主从数据同步过程:命令传播、部分重同步、复制偏移量等](https://github.com/hdgaadd/JavaSouth/blob/master/Redis专栏/Redis主从/Redis主从数据同步过程:命令传播、部分重同步、复制偏移量等.md) - ### 学习链接 - [Redis官网](https://redis.io/)、[Redis创始人GitHub](https://github.com/antirez) ## ✏️主流框架 - ### 面试必备 - [Spring面试必备:Spring IOC和AOP的理解、如何解决Spring循环依赖](https://github.com/hdgaadd/JavaSouth/blob/master/主流框架/Spring%20IOC和Spring%20AOP/Spring面试必备:Spring%20IOC和AOP的理解、如何解决Spring循环依赖.md) - [熟悉Spring MVC工作流程,掌握Spring MVC常见注解](https://github.com/hdgaadd/JavaSouth/blob/master/主流框架/SpringMVC技术要点/熟悉Spring%20MVC工作流程,掌握Spring%20MVC常见注解.md) - [MyBatis面试必问: Mybatis一、二级缓存及其优缺点](https://github.com/hdgaadd/JavaSouth/blob/master/主流框架/MyBatis技术要点/MyBatis面试必问:%20Mybatis一、二级缓存及其优缺点.md) - ### 源码与文档 - [Spring Framework源码](https://github.com/spring-projects/spring-framework)、[Spring Boot源码](https://github.com/spring-projects/spring-boot) - [Spring Framework文档](https://spring.io/projects/spring-framework#learn)、[Spring Boot文档](https://spring.io/projects/spring-boot#learn) - [Spring Initializr快速搭建Spring项目](https://start.spring.io/) - [Mybatis 3源码](https://github.com/mybatis/mybatis-3)、[MyBatis 3文档](https://mybatis.org/mybatis-3/) ## 💻JVM - [你需要了解掌握的 7 种垃圾回收器与 4 种垃圾回收算法](https://github.com/hdgaadd/JavaSouth/blob/master/JVM专栏/JVM垃圾回收/掌握垃圾回收器与四种垃圾回收算法.md) - [掌握JVM内存区域:堆内存、本地方法栈、虚拟机栈、方法区、程序计数器](https://github.com/hdgaadd/JavaGetOffer/blob/master/JVM专栏/JVM内存区域/JVM内存区域.md) ## 🕶Kafka - ### 重要知识点 - [Kafka高水位面试经常问,Kafka如何保证消息可靠性](https://github.com/hdgaadd/JavaSouth/blob/master/Kafka专栏/Kafka消息可靠性/掌握Kafka高水位,Kafka如何保证消息可靠性.md) - [熟悉Kafka组成模块、Kafka消息提交的方式及优缺点](https://github.com/hdgaadd/JavaSouth/blob/master/Kafka专栏/Kafka组成模块/熟悉Kafka组成模块、Kafka消息提交的方式及优缺点.md) - [Kafka事务一般在什么场景下使用呢](https://github.com/hdgaadd/JavaSouth/blob/master/Kafka专栏/Kafka事务/Kafka事务一般在什么场景下使用呢.md) ## ⛳ZooKeeper - ### 重要知识点 - [ZooKeeper面试必备:ZooKeeper4种数据节点类型、了解事务ID](https://github.com/hdgaadd/JavaSouth/blob/master/ZooKeeper专栏/ZooKeeper系统模型/ZooKeeper面试必备:ZooKeeper4种数据节点类型、了解事务ID.md) - [掌握ZooKeeper的业务使用场景,ZooKeeper如何实现分布式锁](https://github.com/hdgaadd/JavaSouth/blob/master/ZooKeeper专栏/ZooKeeper应用场景/掌握ZooKeeper的业务使用场景,ZooKeeper如何实现分布式锁.md) - [掌握ZooKeeper的二阶段提交及其优缺点](https://github.com/hdgaadd/JavaSouth/blob/master/ZooKeeper专栏/ZooKeeper的ZAB协议/掌握ZooKeeper的二阶段提交及其优缺点.md) ## 📂 数据结构与算法 - [收集真实的面试算法题,大家尽量都做完,多多了解企业喜欢考哪类算法题](https://github.com/hdgaadd/JavaSouth/blob/master/面试必备/收集真实的面试算法题,尽量都做完了解企业喜欢考哪类算法题.md) ## 📖程序员简历 - [程序员要怎么写出一篇高质量的简历](https://github.com/Snailclimb/JavaGuide/blob/2099ea63abf44b9d090e22686aac6d45865f8d1b/面试必备/手把手教你用Markdown写一份高质量的简历.md) ## 😻简历辅导 | 面试模拟 - [南哥一对一给南友们简历辅导、面试模拟](https://github.com/hdgaadd/JavaSouth/blob/master/其他/简历辅导、面试模拟.md) ## 🎨其他 - [南哥推荐的书籍,也是我读过的(目前一共41本经典书籍,精通Java编程、程序员内核修养、熟悉主流框架、算法、MySQL、Redis、Linux、中间件原理、学会用产品思维去思考需求、架构师阅读清单)](https://github.com/hdgaadd/JavaSouth/blob/master/其他/个人阅读书籍清单(目前一共41本).md) - [Linux创始人Linus Torvalds](https://github.com/torvalds)、[孵化一众顶级开源产品的Apache社区](https://github.com/apache) # ② Java进阶之路 ## ⭐互联网公司真实面经 - [大/中/小型互联网企业面试真实面经,大家要多多参考实际面试究竟都面试什么内容,做好充足准备(阿里巴巴、腾讯、字节、百度、科大讯飞、拼多多、得物、商汤)](https://github.com/hdgaadd/JavaSouth/blob/master/面试必备/面试真题,大家可以参考实际面试都面试什么内容.md) ## 🐳普通学历进大厂的真实故事 这是南哥找到的关于程序员靠自身努力进入理想公司(大厂)的真实故事,南哥希望这样的故事让更多人知道,不要在互联网里埋没了。 了解故事,知道这条路究竟走不走得通。有了这样一个故事,就像黑夜里茫茫大海的灯塔,给我们一点光芒,大家就有了方向。 1. [二本毕业的我,靠努力终于进入了大厂](https://juejin.cn/post/7395934404261019660) 2. [无实习无论文无竞赛,靠努力拿到了农行西研的Offer](https://www.nowcoder.com/discuss/577295381487165440) 3. [非科班二本进大厂的心路历程和总结(腾讯、头条、阿里、京东)](https://juejin.cn/post/6844904111150727181) ## 🤑程序员接单 | 副业 > 下方关注南哥的公众号领取吧:Java进阶指南针 ## 程序员简历 - [程序员要怎么写出一篇高质量的简历](https://github.com/Snailclimb/JavaGuide/blob/2099ea63abf44b9d090e22686aac6d45865f8d1b/面试必备/手把手教你用Markdown写一份高质量的简历.md) ## 😻简历辅导 | 面试模拟 - [南哥一对一给南友们简历辅导、面试模拟](https://github.com/hdgaadd/JavaSouth/blob/master/其他/简历辅导、面试模拟.md) # 26届实习交流群 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e9276305b395494bba9c9f8385fc69f6.jpeg#pic_center) # ✨该开源文档的说明 ### 介绍 该开源文档涉及的主要内容包括Java、Redis、MySQL、多线程、Kafka、JVM、ZooKeeper等等Java程序员学习与进阶路上所需掌握的核心知识、面试重点,是Java学习与进阶的一条学习路线。 我会持续更新完善。相信能帮助到大家在Java成长路上不迷茫,同时顺利通关面试、拿到理想Offer。 **希望大家能指正存在的一些错误,让文档不断完善,帮助更多的后来者!** ### 关于转载 如果有引用本仓库的文章,请注明转载地址,支持下原创作者的辛苦劳动! ### 最后 本人会利用业余时间持续更新完善这个文档,修正一些错误。 Java学习、进阶之路道阻且长,我们一起抱团努力✊!度过这冰冷的互联网寒冬。 **Never forget, there must be an echo。欢迎关注南哥的公众号:Java进阶指南针** **公众号里,南哥给南友们争取到有以下福利:** **(1)公众号里有南哥珍藏整理的大量优秀pdf书籍,南友们回复"书籍"领取吧。** **(2)加入南哥私密的Java学习进阶圈子,向南哥咨询简历、面试、大厂技术、程序员副业等等相关问题。** **(3)公众号持续发表文章,文章关于南友们如何进更好的公司、进大厂需要的技术与技能。** ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/15c2e337b56e4cecba23a1f26c4eb47d.jpeg#pic_center)