🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪
🍅 技术交流:定期更新Java硬核干货,不定期送书活动
🍅 Java经典面试题汇总:10万字208道Java经典面试题总结(附答案)
🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、10万字面试题pdf、加入万粉计划交流群、一起学习进步
一、Java基础知识
1、基础知识
| 
 Java学习路线总结(思维导图篇)  | 
| 
 【Java基础知识 1】Java入门级概述  | 
| 
 【Java基础知识 2】JDK 和 JRE 、final 与 static 、堆和栈  | 
| 
 【Java基础知识 3】为何要配置环境变量?  | 
| 
 【Java基础知识 4】秒懂数组拷贝,感知新境界  | 
| 
 【Java基础知识 5】装箱和拆箱  | 
| 
 【Java基础知识 6】Java异常详解  | 
| 【Java基础知识 7】toString()、String.valueOf、(String)强转 | 
| 
 【Java基础知识 8】String、StringBuilder、StringBuffer详解  | 
| 【Java基础知识 9】序列化与反序列化 | 
| 
 【Java基础知识 10】Java IO流详解  | 
| 
 【Java基础知识 11】Java泛型详解  | 
| 
 【Java基础知识 12】Java枚举详解  | 
| 
 【Java基础知识 13】Java注解详解  | 
| 【Java基础知识 14】Java动态代理 | 
| 【Java基础知识 15】Java反射机制 | 
| 【Java基础知识 16】java内部类详解 | 
| 
 String拓展:intern()方法  | 
| 
 Java之StringUtils的常用方法  | 
| 
 深入理解Java String类  | 
| toString()、String.valueOf、(String)强转,如何抉择? | 
| 
 Java内联函数  | 
| Java是动态语言吗?JavaCompiler实现动态编译,并通过反射赋值 | 
| Java常用工具类汇总(附代码示例) | 
| 【Java常用工具类汇总 2】Google核心库GUAVA(附代码示例) | 
| 
 BIO、NIO、AIO 介绍和适用场景分析(绝对经典)  | 
| 
 Socket技术详解  | 
| 
 Java 反射 getClass()  | 
| 
 Java反射之Method的invoke方法实现  | 
| 
 Java反射中,为什么推荐Class.forName()获取class?  | 
| 
 利用Java反射实现两个具有相同属性bean赋值  | 
| 
 为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接  | 
| 【Java程序员必知必会的90个细节】1、创建和销毁对象 | 
| 
 FileInputStream 类与 FileReader 类的区别  | 
| 
 通过socket、多线程、动态代理、反射 实现RPC远程方法调用  | 
| 
 Java通过QRCode生成二维码  | 
| 利用百度语音识别技术实现文字转语音的应用(Java版附源码) | 
| Java性能优化的35个细节(珍藏版) | 
| tableExport导出 excel报表 | 
| Java通过Process执行C# exe程序 | 
2、集合
| Java集合基础知识总结(绝对经典) | 
| List<T>和List<?>的区别 | 
| List遍历删除元素remove() | 
| 
 HashMap转JavaBean  | 
| HashMap + 软引用进行缓存 | 
| 
 Java队列Queue  | 
| System.arraycopy详解 | 
| 
 Java.lang.Character类详解  | 
| 
 为什么HashMap使用红黑树而不使用AVL树  | 
| 秒懂数组拷贝,感知新境界 | 
3、多线程
| 
 【Java 多线程 1】CountDownLatch  | 
| 
 【Java 多线程 2】线程池  | 
| 
 【Java 多线程 3】线程池2  | 
| 
 【Java 多线程 4】ThreadLocal  | 
| 
 【Java 多线程 5】守护线程  | 
| 
 Java多线程基础知识总结(绝对经典)  | 
| 
 死锁、活锁、饿死和阻塞的个人理解  | 
| 
 Java多线程之Executor框架  | 
4、其它语言
| 内容 | 
| 
 VBA常用语法  | 
| 
 【C#】FTP上传文件,报“系统错误”  | 
