第一阶段(看自己能不能学走)
开发环境的搭建(安上嘴)
开发工具的安装和使用
jdk
IDEA/vscode
环境变量的设置
基础的电脑命令行命令
Java的语言基础(学会说话,推荐看视频,刘意或者毕向东)
几个重要的知识点
面向对象(主要是理解思想,多语言通用的)
集合
IO操作
异常处理
基础的多线程和并发(只做了解即可)
注解
反射(后面会复习)
基础的数据结构和算法(优先是数据结构,基础的这些东西都是能学会的不是很多)
debug(必学会 ,逐步调试,定位问题)
整合 做点控制台小程序
第二阶段
前端基础知识(除非你不做web开发,否则必学,比如游戏开发,桌面软件开发)
JavaScript
html
css
计算机网络基础(为后面的web开发做基础)
网络通信协议
HTTP/HTTPS
TCP/IP/UDP/SMTP/FTP
IP地址
常见的响应格式和状态码
Json(必学会)
xml
1xx 2xx 3xx
数据库基础知识
关系型数据库
mysql(优先)
Oracle
非关系型
MongoDB
服务器基础知识
linux基础操作
nginx基础知识
Java部署容器
tomcat
jetty
Javaweb基础知识
servlet/jsp(jsp了解即可)
jdbc
数据库连接
crud操作
数据源/连接池
ajax通信
restful风格接口
理解服务端渲染和spa单页面
session/cookie
filter/listener
整合做点原生Javaweb项目
#第三阶段(成为码农)
为框架学习打基础
复习反射(一定要理解)
常用的设计模式
maven
Git/Svn
SSM
spring IOC/AOP
springmvc
mybatis
常见的页面模板
freemaker
thymeleaf
springboot
springdatajpa
整合下面的常见框架,并且可以单独使用他们
日志处理
log4j
logback
常见的缓存
redis(重要)
memcached
常见的权限框架和授权认证
shiro
spring security
jwt
oauth2
sso单点登录
常见的消息队列
rocketmq
rabbitmq
kafka
常见的搜索引擎
elk(同样可以做日志管理,重要)
elasticsearch
logstash
kibana
solr
lucene
容器和持续部署
docker
k8s
jenkins
sonar
任务
quartz
elastic-job
分库分表
mycat
sharding-jdbc
多线程和并发进阶
线程池
JUC
锁
JVM
调优
内存模型
垃圾回收
错误定位
字节码
NIO
netty
整合做点项目(github找项目,同时培训班最后一个项目练手)
#第四阶段(简单提一下,学到这里自己肯定有思路了)
热门的分布式方案
Dubbo zookeeper
spring cloud alibaba
springcloud全家桶
nodejs(混合微服务)
分布式事务
大数据相关的
hadoop
spark
#怎么学
前期推荐看视屏(容易理解)
跑完一遍基础后,可以看对应的书籍加深理解(更全面)
前期多做项目,后期多思考,看别人的项目源码
项目做熟悉以后,尝试阅读源码
持续跟进新技术的发展,框架新版本的跟进