Java 知识
本项目大部分内容根据个人理解和认知编写,如有不足,请指出,会及时修正,包括你认为Java还需要的知识点,都可以说出来,会及时添加进去。
这些知识点可能都是很片面,需要结合实际情况调整,在真实使用中要根据项目去考虑是否需要这些,要融会贯通。
推荐几本书:
- 《深入理解Java虚拟机---周志明》
知识点范围:
- jvm,java(基础、IO、线程、集合、锁、队列等)
- spring,springBoot,Spring Data JPA
- 微服务系统(dubbo,springCloud,等组件)
- shiro,maven,mysql,mybatis,redis,mq,搜索引擎,social,等框架
- 网络,日志,负责均衡,算法
- 等等内容
JVM
JAVA
设计模式和原则
Spring
- Spring的特点
- Spring的核心组件
- Spring的常用模块
- Spring框架使用的设计模式
- Spring常用的注解
- Bean
- Spring的IOC
- Spring的AOP
- Spring 加载过程
Spring Boot
- Spring Boot特点
- Spring Boot 约定优于配置
- Spring Boot 初始化环境变量
- Spring Boot 扫描流程
- Spring Boot 配置加载顺序
- Spring Boot 多套不同环境配置
- Spring Boot 核心配置
- Spring Boot 核心注解
- Spring Boot 实现热部署
- Spring Boot 自动配置原理
- Spring Boot+Netty
Spring Data JPA
微服务
- 分布式
- 微服务架构
- 微服务的优缺点
- 微服务的技术栈
- SpringCloud
- SpringCloudAlibaba
- Eureka
- Zookeeper
- Nacos
- Spring Cloud Config
- Spring Cloud Bus
- Archaius
- Apollo
- Rest、RPC和GRpc
- Ribbon
- Spring Cloud LoadBalancer
- Nginx
- Hystrix
- Resilience4j
- Sentinel
- Zuul
- Gateway
- Spring Cloud Demo空业务模板项目
SpringSocial
Mybatis
- Mybatis 优缺点
- Mybatis和Hibernate的区别
- Mybatis 常用标签
- Mybatis $()和#()的区别
- Mybatis 模糊查询
- Mybatis 嵌套查询
- Mybatis 缓存
- Mybatis 工作原理
- Mybatis 插件
Shiro
Maven
- Maven常用命令
- Maven常用标签
- Maven有哪些优点和缺点
- Maven坐标的含义
- Maven常见的依赖范围
- Maven的生命周期
Mvn Clean Package
命令做了什么- 依赖、插件的解析机制
- 多模块如何聚合
- dependencyManagement、dependencies、dependency
- repositories、distributionManagement、pluginRepositories
- 如何设置本地仓库和远程仓库
- Maven私服的仓库类型
Gradle
MySQL
- 安装
- 特性
- 构成部分
- 三范式
- 存储引擎
- 隔离级别
MyISAM
和InnoDB
的区别- 表级锁、页级锁和⾏级锁
- 共享锁和排他锁
- 意向锁
InnoDB
⾏锁- 索引
Explain
性能分析SQL
优化- 存储过程
- 分库分表
- 读写分离
- 备份和恢复
Redis
- Redis安装
- 数据类型
- 性能
- Redis与MemCache
- Redis持久化
- Redis的高可用、主从和哨兵机制
- Redis雪崩、穿透、并发等问题
- 高并发下Redis保持数据一致性
- Redis的key的过期时间,删除策略
Redis
的并发竞争问题和CAS
Redis
集群的最大槽数是16384
个Redis
实现消息队列pipeline
- Redis分布式锁