| Windows批处理(cmd/bat)常用命令小结 | 
二、Spring + SpringMVC + MyBatis
| 
 过滤器和拦截器的区别  | 
| 
 GET和POST的区别  | 
| 
 使用JSR-303进行校验  | 
| 
 Spring AOP基础知识总结  | 
| 
 Spring常用注解(绝对经典)  | 
| 
 浅谈Spring事件机制  | 
| jdbctemplate使用_Java攻城狮-CSDN博客 | 
| 
 SpringMVC中put和post如何选择  | 
| 
 @RequestParam、@ModelAttribute、@RequestBody的区别  | 
| 
 HttpServletResponse response实现文件上传、下载  | 
| 
 ControllerAdvice的常用场景  | 
| 
 MyBatis xml配置文件详解  | 
| 
 MyBatis常用标签和注解(绝对经典)  | 
| 
 【MyBatis 1】SQL注入  | 
| 
 【MyBatis 2】MyBatis-Plus  | 
| 
 【MyBatis 3】MyBatis一级缓存和二级缓存  | 
| 【MyBatis 基础知识总结 4】动态sql | 
| 【MyBatis 基础知识总结 5】SqlSessionFactory和SqlSession | 
| 【MyBatis 6】Statement、PreparedStatement和CallableStatement | 
| 
 Spring+SpringMVC+MyBatis整合  | 
| 
 Hibernate基础知识总结(绝对经典)  | 
| Spring Security知识体系总结(2021版) | 
三、Spring Boot
| springBoot基础知识详解_GooReey的博客-CSDN博客_springboot学习笔记 | 
| 【Spring Boot 1】入门篇_GooReey的博客-CSDN博客 | 
| 【Spring Boot 2】web应用开发,实现CRUD_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104231260 | 
| 【Spring Boot 4】如何优雅的使用 Mybatis_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104241662 | 
| 【Spring Boot 6】自定义starter_GooReey的博客-CSDN博客 | 
| 【Spring Boot 7】RabbitMQ基础知识总结_GooReey的博客-CSDN博客 | 
| 【Spring Boot 8】Okhttp实现GitHub第三方登录_GooReey的博客-CSDN博客 | 
| 【Spring Boot 9】结合mybatis实现增删改查_GooReey的博客-CSDN博客 | 
| 【Spring Boot 10】Spring Boot + mybatis + Thymeleaf 分页示例(纯底层代码,不是pagehelper)_GooReey的博客-CSDN博客 | 
| 【Spring Boot 11】如何测试打包部署_GooReey的博客-CSDN博客 | 
| 【Spring Boot 12】看完这篇,Redis你就入门了_GooReey的博客-CSDN博客 | 
| 【Spring Boot 13】实现热部署_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104652332 | 
| 【Spring Boot 15】启动类原理解析_GooReey的博客-CSDN博客 | 
| 【Spring Boot 16】常用注解介绍及使用_GooReey的博客-CSDN博客 | 
| 【Spring Boot 17】浅谈分布式锁_GooReey的博客-CSDN博客_分布式数据库锁 | 
| 【Spring Boot 18】Spring Boot + Vue 实现CRUD_GooReey的博客-CSDN博客 | 
| 【Spring Boot 19】Spring Boot整合阿里云OSS实现云存储_GooReey的博客-CSDN博客 | 
| 【Spring Boot 20】Spring Boot + Vue 整合阿里云视频点播_GooReey的博客-CSDN博客 | 
| 【Spring Boot 21】Spring Boot 项目如何部署_GooReey的博客-CSDN博客_springboot怎么部署项目 | 
| 【Spring Boot 22】QueryMapper初探_GooReey的博客-CSDN博客_querymapper | 
| 【Spring Boot 23】MyBatis事务管理_GooReey的博客-CSDN博客 | 
| 【Spring Boot 24】MyBatis逆向工程(Example + Criteria简介)_GooReey的博客-CSDN博客 | 
| 【Spring Boot 25】JdbcTemplate配置类 + 事务控制 + API简介_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/109874891 | 
| 【Spring Boot 25】探索ApplicationContextAware接口_GooReey的博客-CSDN博客 | 
| Spring Boot 谷粒学院、谷粒商城项目问题汇总_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/107379648 | 
四、SpringCloud
| springcloud五大组件_Java攻城狮-CSDN博客_springcloud学习路线 | 
| 【Spring Cloud 1】分布式架构入门_GooReey的博客-CSDN博客 | 
| 【Spring Cloud 2】软件架构设计_GooReey的博客-CSDN博客 | 
| 【Spring Cloud 3】分布式架构下的高可用设计与可伸缩设计_GooReey的博客-CSDN博客 | 
| 【Spring Cloud 4】构建高性能的大型分布式网站_GooReey的博客-CSDN博客 | 
| 
 【Spring Cloud 5】SOA架构和微服务架构之间的关系_GooReey的博客-CSDN博客  | 
