Java后端开发学习路线

编程基础

Java语言

  • 语言基础

  • JVM

    • 类加载机制
    • 字节码执行机制
    • jvm内存模型
    • GC垃圾回收
    • jvm性能监控与故障定位
    • jvm调优
  • 并发/多线程

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

数据结构和算法

  • 数据结构

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

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

计算机网络

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

数据库/SQL

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

操作系统

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

设计模式

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

开发工具

集成开发环境

  • Eclipse
  • IDEA
  • VSCode

Linux系统

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

代码管理工具

  • Git
  • SVN

项目管理/构建工具

  • Maven
  • Gradle

应用框架

后端

  • Spring家族

    • Spring

      • IOC
      • AOP
    • SpringMVC

    • SpringBoot

      • 自动配置、开箱即用

      • 整合Web

      • 整合数据库(事务问题)

      • 整合权限

        • Shiro
        • SpringSecurity
      • 整合各种中间件

        • 缓存
        • MQ
        • RPC框架
        • NIO框架
        • 等。。。
  • 服务器软件

    • Web服务器

      • Nginx
    • 应用服务器

      • Tomcat
      • Jetty
      • Undertow
  • 中间件

    • 缓存

      • Redis

        • 5大数据类型
        • 事务
        • 消息通知
        • 管道
        • 持久化
        • 集群
      • memcache

    • 消息队列

      • RocketMQ
      • RabbitMQ
      • Kafka
    • RPC架构

      • Dubbo
      • GRPC
      • Thrift
      • SpringCloud
      • Netty
  • 数据库

    • ORM层框架

      • MyBatis
      • Hibernate
      • JPA
    • 连接池

      • Druid
      • HikariCP
      • C3P0
    • 分库分表

      • MyCat
      • Sharding-JDBC
      • Sharding-Sphere
  • 搜索引擎

    • Solr
    • ElasticSearch
  • 分布式/微服务

    • 服务发现/注册

      • Eureka
      • Consul
      • Zookeeper
      • Nacos
    • 网关

      • Zuul
      • Gateway
    • 服务调用(负载均衡)

      • Ribbon
      • Feign
    • 熔断/降级

      • Hystrix
    • 配置中心

      • Config
      • Apollo
      • Nacos
    • 认证和鉴权

      • Shiro
      • SpringSecurity
      • OAuth2
      • SSO
    • 分布式事务

      • JTA接口

        • Atomikos组件
      • 2PC、3PC

      • XA模式

      • TCC模式

        • tcc-transaction
        • ByteTCC
        • EasyTransaction
        • Seata
      • SAGA模式

        • ServiceComb
        • Seata
      • LCN模式

        • tx-lcn
    • 任务调度

      • Quartz
      • Elastic-Job
    • 链路追踪与监控

      • Zipkin
      • Sleuth
      • Skywalking
    • 日志分析与监控

      • ELK

        • ElasticSearch
        • Logstash
        • Kibana
    • 虚拟化/容器化

      • 容器技术

        • Docker
      • 容器编排技术

        • Kubernetes
        • Swarm

前端

  • 基础套餐

    • 三大件

      • HTML
      • Javascript
      • CSS
    • 基础库

      • Jquery
      • Ajax
  • 模板框架

    • JSP/JSTL
    • Thymeleaf
    • FreeMarker
  • 组件化框架

    • Node
    • VUE
    • React
    • Angular

运维知识

Web服务器

  • Nginx

应用服务器

  • Tomcat
  • Jetty
  • Undertow

CDN加速

持续集成/持续发布

  • Jenkins

代码质量检查

  • sonar

日志收集/分析

  • ELK

成神之路

  • 徒手撕源码

  • 光脚造轮子

  • 闭眼深优化

  • 吊打面试官

平稳降落

  • 调节心态、注意健康

  • 虚心学习

  • 持之以恒

