简单记录自己的学习路线(大部门待学习),及在工作中用到的技术,工具等.目前只记录了大纲,后续会不断补充具体内容,供自己温故,也供同学们参考.
技术有限,写的不对的地方,欢迎大家纠错.
1.java基础 1.j2ee: 1)语法 2)面向对象 3)接口 4)容器 5)异常 6)泛型 7)反射 8)注解 9)I/O 2.多线程,并发 1.并发编程基础 2.线程池 3.锁 4.并发容器 5.原子类 6.JUC并发工具类 3.jvm 1.类加载机制 2.字节码执行机制 3.JVM内存模型 4.GC垃圾回收 5.JVM性能监控与故障定位 6.JVM调优 2.数据结构和算法 1.数据结构 1. 2.数组 3.链表 4.堆/栈/队列 5.二叉树 6.哈希 7.图 2.算法 1.排序 2.查找 3.贪心 4.分治 5.动态规划 6.回溯 3.计算机网络 1.ARP协议 2.IP协议/ICMP协议 3.TCP/UDP协议 4.DNS/HTTP/HTTPS协议 5.session/cookie 4.SQL/数据库 1.SQL语句 2.SQL语句优化 3.事务,隔离级别 4.索引 5.锁 5.操作系统 1.进程/线程 2.并发/锁 3.内存管理和调度 4.I/O原理 6.设计模式 1.单例 2.工厂 3.代理 4.策略 5.模板方法 6.观察者 7.适配器 8.责任链 9.建造者 7.spring家族 1.spring 1.IOC 2.AOP 2.springMVC 3.springboot 1.自动配置,开箱即用 2.整合WEB 3.整合数据库 4.整合权限(shiro/spring security) 5.整合中间件(Redis/MQ/RPC框架/NIO框架) 8.服务器软件 1.web服务器:Nginx 2.应用服务器: 1.Tomcat 2.Jetty 3.Undertow 9.中间件 1.缓存 1.Redis: 1)5大基础数据类型 2)事务 3)管道 4)持久化 5)集群 2.zookeeper: 2.消息队列 1.RocketMQ 2.RabbitMQ 3.kafka 3.RPC框架 1.Dubbo 2.gRPC 3.Thrift 4.SpringCloud 5.Netty 10.数据库框架 1.ORM层框架 1.mybatis 2.hibernate 3.JPA 2.连接池 1.Druid 2.HikariCP 3.C3P0 3.分库分表 1.MyCAT 2.sharding-JDBC 3.sharding-Sphere 11.搜索引擎 1.ES 2.Solr 12.分布式/微服务 1.服务注册/发现 1.Consul 2.Zookeeper 3.Nacos 2.网关 1.zuul 2.GateWay 3.服务调用 1.Ribbon 2.Feign 4.熔断/降级 1.Hystrix 5.配置中心 1.config 2.apollo 2.nacos 6.认证和授权: 1.spring security 2.OAuth2 3.SSO单点登录 7.分布式事务 1.JTA接口-Atomikos组件 2.2PC/3PC 3.XA模式 4.TCC模式 1)tcc-transaction 2)byteTcc 3)EasyTransaction 4)Seata 5.SAGA模式 1.ServiceComb 2.Seata 8.任务调度 1.quartz 2.Elastic-job 9.链路追踪 1.Zipkin 2.sleuth 3.skywalking 10.日志分析与监控 1.ELK 1)ElasticSearch 2)Logstash 3)Kibana 13.虚拟化/容器化 1.容器技术:Docker 2.容器编排技术: 1)kubernetes 2)swarm 14.workwith 1.socket 2.ftp 3.sftp 4.fserver 5.http 6.soap 报文 7.XML/JSON 解析及转换 8.正则 9.加解密/加解签 10.工具类(时间/日期/货币格式化....) 11.quartz 12.haproxy 13.工作流 14.配置/spring... 15.开发工具 1.git/gitlab 2.idea/eclipse 3.maven 4.FlashFxp 5.secureCRT/Xshell 6.DBeaver(数据库)/Navicat 7.JSONView 8.postman/jmetter 14.前端 1.基础: 1)三大件: html/css/javascript 2)基础库:jquery/ajax 2....