Java后端学习方向

博主也能力有限,欢迎各位提出建议
道阻且长,Java后端的学习需要花费大量的时间,大量的精力才有能有一番造诣,也希望看到这篇博客的同学能够沉住气的去查找资料学习每一个知识点,后面也附上了书单。冲冲冲!这篇博客我也会在我学了新东西之后,有了新的理解之后不断的修改,不断的更新。可能以后就在这条路上一直走下去了吧

Java后端学习方向
2020/5/5修改

Java后端涵盖的面其实挺广的(大数据我认为也算是Java后端),学着学着就深知自己的渺小

计算机基础


Tip: 重要!!! 但是学校都会开课,但是后面请别局限于学校教的,需要自己拓展

  • 《数据结构》
    请好好学!!!后面一切专业相关科目的基础
  • 《计算机网络》
    这个需要在学校教的基础上自己去拓展(尤其是应用层和传输层)
  • 《操作系统》
    线程,进程 和 内存管理 尤为重要
  • 《计算机组成原理》

重要性排名: 数据结构>操作系统=计算机网络>计算机组成原理

Java后端学习方向


Tip: Java基础还是很重要的,Java的图形界面就别学了

Java学习


  • Java基础

  • Java中级特性
    异常处理
    I/O
    集合框架
    泛型
    多线程
    JDBC
    网络编程

  • Java高级特性
    Tip:之后理解框架原理很重要的点,到了要理解框架原理的时候在学也不迟 反射机制
    注解

  • Java8 其他特性
    Tip:java8(JDK1.8)是现在使用最多的版本
    Lambda表达式(建议还是少用,代码可读性差的让人发指)

  • JVM
    Java虚拟机需要有一定的水平才能看得懂,是个漫长的过程

  • 设计模式
    也是个漫长的过程,后端学到一定程度在开始学吧
    写出优雅可复用的代码
    23种设计模式没必要全部都学,常见的10种懂了就ok

数据库学习


  • 关系性数据库
    MySQL语法 :DDL DML DQL
    Mysql数据库四大特性(基本看了就知道)
    Mysql数据库的事务特性
    Mysql数据库连接池
    C3P0
    Druid
  • 非关系型数据库(先把Mysql用起来,这个可以留在后面优化项目的时候学)
    Redis特性及使用场景
    – 流水线
    – 哨兵模式
    Redis连接池
    Jedis
    Redis的持久化、事务支持、Lua脚本支持

Web基础学习


  • Http协议
    属于计算机网络 应用层的知识,看一遍花不了多长时间

    • TCP/IP协议
      不懂也没啥大问题,后面学了计网就懂了
    • Servlet
      Session
      Cookie
      基础 基础 基础!
    • Filter、Listener
      这个两个可以先跳过,但是还是挺重要的,后面回过头学也很快
    • Web容器(Tomcat)
      了解这是个什么东西,现阶段没必要去钻这个牛角尖,也学不懂
    • JSP(适当了解)
      知道这是干嘛的就行,没必要真的动手写
    • JSON
      这个过一遍基本就会了
    • Token
      过一遍知道是啥就完事了
    • SSM框架
      • Spring
        精华:IOC和AOP
        其中的spring security 这个可以先不学
      • SpringMVC
        懂得请求到这的处理流程(你会发现这个框架是围绕servlet设计的)
        基本注解
        RestFul风格
      • Mybatis(持久层框架)
        你会发现它和JDBC微妙的关系
  • SpringBoot框架

    • SpringBoot
      用起来很舒服的一个框架,基于SSM框架深度封装
      所以要想理解这个框架需要学好前面的知识
  • SpringCloud框架
    微服务框架

中间件


Tip:中间件特别多学是学不完的

  • Redis
    Redis其实也可以算做中间件
  • Maven
  • Git
  • Nginx
  • ElasticSearch
    搜索引擎,一般小系统都用不上
  • RabbitMQ
    消息队列,多用于异步处理数据
    也有其他的消息队列框架(kafka…)
  • Shiro
    权限控制,JavaSE和JavaEE都能用,简化的权限控制

编程软件


  • IntelliJ IDEA

数据库管理软件


用软件的时候还是多写SQL语句好点

  • Navicat
  • RedisDesktopManager

服务器管理软件


  • Xshell 6
  • Xftp 6

版本控制


  • Git

学习网站


可以百度 “如何安装google访问助手浏览器插件” 访问谷歌
Tip:谷歌相较于百度更能有效的查询到相关资料

  • CSDN
    博客良莠不齐,需要靠自己判断(可先看评论),尽量遇到疑惑时先查google
  • https://www.liaoxuefeng.com/
    廖雪峰老师的网站总体比较靠谱
  • Github
    很多很好的开源项目可以mark下来学习
  • 掘金
    很好的一个程序员交流平台
  • Stackoverflow
    靠谱!很多问题这个上面都有比较专业且详细的回答
  • Bilibili
    国内最大的自学网站(好的Up主也分享过了,可以一起去发现更多嘛)
  • How2j
    这个网站入门还行,想深入学习可能有点力不从心
  • 技术的官网
    学习一样东西一般都会有官方文档,看不懂可以查,但这绝对是最好的学习材料

其他


  • 关于数据结构
    有空可以刷刷LeetCode

书单


Tip:大部分学校图书馆都有
不分先后了
 《大话数据结构》(很喜欢的一本书,大一数据结构启蒙书)
 《Java EE互联网轻量级框架整合开发》
 《鸟哥的Linux私房菜 :基础学习篇》(这本书其实我觉得可有可无)
 《java核心技术卷 Ⅰ》
 《java核心技术卷 Ⅱ》(核心卷建议自己买,必要的时候可以当参考书)
 《深入理解Java虚拟机》(第二版很不错,第三版我没看过就不做评价了)
 《Spring实战》
 《Redis实战》
(XX实战类的书偏应用,想要更加深入的学习还需要借助其他材料,掘金、CSDN上有很多优秀的博主,个人感觉他们所写的东西干货满满)
 《RabbitMQ实战指南》
 《深入浅出MySQL:数据库开发、优化与管理维护.第2版》
 《MySQL 是怎样运行的:从根儿上理解 MySQL(上/下)》
 《Head First设计模式》(说实话我更喜欢看 掘金 上讲设计模式的)
 《Mybatis从入门到精通》
 《redis设计与实现》(需要一定的Redis水平)
 《Mysql技术内幕》(需要一定的Mysql水平)
 《大型网站技术架构》
 《实战高并发程序设计》
 《剑指offer》(找工作少不了的,多刷题没坏处的)

你可能感兴趣的:(学习方案)