java后端开发
Java基础
大纲:8大基本数据类型、String不可变的好处、访问修饰符、final关键字、static关键字、面向对象、封装继承多态、抽象类和接口、重写和重载、==和equals()、包装类
一、java后端学习路线
1.编程基础
(1)Java语言
1)语言基础:基础语法 、面向对象、接口、容器、异常、泛型、反射、注解、I/O
2)JVM虚拟机:类加载机制、字节码执行机制、JVM内存模型、GC垃圾回收、JVM性能监控与故障定位、JVM调优
3)多线程/并发:并发编程的基础、线程池、锁、并发容器、原子类、JUC并非工具类
(2)数据结构和算法
1)数据结构:字符串、数组、链表、堆、栈、队列、二叉树、哈希、图
2)算法:排序、查找、贪心、分治、动态规划、回溯
(3)计算机网络
ARP协议、IP协议、ICMP协议、TCP协议、UDP协议、DNS、HTTP、HTTPS协议、Session、Cookie
(4)SQL/数据库
SQL语句的书写、SQL语句的优化、事物、隔离级别、索引、锁
(5)操作系统
进程线程、并发、锁、内存管理和调度
(6)设计模式
单例、工厂、代理、策略、模板方法、观察者、适配器、责任链、建造者
2.研发工具
(1)集成开发环境
Eclipse IDEA VSCODE
(2)Linux系统
常用命令、shell脚本
(3)代码管理工具
SVN Git 会用
(4)项目管理/构建工具
Maven Gradle 会用
3.应用框架
(1)后端
<1>Spring家族框架:
Spring:IoC AOP
SpringMVC
Spring Boot:自动配置、开箱即用;整合web;整合数据库(事物问题);整合 权限:Shiro、Spring Security;整合各种中间件:Redis;MQ;RPC框架;NIO框架
<2>服务器软件:
Web服务器:nginx;
应用服务器:Tomcat ;Jetty;Undertow
<3>中间件
缓存:Redios:5大基础数据类型;事物;管道;持久化;集群
消息队列:RocketMQ、RabbitMQ、Kafka
RPC框架:Dubbo;gRPC;Thrift;Spring Cloud;Netty
<4>数据库框架
ORM层框架:Mybatis;Hibermate;JPA
连接池:Druid HikariCP;C3P0
分库分表:MyCAT ;Sharding-JDBC;Sharding-Sphere
<5>搜索引擎
ElasticSearch; Solr
<6>分布式/微服务
服务发现/注册:EureKa ;Consul;Zookeeper;Nacos
网关:zuul;Gateway
服务调用(负载均衡):Ribbon;Feign
熔断/降级:Hystrix
配置中心:Config;Apollo;Nacos
认证和鉴权:Spring Security ;OAuth2;SSO单点登录
分布式事务:JTA接口:Atomikos组件;2PC、3PC;XA模式;TCC模式:tcc-transaction、ByteTCC、EasyTransaction、Seata;SAGA模式:SericeComb、Seata;LCN模式:tx-lcn
任务调度:Quartz;Elastic-Job
链路追踪和监控:Zipkin;Sleuth;Spywalking
日志分析与监控:ELK:ElasticSearch;Logstash;Kibana
<7>虚拟化/容器化
容器技术:docker
容器编排技术:k8s;Swarm
(2)前端
<1>基础套餐:
三大件:HTML;js;css
基础库:JQuery;Ajax
<2>模板框架
Thymeleaf
FreeMarker
<3>组件化框架
Node;Vue ;React;Angular
4.运维知识
(1)Web服务器
Nginx
(2)应用服务器
Tomcat ;Jetty;Undertow
(3)CDN加速
(4)持续集成/持续部署
Jenkins
(5)代码质量检查
Sonar
(6)日志手机和分析
ELK