Java 后端技术清单 2023版

后端开发需要掌握的知识,从入门到精通之路

JAVA后端技术清单

文章目录

      • JAVA后端技术清单
      • 1. 开发环境
      • 2. 基础知识
      • 4. 编码规范及技术博客
      • 5. 动⼿实践

1. 开发环境

  1. JDK: 版本1.8+

  2. GIT:源码管理平台(基于开源GitLab)

    • 简易指南
  3. Maven: jar包版本管理平台

    1. 简易指南
  4. IDEA: IntelliJ idea14或15版本

    1. 简易指南

2. 基础知识

  1. JAVA(书籍:《实战Java高并发程序设计》《深⼊入理解Java虚拟机:JVM⾼级特性与最佳实践》《Java并发编程实战》《JVM 周志明》)
    1. Java基础 重要性①
      1. 数据结构
        1. 数组
        2. 链表
        3. 队列
      2. JDK核心类 阅读核心源码
        1. 集合
          1. ArrayList
          2. LinkedList
          3. HashMap
          4. ConcurrentHashMap
        2. 并发
          1. 线程池 ThreadPoolExecutor
          2. synchronized
          3. ReentrantLock
          4. AQS AbstractQueueSynchronizer
          5. ThreadLocal
          6. volatile
    2. JVM 重要性①
      1. 运行时数据区
      2. 类加载机制
      3. 垃圾回收算法
      4. 垃圾回收器
        1. CMS
        2. G1
        3. ZGC
      5. 常用配置参数
      6. 线程问题定位
        1. CPU load 100%
        2. FGC 频繁
      7. JVM调优
  2. 数据库(书籍:《⾼性能Mysql》《Mysql必知必会》) 重要性①
    1. 索引
    2. 锁 MVCC
    3. 分库分表
    4. 慢SQL优化
    5. 死锁解决
  3. 设计模式 重要性③
    1. 单例
    2. 动态代理
    3. 模板
    4. 工厂
    5. 职责链
  4. 网络
    1. TCP
    2. UDP
    3. HTTP、HTTPS
    4. Netty
      1. NIO
      2. 零拷贝
      3. IO多路复用
        1. select
        2. poll
        3. epoll
  5. 算法 主要做中级和初级 重要性②
    1. 力扣 Hot 200
    2. 剑指offer
  6. 中间件和框架(
    • 书籍:《亿级流量⽹站架构核心技术》《尽在双11 阿里巴巴技术演进与超越》《逆流而上:阿里巴巴技术成⻓之路》)
    • 了解核心原理,并对其中1到2个深入学习 重要性②
    1. 资料大全

    2. Spring

      1. 官⽅文档
      2. IOC
        1. 容器构建流程
        2. bean生命周期
        3. 循环依赖
          1. 三级缓存
        4. 常见扩展点
          1. BeanFactoryPostProcessor
          2. BeanPostProcessor
          3. ApplicationListener
      3. AOP
        1. 代理方式
          1. JDK动态代理
          2. Cglib动态代理
        2. 事务隔离级别
        3. 事务实现原理
    3. Springboot

      1. Spring Boot参考指南
      2. 自动配置原理
    4. Mybatis

      1. MyBatis中⽂文档
      2. Dao到XML的流程
    5. Dubbo

      1. dubbo-spring-boot-project
      2. 官⽅文档
      3. 重要性②
    6. Zookeeper

      1. ZooKeeper是⼀个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby 一个开源的实现,是Hadoop和Hbase的重要组件。它是⼀个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
      2. 官⽅文档
      3. 重要性
    7. Nacos

      1. ⼀个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
      2. 官⽅文档
    8. Apollo

      1. Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应⽤端,并且具备规范的权限、流程治理等特性,适⽤于微服务配置管理场景。
      2. 官⽅文档
    9. Redis

      1. 重要性①
      2. 学习资料
        1. 《Redis使用手册》黄建宏译
          • 一本好的工具书,可以帮助我们快速地了解或查询 Redis 的日常使用命令和操作方法
        2. 《Redis 设计与实现 》 黄建宏著
          • 这本书讲解得非常透彻,尤其是在 Redis 底层数据结构、RDB 和 AOF 持久化机制,以及哨兵机制和切片集群的介绍上
          • 目前正在看
        3. 《Redis入门指南 李子骅》
        4. 《Redis 开发与运维》
          • 针对 Redis 阻塞、优化内存使用、处理 bigkey 这几个经典问题,提供了解决方案
    10. RocketMQ

      1. Apache Alibaba RocketMQ 是⼀个消息中间件。消息中间件中有两个⻆色:消息⽣产者和消息消费者。 RocketMQ ⾥同样有这两个概念,消息⽣产者负责创建消息并发送到RocketMQ 服务器, RocketMQ 服务器会将消息持久化到磁盘,消息消费者从RocketMQ 服务器拉取消息并提交给应用消费。
      2. 官⽅文档
      3. 重要性②
    11. Elastic-job

      1. Elastic-Job是⼀一个分布式调度解决⽅案,由两个相互独立的⼦项目Elastic-Job-Lite 和 Elastic-Job-Cloud组成。
      2. 官⽅文档
    12. Kafka

      1. 消息中间件
      2. 重要性②
    13. TDDL

      1. 数据库访问
      2. 重要性④
  7. 分布式 重要性③
    1. 理论
      1. CAP
      2. BASE
    2. 事务
      1. 2PC
      2. 3PC
      3. TCC

技术的分类
1、解决功能性的问题:Java、Jsp、RDB、Tomcat、HTML、Linux、JDBC、Git、Elastic-job、Apollo
2、解决扩展性的问题:Spring、SpringMVC、Hibernate、Mybatis、设计模式、Dubbo
3、解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch


4. 编码规范及技术博客

  1. 阿⾥编程规范
  2. Mysql规范
  3. 阿⾥技术博客
  4. 美团技术博客
  5. 有赞技术博客
  6. 开涛的博客
  7. 基础学习网站

5. 动⼿实践

  1. 技术栈:

    1. Springboot
    2. Mybatis
    3. Dubbo
    4. Mysql
    5. Zookeeper
    6. Elastic-Job
    7. Apollo
    8. Redis
  2. 主要⽬标:

    1. 熟练使用技术栈了解技术栈基本原理、作⽤及使⽤场景
    2. 能够运用以上技术栈⾃主搭建基本应用框架
    3. 熟悉IDEA开发⼯具(常⽤配置(jdk、git、maven等常用插件配置)、各种快捷键)
    4. 项⽬可运行,对外提供Restful api接口,不需要提供⻚面
    5. 项⽬内容不限,自由发挥。
  3. 项目 选取1到2个牛逼的点 重要性①

    1. 演进之路
    2. 架构设计
    3. 技术选型
    4. 性能优化
    5. 线上问题处理
    6. 稳定性保障
    7. 项目重构

你可能感兴趣的:(Java,基础知识,常用开发工具,java,后端,开发语言,技术清单)