# 入坑Java的自学之路
## 基础知识
- 编程语言:Java python c
- 基本算法
- 基本网络知识 tcp/ip http/https
- 基本的设计模式
------
## 工具方面
- 操作系统:Linux (centos/Ubuntu/Fe...)
- 代码管理:svn/git
- 持续集成:CI/CD Jenkins
- Java项目管理工具:maven/gradle
------
## 框架方面
### 应用框架
- ~~ssh(spring+structs+hibernate)已过时~~
- ssm spring springmvc mybatis
- spring boot
------
### 中间件
- MQ消息对列
- RPC通讯框架 gRPC thrift dubbo springcloud
- elasticsearch 搜索引擎
------
### 数据库
- SQL:MySQL/postgre sql
- Nosql:redis memcached mongodb elasticsearch
------
## 架构方面
#### 分布式/微服务架构
- spring cloud
- dubbo
- rpc通信
------
#### 虚拟化/容器化
- Docker 容器化
- k8s kubernetes
------
## 关注源码/性能
- JDK 源码以及部分设计思想
- Spring源码
- JVM细节与排错
- 高并发/高可用