个人 Java学习路线

很喜欢学完一个东西就去看看其他人的学习路线,所以也看了很多,总结出了这个学习路线。

建议学习过程中多记笔记,写完后可以找项目练练手巩固复习一下所学技术(以免有所忘记)。

1.编程基础部分

  • 计算机组成原理
  • 操作系统
  • 计算机网络
  • 数据结构与算法(这个尤为的重要,但也需要很长时间的积累)

2.JavaSE部分

  • java语法基础
  • 面向对象 (一种思想 封装继承多态)
  • 接口
  • 集合
  • 多线程
  • 异常
  • I/O
  • 注解
  • 反射

3.数据库基础

  • MySQL/Oracle (建议先学mysql)
  • JDBC

4.web部分

  • 前端三剑客
    • HTML
    • CSS
    • JS
  • javaWeb
    • Servlet
    • jsp(了解即可)
    • Cookie/Session
    • Filter/Listener
    • AJAX
    • JSON

4.学习框架前的准备

  • 设计模式
  • 项目管理工具:Maven
  • 版本控制工具:Git

5.基础框架

  • Spring

  • SpringMVC

  • MyBatis

    (个人建议先学Spring然后学SpringMVC再学MyBatis)

  • ssm整合

    (学完ssm可以找一个小的CRUD项目复习巩固一下,当然时间充裕可以在github上找大的开源项目)

6.Java开发核心基础部分

  • SpringBoot

  • SpringSecurity安全框架

    • 有时间可以学oauth2、sso单点登录
  • Vue + elementUi (学习前端方便后续与SpringBoot项目整合)

7.Java开发核心进阶部分

  • Swagger2(RESTful风格的api文档框架)

  • Nginx服务器(有时间可以学完下面知识利用Nginx搭建相应集群)

  • 日志处理

    • SLF4j(门面)+ Logback(实现)
  • Redis缓存

  • 消息队列

    • RabbitMQ(基础常用)
    • Kafka
    • RocketMQ
  • 搜索引擎:

    • ElasticStack
      • elasticsearch(搜索引擎)
      • logstash(日志收集工具)
      • kibana(日志可视化查看工具)
  • NoSql数据库

    • MongoDB

    这里也可以可以基于SpringBoot+SpringSecurity+Redis+RabbitMQ+Elasticsearch+Vue做一套后台管理系统(体现权限)

  • 项目部署(CI/CD:持续集成,持续部署)

    • Docker容器
    • K8s
    • Jenkins
  • 微服务学习,基本上就是Alibaba一套(这边时间不够可以先学,时间够可以先学中间件等加分技术)

    • SpringCloud
    • Nacos
    • OpenFeign
    • Sentinel
    • Gateway
    • Seata