Java后端总结的更多相关文章

  1. [转载]我的Java后端书架 (2016年暖冬4.0版)

      [转载]我的Java后端书架 (2016年暖冬4.0版) ps:最近正在初学Java,有一些其他语言的底子,但是还是要好好看书,好好练习,网上找了好久,都没有这份书单来的实用,特意转载过来,方便以 ...

  2. 招聘前端、Java后端开发、测试、Mysql DBA

    公司介绍: http://www.lagou.com/gongsi/43095.html http://www.yamichu.com 简历发到: zhuye@yamichu.com 招聘职位: JA ...

  3. java后端制作MD5加密

    由于一次业务的需要,我制作了一次密码的修改子业务. 当用户忘记密码的情况下,我需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等.并同时修改数据库中的原密码为这6位的随机密码.让用户再去修改 ...

  4. java后端书籍推荐

    书架主要针对Java后端开发. 3.0版把一些后来买的.看的书添补进来,又或删掉或降级一些后来没有再翻开过的书. 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可 ...

  5. 我的Java后端书架 (2016年暮春3.0版)

      04月 24, 2016 | Filed under 技术 http://calvin1978.blogcn.com/articles/javabookshelf.html 书架主要针对Java后 ...

  6. Java后端书架

    本书架主要针对Java后端开发与架构. 更新记录:4.0版把第五部份-具体技术的书整块拿掉了.<TCP/IP详解 卷1:协议>出到了第二版,增加<SRE:Google运维解密> ...

  7. Java后端开发

    Java后端开发 名称 内容 基本框架 Spring.Mybatis Linux服务器   数据库优化   消息服务 rabbitMQ.activeMq rocketMq 缓存服务 memcached ...

  8. 我的Java后端书架2016年暮春3.0版(转)

    书架主要针对Java后端开发. 3.0版把一些后来买的.看的书添补进来,又或删掉或降级一些后来没有再翻开过的书. 更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可 ...

  9. 从app上传图片到php,再上传到java后端服务器的方法一览

    在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的.也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依 ...

  10. java后端程序员1年工作经验总结

    java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...

随机推荐

  1. Apache POI 操作Excel(2)-- POI包引入项目

    Apache POI发行版包含对许多文档文件格式的支持.这种支持在几个Jar文件中提供.并非每种格式都需要所有jar.下表显示了POI组件.Maven存储库标记和项目的Jar文件之间的关系. (htt ...

  2. 使用phpQuery进行采集数据,模拟curl提升访问速度

    使用php采集网页数据一般有多种方法,有时候会使用正则去采集页面,但是当我们需要采集的页面大并且多的话,会严重的浪费我们的cpu,这时候我们可以使用phpQuer来进行采集,不知道phpQuery的童 ...

  3. JSTL版本问题

    JSTL的版本有很多,和Servlet,jsp,tomcat都有版本兼容的问题,以下是收藏的相关帖子 JSTL不同版本和EL表达式的关联  https://www.cnblogs.com/yangzh ...

  4. 使用.net standard实现不同内网端口的互通(类似花生壳)

    应用场景 1.公司电脑与家中电脑的远程控制,一般通过teamview.向日葵等软件,端口互通后,可以使用电脑自带的远程桌面 2.家中电脑搭建SVN.git仓库,在外网或者内网访问,一般使用云服务器,端 ...

  5. npm和webpack

    npm是前端开发中常用的一种工具,对于普通开发者来说,便于管理依赖. 往大了说,便于共享代码.写完代码,使用npm发布以后,然后别人用npm可以方便地共享到你的代码. npm的使用: mac环境下的安 ...

  6. CF55D Beautiful numbers 题解

    题目 Volodya is an odd boy and his taste is strange as well. It seems to him that a positive integer n ...

  7. CF819B Mister B and PR Shifts 思维题

    分析 这道题\(n\leq10^{6}\),显然\(n^{2}\)的暴力是无法解决问题的 那么我们可以考虑数列的某一种性质 因为最终的答案是\(\sum{n \atop i=1} |p_i - i|\ ...

  8. 解决安装mysql 提示msvcr100.dill 丢失,的最快方法

    我也是在学习mysql的时候遇到的这个问题,很多人也遇到了,于是在百度找解决方案 看到有人论坛中写道,用 360安全卫士,可以修复于是我下载了360安全卫士尝试修复, 在人工解答中搜索dll修复,也修 ...

  9. sql语句-CASE WHEN用法详解

    当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用 Case When这个函数了. Case具有两种格式.简单Case函数和Case搜索函数. 第一种 格式 : 简单C ...

  10. MySQL 快速删除大量数据(千万级别)的几种实践方案

    笔者最近工作中遇见一个性能瓶颈问题,MySQL表,每天大概新增776万条记录,存储周期为7天,超过7天的数据需要在新增记录前老化.连续运行9天以后,删除一天的数据大概需要3个半小时(环境:128G, ...