整理了一波学到头秃的 Java 入坑笔记,劝退一波,别搞后端了,转算法去吧!
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|---|---|---|---|
| Java | 设计模式 | 算法 | 网络 | 操作系统 | 数据库 | Spring | 分布式 | 大数据 |
- 基础:数据与程序结构、关键字等。
- 对象与类:继承、接口、抽象类、内部类、枚举、常用类、常用接口、注解等。
- 异常:异常体系等。
- 泛型:用法、类型参数、通配符等。
- 集合容器类:队列、列表、栈、Map、Set 等结构,含 ArrayList、LinkedList、ArrayDeque、PriorityQueue、HashMap、LinkedHashMap、TreeMap 及并发容器类等。
- 并发:线程基础、JMM、AQS、CAS、锁与线程安全(Synchronized、ReentrantLock)、JUC、线程池、定时任务、TreadLocal 等。
- Java8:Lambda、流 Stream 等。
- IO:文件操作、IO流、网络操作等(NIO 放到了 Netty 部分)。
- 其他:Java性能问题定位、必备技能等。
- 算法基础:数学模型、时间复杂度分析、递归等。
- 基础数据结构:数组、线性表、栈、队列、符号表、散列表、优先级队列与堆等。
- 进阶数据结构:布隆过滤器、跳表、并查集。
- 排序算法:基础、选择排序、冒泡排序、插入排序、希尔排序、归并排序、快速排序、堆排序、非比较排序。
- 查找算法:二分查找、裴波那契查找。
- 树:BST树、AVL树、2-3树、红黑树、多路查找树、B树、B+树、B*树等。
- 图:无向图、有向图、最小生成树、最短路径算法。
- 字符串算法:
- 算法设计:动态规划、贪心算法、分治算法。
- 剑指Offer题目
- 链表类题目
- 树题目
- 队列与栈题目
- 递归与动态规划题目
- 字符串题目
- 数组与矩阵题目
- 位运算题目
- 图题目
- 数学相关题目
- 贪心算法
- 大数据与空间限制题目
- 智力题
- 面试代码题汇总:记录一下面经中看到过的问过的面试题。
- 网络基础与物理层:网络分层、物理层等。
- 数据链路层:点对点信道、广播信道、PPP 协议、以太网、局域网等。
- 网络层:IP 协议栈、ICMP协议、路由选择协议(RIP、OSPF、BGP协议等)、IPV6、VPN 等。
- 传输层:UDP、TCP、ARQ协议、TCP 可靠传输、TCP连接释放等。
- 应用层:DNS、FTP、DHCP、邮件协议等。
- 网络安全:密码体制、数字签名、鉴别、安全协议、Web攻击技术(CSRF、XSS、SQL注入、DOS等)等。
- HTTP:报文结构、HTTP方法、HTTP状态码、HTTP首部、HTTP应用等。
- HTTPS:加密、认证、完整性保护、TLS等。
- 操作系统概述:操作系统基本特征、基本功能、系统调用、系统中断等。
- 进程管理:进程与线程、进程描述符、进程状态、进程调度算法、进程同步、线程同步、进程间通信、死锁等。
- 内存管理:内存管理机制、虚拟地址、虚拟内存、分页、分段等。
- IO管理与磁盘调度:磁盘结构、磁盘调度算法等。
- 编译原理:编译系统、目标文件、动态链接、静态链接等。
- IO模型:五种 IO 模型、IO 多路复用实现等。
- Linux基础:磁盘接口、分区表、开机监测程序等。
- Linux文件与文件系统:文件系统、目录、文件、文件与目录操作命令等。
- Linux Shell编程:基础、变量操作、数据流重定向、提取与转换、排序指令、测试指令等。
- Linux系统管理:Linux启动、进程管理、系统资源管理、网络管理、定时任务等。
- 基础:函数依赖、数据库范式、ER图等。
- 基础:基础、数据类型、运算符、DDL数据定义语言、DQL数据查询语言(基础查询、条件查询、查询排序、常见函数、分组查询、连接查询、子查询、分页查询、组合查询等)、DML数据操作语言(增加数据、删除数据、修改数据等)等。
- 高级特性:MySQL函数、存储过程、视图、触发器等。
- 系统原理:MySQL架构、存储引擎、SQL语句执行等。
- 索引:概述、B+Tree、索引与存储引擎实现、索引优化、索引设计等。
- 事务与并发控制:ACID、并发一致性问题、锁机制、隔离级别、MVCC等。
- 优化:查询优化、大表优化。
- 架构设计:切分与分库分表、主从复制与读写分离。
- 设计规范:命名规范、设计规范、字段设计规范、SQL开发规范。
- LeetCode数据库题解
- MongoDB 相关内容
- JVM内存区域与对象解析:运行时数据区、对象创建过程、对象内存布局等。
- 内存分配与垃圾收集:堆结构、内存分配策略、引用类型、垃圾回收算法、垃圾收集器、内存泄漏与内存溢出等。
- JVM监控与故障处理工具:jsp、jstat、jinfo、jmap、jstack、JConsole、VisualVM、堆转储、GC日志等。
- 类文件结构与类加载机制:Class类文件结构、类的生命周期、类初始化时机、类加载器等。
- 虚拟机方法调用与指令执行引擎:字节码指令、运行时栈帧结构、方法调用等。
- 程序编译与代码优化:编译期优化、运行期优化。
- 虚拟机调优及参数总结:GC调优、JVM参数总结。
- 大白话认识虚拟机
- 面向对象思想:封装、继承、多态等、设计原则(SOLID)等。
- UML类图:类图结构、类之间的关系等(继承、实现、组合、聚合、关联、依赖)。
- 设计模式之创建型:单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、生成器模式、原型模式等。
- 设计模式之行为型:责任链模式、解释器模式、迭代器模式、中介者模式、命令模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式等。
- 设计模式之结构型:适配器模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、代理模式等。
- J2EE与Web基础:JSP、Servlet等。
- Spring基础:基础、Spring EL 等。
- Spring IOC:控制反转、Bean作用域、依赖注入、Bean生命周期、BeanFactory等。
- AOP:基础、Spring AOP、AspectJ AOP。
- Spring事务:事务管理方式、事务管理接口、事务属性详解等。
- Spring MVC:基础、工作流程、重要组件。
- Spring Boot基础与原理:基础、配置文件、自动配置原理等。
- Spring Boot应用整合:数据整合、日志、调度、热部署、监控、邮件任务等。
- Spring注解总结
- Spring中的设计模式
- RESTful API设计
- Spring IOC源码分析
- 缓存理论:缓存基础、缓存问题(缓存穿透、缓存雪崩、缓存无底洞、缓存一致性问题)等。
- Redis基础:基础、基本命令与数据类型、底层数据结构、Redis高级功能、其他等。
- Redis持久化:RDB持久化、AOF持久化等。
- Redis主从复制:基础、复制原理、运维问题等。
- Redis哨兵:架构基础、实现原理等。
- Redis Cluster:数据分布理论、集群搭建、通信机制、集群伸缩、请求路由、故障转移、集群运维等。
- Redis内存、阻塞与运维:内存消耗分析、内存管理、内存优化、阻塞分析、Redis运维等。
- MyBatis:JDBC、MyBatis框架设计、缓存等。
- 分布式系统设计:基础、CAP、BASE、负载均衡、分布式锁、分布式ID、一致性算法、分布式事务等。
- 系统认证与授权:Cookie与Session、Token与JWT、OAuth2、单点登录SSO、分布式Session等。
- 网关:网关设计、大厂网关总结等。
- Zookeeper:概述、Znode、客户端、集群、ZAB协议、Zookeeper使用场景等。
- 限流:基础、限流算法(固定窗口、滑动窗口、漏桶算法、令牌桶算法)等。
- Nginx
- 消息队列概述:消息模型、使用场景、问题、JMS与AMQP、消息队列对比等。
- RabbitMQ:基础、RabbitMQ 架构。
- RocketMQ:消息模型、架构、消费问题、刷盘机制等。
- Kafka:架构模型、存储实现、生产者、消费者、可靠性、Zookeeper与Kafka、Kafka事务、各种API等。
- RPC概述:基本原理、常见RPC框架。
- Dubbo:架构、负载均衡、通信协议、集群容错策略、SPI等。
- Java网络IO:BIO、NIO、AIO 等。
- Netty核心功能与线程模型:基础、线程模型、模块与组件、ByteBuf、编解码、粘包拆包、心跳机制、零拷贝等。
- Netty应用:WebSocket弹幕系统、Dubbo、HTTP服务器等。
- 简历相关
- 非技术问题
- 项目问题
- Git
- Docker
本项目 Markdown 文件均由 Typora 编辑器整理,且使用了高亮语法(标识重点),Typora 需要打开高亮开关,看起来才舒服。如下图。
针对部分内容有相应图示,架构图源文件在各种小章节的文件夹之下,可使用如下软件打开:
由于是站在巨人的肩膀上前进,==侵删==。
- 《Java 核心技术卷》 凯S.霍斯特曼
- BruceEckel. Java 编程思想: 第 4 版 [M]. 机械工业出版社, 2007
- 《深入理解 Java 虚拟机第二版》 周志明
- 《计算机网络第七版》 谢希仁
欢迎三连~