| https://blog.csdn.net/guorui_java/article/details/106524578 | 
| 【Spring Cloud 3】限流、降级和熔断Hystrix_GooReey的博客-CSDN博客_springcloud限流降级熔断 | 
| 【Spring Cloud 4】熔断与限流Sentinel_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104213743 | 
| 【Spring Cloud 10】阿里巴巴分布式服务架构流量控件Sentinel,B站黑马程序员学习笔记 | 
| springcloud五大组件 | 
| https://blog.csdn.net/guorui_java/article/details/104496409 | 
| 如果你还不懂微服务,你就危险了!_GooReey的博客-CSDN博客 | 
| RPC服务和HTTP服务对比_Java攻城狮-CSDN博客_rpc接口和http接口对比 | 
| 什么是中间件? | 
五、Vue
| 【Vue基础知识总结 1】Vue入门 | 
| Vue知识体系总结 2】Vue动态绑定v-bind | 
| 【Vue知识体系总结 3】Vue常用标签 | 
| 【Vue知识体系总结 4】Vue组件化开发 | 
| 【Vue基础知识总结 5】Vue实现树形结构 | 
| 【Vue基础知识总结 6】Spring Boot + Vue 全栈开发,都需要哪些前端知识? | 
六、数据库
七、计算机网络
| 内容 | 
| 
 【计算机网络 1】计算机网络概述  | 
| 
 【计算机网络 2】分层架构与数据通信基础  | 
| 
 【计算机网络 3】TCP/IP协议分层详解  | 
| 
 【计算机网络 11】Java服务端与C#客户端实现websocket通信(发送消息和文件)  | 
| 
 【计算机网络 12】使用C#实现socket服务端和客户端通信  | 
| 
 【计算机网络 13】使用C#实现websocket服务端与客户端通信  | 
| 
 【计算机网络 14】C# 使用OPCAutomation实现对opc数据的访问  | 
| 
 【计算机网络 15】简单几行Java代码实现迅雷功能,下载图片、音乐、视频、电影  | 
| 【计算机网络 16】一个基于TCP协议的Socket通信实例 | 
| 【计算机网络 21】太厉害了,终于有人能把TCP/IP 协议讲的明明白白了 | 
| 【计算机网络 22】基础知识总结 | 
| 
 【计算机网络 23】Socket技术详解  | 
| 
 【计算机网络 24】TCP/IP数据包结构详解  | 
八、Linux
| 内容 | 
| Linux知识体系总结(2021版) | 
| 
 【Linux 1】入门  | 
| 
 【Linux 2】Linux常用指令  | 
| 
 【Linux 3】组管理和权限管理  | 
| 
 【Linux 4】定时任务调度与进程服务管理  | 
| 
 【Linux 5】Linux中安装jdk和MySQL  | 
| 
 【Linux 6】通过Shell编程实现定时备份数据库  | 
| 【Docker 1】入门 | 
九、Redis
| 内容 | 
| Redis知识体系总结(2021版) | 
| 
 【Redis 1】Redis基础知识概述  | 
| 
 【Redis 2】入门  | 
