Java后端开发学习路线-2020flag

整理自B站up主codesheep程序羊,语言只是一种手段,思想才是灵魂。

1、Java必读书籍推荐

  • 《java编程思想》
  • 《java并发编程实战》
  • 《深入理解java虚拟机》
  • 《函数式编程思维》
  • 《tcp/ip详解》
  • 《鸟哥的linux私房菜》
  • 《spring mvc+mybatis开发从入门到精通》
  • 《spring技术内幕》
  • 《elasticsearch服务器开发》
  • 《redis入门指南》

2、编程基础

2.1、java语言:

2.1.1、语言基础:

  • 基础语法、面向对象、接口、容器、异常、泛型、反射、注解、I/O、图形化(如Swing)

2.1.2、JVM:

  • 类加载机制、字节码执行机制、JVM内存模型、GC垃圾回收、JVM性能监控与故障定位、JVM调优

2.1.3、并发/多线程:

  • 并发编程基础、线程池、锁、并发容器、原子类、JUC并发工具类

2.2、数据结构和算法:

2.2.1、数据结构:

  • 字符串、数组、链表、二叉树、堆/栈/队列、哈希

2.2.2、算法:

  • 查找、排序、贪心、分治、动态规划、回溯

2.3、计算机网络:

  • ARP协议、IP/ICMP协议、TCP/UDP协议、DNS/HTTP/HTTPS协议、Session/Cookie

2.4、数据库/SQL:

  • SQL语言书写、SQL语句优化、事务以及隔离级别、索引、锁

2.5、操作系统:

  • 进程/线程、并发/锁、内存管理和调度、I/O原理

2.6、设计模式:

  • 单例、工厂、代理、策略、模板方法、观察者、适配器、责任链、建造者

3、研发工具

3.1、集成开发环境:

  • Eclipse、Intellij IDEA、VS Code

3.2、Linux系统:

  • Linux常用命令、基本Shell脚本

3.3、代码管理工具:

  • Git、SVN

3.4、项目管理/构建工具:

  • Maven、Gradle

4、应用框架

4.1、后端:

4.1.1、Spring家族:

  1. Spring:
    • IOC、AOP
  2. Spring MVC:
  3. Spring boot:
    1. 自动配置、开箱即用
    2. 整合web
    3. 整合数据库(事务问题)
    4. 整合权限:
      • Shiro、Spring Security
    5. 整合各种中间件:
      • 缓存、MQ、RPC框架、NIQ框架等

4.1.2、服务器软件:

  1. Web服务器:
    • Nginx
  2. 应用服务器:
    • Tomcat、Jetty、Undertow

4.1.3、中间件:

  1. 缓存:
    1. Redis:
      • 5大数据类型、事务、消息通知、管道、持久化、集群
    2. memcache
  2. 消息队列:
    • RocketMQ、RabbitMQ、Kafka
  3. RPC框架:
    • Dubbo、gRPC、Thrift、Spring Cloud、Netty

4.1.4、数据库:

  1. ORM框架:
    • MyBatis、Hibernate、 JPA
  2. 连接池:
    • Druid、HikariCP、 C3P0
  3. 分库分表:
    • MyCat、Sharding-JDBC、 Sharding-Sphere

4.1.5、搜索引擎:

  • ElestaicSearch、Solr

4.1.6、分布式/微服务:

  1. 服务发现/注册:
    • Eureka、Consul、Zookeeper、Nacos
  2. 网关:
    • Zuul、Gateway
  3. 服务调用(负载均衡):
    • Ribbon、Feign
  4. 熔断/降级:
    • Hystrix
  5. 配置中心:
    • Config、Apollo、Nacos
  6. 认证和鉴权:
    • Shiro、Spring Security、OAuth2、SSO
  7. 分布式事务:
    1. JTA接口:
      • Atomikos组件
    2. 2PC、3PC
    3. XA模式
    4. TCC模式:
      • tcc-transaction、ByteTCC、EasyTransaction、seata
    5. SAGA模式:
      • ServiceComb、Seata
    6. LCN模式:
      • tx-lcn
  8. 任务调度:
    • Quartz、Elestic-Job
  9. 链路追踪与监控:
    • Zipkin、Sleuth、Skywalking
  10. 日志分析与监控:
    1. ELK:
      • ElasticSearch、Logstash、Kibana

4.1.7、虚拟化/容器化:

  1. 容器技术:
    • Docker
  2. 容器编排技术:
    • Kubernetes、Swarm

4.2、前端:

4.2.1、基础套餐:

  1. 三大件:
    • HTML、JavaScript、CSS
  2. 基础库:
    • jQuery、Ajax

4.2.2、模板框架:

  • JSP/JSTL、Thymeleaf、FreeMarker

4.2.3、组件化框架:

  • Node、Vue、React、Angular

5、运维知识

5.1、Web服务器:

  • Nginx

5.2、应用服务器:

  • Tomcat、Jetty、Undertow

5.3、CDN加速

5.4、持续集成/持续发布:

  • Jenkins

5.5、代码质量检查:

  • Sonar

5.6、日志收集/分析:

  • ELK

6、成神之路

  • 徒手撕源码、光脚造轮子、闭眼深度调优、吊打面试官

7、平稳降落

  • 调整心态、注意健康,飞的多高不重要,重要的是如何平稳降落

8、其他

  • LeetCode
  • 英语
  • 算法类知识
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信