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

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 后端技术清单 2023版相关推荐

  1. 推荐一个很牛逼的 Github 项目:本人历时半年完成的【Java 面试 + Java 后端技术学习指南】,已拿大厂offer

    今天给大家分享一份[Java 面试 + Java 后端技术学习指南]:一份通向理想互联网公司的面试指南,包括 Java,技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.分 ...

  2. Java后端技术栈,到底如何深入学习?

    Java,是现阶段中国互联网公司中,覆盖度最广的研发语言.有不少朋友问,如何深入学习Java后端技术栈,今天分享一个,互联网牛人整理出来的Java深入学习路线图,以及免费学习资料. 一.阅读源码 深入 ...

  3. Java后端技术微信交流群!工作、学习、技术、资源等!期待你的加入!

    <Java后端技术>专注Java相关技术:SSM.Spring全家桶.微服务.MySQL.MyCat.集群.分布式.中间件.Linux.网络.多线程,偶尔讲点运维Jenkins.Nexus ...

  4. 如何成为java架构师?2023版Java架构师学习路线总结完成,真实系统有效,一切尽在其中

    导读 从初级Java工程师成长为Java架构师,你需要走很长的路,很多有计划的人在学习之初就在做准备.你知道Java架构师学习路线该怎么走吗?成为一个优秀的Java架构师究竟需要学什么?接下来就跟小编 ...

  5. Java后端技术精选优秀博文

    一.Java基础 1.Java中枚举类型Enum的一种使用方式 2.Java性能优化之字符串优化处理 3.Java 面试题问与答:编译时与运行时 4.Java中OIO与NIO的简单区别 5.为什么Ja ...

  6. Java后端技术框架

    目录 一.简介 二.持久层框架 三.分布式框架 四.分布式定时任务 五.分布式事务 六.MQ 七.分布式定时任务 八.分布式事务 九.分布式锁 十.MQ 十一.杂项 1)Redis客户端 2)接口文档 ...

  7. Java后端技术面试汇总(第一套)

    面试汇总,整理一波,doc文档可点击[ 此处下载] 1.基础篇 1.1.Java基础 • 面向对象的特征:继承.封装和多态 • final, finally, finalize 的区别 • Excep ...

  8. JAVA——Java后端技术体系韩顺平框架图_韩顺平Java基础学习路线图

    第一阶段:Java基础 变量.控制结构.OOP(封装,继承,多态).数组.Java API.异常和处理.集合.泛型.IO.反射.网络通信 第二阶段:Java高级 Java多线程/高并发 1.1 并发基 ...

  9. 中华万年历CTO杭建:Java后端技术概览

    摘要: 软件开发的核心原则 此处所说的是软件开发应该遵循的一些核心原则: Don't Repeat Yourself: 这是软件开发的一个基础原则,即不要做重复性劳动.也是现在所说的"极客文 ...

最新文章

  1. 活动目录系列之三:建立子域和林中第二棵域树
  2. 推荐:Visual Basic.NET Windows Forms 编程
  3. python最大公约数和最小公倍数
  4. 2019年清华自主招生部分试题
  5. map传参上下文赋值的问题
  6. c语言结构体赋值,并输出各种类型变量的值
  7. mysql数据与Hadoop之间导入导出之Sqoop实例
  8. 特斯拉Model Y在6月份销售7500辆 是Model X两倍多
  9. Mad Libs游戏:熟悉python编程环境,基本输入输出
  10. VC中调用 Excel 的总结
  11. 裴礼文3.2.34解答
  12. 开关电源和LDO的区别
  13. 全国大学生“高教杯“成图大赛:关于蜗轮蜗杆快速建模研究(一)
  14. 转载:子网掩码以及子网划分
  15. Win11怎么把桌面文件路径改到D盘
  16. HTML语言源代码实例
  17. 提交application/x-www-form-urlencoded类型数据
  18. 快速部署OpenStack的操作笔记(珍藏版)
  19. 你期待的Domino V12有什么?
  20. 自控原理学习笔记-反馈控制系统的动态模型(4)-频率特性函数Nyquist图及Bode图

热门文章

  1. Tone Mapping Correction
  2. 白嫖?给我也整一个!白嫖网易云游戏平台时长(网易云游戏平台自动签到)
  3. 《年度区块链产业发展报告(2020)》重磅发布,透视产业应用现状与未来
  4. pb rows changed between retrieve and update的问题
  5. 华为手机连电脑当摄像头用_今天才知道,华为手机摄像头还能这样用!还不会用你买什么华为?...
  6. 如何使用python下载B站视频
  7. 欧姆龙e5dc温控器_E5□C(E5AC/E5EC/E5CC/E5DC)温控器如何进行AT自整定?
  8. php实现维吉尼亚算法,python实现维吉尼亚算法
  9. 2,服务通讯C++与python
  10. 仿微信录音功能-(声波动画,上滑取消,超时截取,倒计时提醒)