十、JVM
| 
 【JVM 1】类加载器 + 运行时数据区  | 
| 
 【JVM 2】HotSpot VM GC 的种类  | 
| 
 【JVM 3】Eclipse运行速度调优  | 
| 
 【JVM 4】内存调优  | 
| 
 JVM堆内存详解  | 
| 
 说一下 jvm 有哪些垃圾回收器?  | 
| 学习JVM有什么实际意义呢? | 
十一、读书笔记
1、重构 改善既有代码的设计
| 内容 | 
| 
 重构,改善既有代码的设计  | 
| 
 《重构 改善既有代码的设计 1》重构原则  | 
| 
 《重构 改善既有代码的设计 2》重新组织函数、数据  | 
| 
 《重构 改善既有代码的设计 3》代码的可理解性应该是我们虔诚追求的目标  | 
2、【编写高质量代码:改善Java程序的151个建议】
| 【编写高质量代码:改善Java程序的151个建议】第1章:Java开发中通用的方法和准则___建议1~13_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104247792 | 
| 【编写高质量代码:改善Java程序的151个建议】第2章:基本类型___建议21~30_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第3章:类、对象及方法___建议31~51_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第4章:字符串___建议52~59_GooReey的博客-CSDN博客 | 
| 
 【编写高质量代码:改善Java程序的151个建议】第5章:数组和集合___建议60~66_GooReey的博客-CSDN博客  | 
| 【编写高质量代码:改善Java程序的151个建议】第5章:数组和集合___建议67~82_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第6章:枚举和注解___建议83~92_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第7章:泛型和反射___建议93~100_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104247868 | 
| 【编写高质量代码:改善Java程序的151个建议】第8章:异常___建议110~117_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第9章:多线程和并发___建议118~124_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第9章:多线程和并发___建议125~131_GooReey的博客-CSDN博客 | 
| 【编写高质量代码:改善Java程序的151个建议】第10章:性能和效率,第11章:开源世界,第12章:思想为源___建议132~151_GooReey的博客-CSDN博客 | 
3、深入理解Java虚拟机
| 
 《深入理解Java虚拟机 1》Java内存区域与内存分配策略  | 
| 
 《深入理解Java虚拟机 2》性能监控与调优  | 
| 
 《深入理解Java虚拟机 3》类加载机制与字节码执行引擎  | 
十二、高频面试题
| Java面试题总结(附答案)_GooReey的博客-CSDN博客_java集合面试题总结及答案 | 
| Java基础知识面试题_GooReey的博客-CSDN博客 | 
| 如果当时这12道题能答好,现在应该已经被录取了(记一次面试的亲身经历 2020-7-14)_GooReey的博客-CSDN博客 | 
| 如果当时这15道题能答好,现在应该已经被录取了(记一次面试的亲身经历 2020-7-20)_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/107547386 | 
| https://blog.csdn.net/guorui_java/article/details/108197232 | 
| 如果当时这16道题能答好,现在应该已经被录取了(记一次面试的亲身经历 2020-9-9)_GooReey的博客-CSDN博客 | 
| Java面试题总结(乱序版,2020-08-17)_GooReey的博客-CSDN博客 | 
| Java面试题总结(乱序版,2020-08-18)_GooReey的博客-CSDN博客 | 
| Java面试题总结(乱序版,2020-08-20)_GooReey的博客-CSDN博客 | 
| Java面试题总结(乱序版,2020-08-31)_GooReey的博客-CSDN博客 | 
| Java面试题总结(乱序版,2020-09-03)_GooReey的博客-CSDN博客 | 
| Java面试题总结(乱序版,2020-09-19)_GooReey的博客-CSDN博客_你了解过哪些同步器?请分别介绍下 | 
| Java面试题总结(乱序版,2020-09-29)_GooReey的博客-CSDN博客 | 
| Java面试题总结(基础面试题完结版,2020-10-13)_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/105987495 | 
| 【Java面试题总结 1】Java基础篇(附答案) | 
| 【Java面试题总结 2】Java集合篇(附答案) | 
| 【Java面试题总结 3】Java多线程篇(附答案) | 
| 【Java面试题总结 4】Java Web、网络、设计模式综合篇(附答案) | 
| 【Java面试题总结 7】Spring框架综合篇(附答案) | 
| 【Java面试题总结 11】数据库与JVM综合篇(附答案) | 
| 【Java面试题总结 14】Redis面试题总结(附答案) | 
十三、数据结构与算法
| 常见数据结构与算法整理总结_GooReey的博客-CSDN博客_常见数据结构与算法整理总结 | 
| 【数据结构与算法 1】稀疏数组_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 2】循环队列_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 3】单链表_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 4】单链表面试题_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 5】环形链表解决约瑟夫问题_GooReey的博客-CSDN博客_环形链表的约瑟夫问题 | 
| 【数据结构与算法 6】栈实现综合计算器_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 7】中缀表达式转为后缀表达式,实现逆波兰计算器_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/106230186 | 
| 【数据结构与算法 9】谁发明的八皇后,本宫赐你一丈红_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/105925046 | 
| 【数据结构与算法 11】常见的7种排序算法_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 12】二分查找、插值查找、斐波那契查找_GooReey的博客-CSDN博客 | 
| 【数据结构与算法 13】二叉树_GooReey的博客-CSDN博客 | 
十四、设计模式
| Java设计模式:23种设计模式全面解析_GooReey的博客-CSDN博客_设计模式23模式介绍 | 
| 【源码分析设计模式 1】JDK中的单例模式_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/106535411 | 
| 【源码分析设计模式 3】JDK中的工厂模式_GooReey的博客-CSDN博客_jdk工厂模式 | 
| 【源码分析设计模式 4】JDK中的原型模式_GooReey的博客-CSDN博客 | 
| 【源码分析设计模式 5】Java I/O系统中的装饰器模式_GooReey的博客-CSDN博客 | 
| 【源码分析设计模式 6】Mybatis中的组合模式_GooReey的博客-CSDN博客 | 
| 【源码分析设计模式 7】Integer中的享元模式_GooReey的博客-CSDN博客_integer享元模式 | 
| 【源码分析设计模式 8】mybatis中的代理模式_GooReey的博客-CSDN博客 | 
| 【源码分析设计模式 9】SpringIOC中的模板方法模式_GooReey的博客-CSDN博客_spring中的模板方法模式 | 
| 【源码分析设计模式 10】SpringMVC中的适配器模式_GooReey的博客-CSDN博客_springmvc适配器模式 | 
| 【源码分析设计模式 11】SpringMVC中的策略模式_GooReey的博客-CSDN博客 | 
| 【源码分析设计模式 12】JDBC中的桥接模式_GooReey的博客-CSDN博客 | 
| 【源码分析设计模式 13】命令模式_GooReey的博客-CSDN博客 | 
| 浅谈Visitor访问者模式_GooReey的博客-CSDN博客 | 
| 浅谈Facade外观模式_GooReey的博客-CSDN博客 | 
| https://blog.csdn.net/guorui_java/article/details/104247965 | 
| https://blog.csdn.net/guorui_java/article/details/104247966 | 
| 浅谈Interpreter解释器模式_GooReey的博客-CSDN博客 | 
| 浅谈Memento备忘录模式_GooReey的博客-CSDN博客 | 
| 浅谈State状态模式_GooReey的博客-CSDN博客 | 
| 浅谈(chain of responsibility)责任链模式_GooReey的博客-CSDN博客 | 
| 浅谈Iterator迭代器模式_GooReey的博客-CSDN博客 | 
| 单一职责、接口隔离、依赖倒转、里氏替换、开闭原则、迪米特、合成复用_GooReey的博客-CSDN博客 | 
🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪
🍅 技术交流:定期更新Java硬核干货,不定期送书活动
🍅 Java经典面试题汇总:10万字208道Java经典面试题总结(附答案)
🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、10万字面试题pdf、加入万粉计划交流群、一起学习进步

