一个完美的架构师须要具备如下几特色:javascript
知识广度:须要知道主流技术为何诞生,能解决什么问题?若是同一种业务用不用的技术来实现,会有什么哪些优缺点?好比:流行的ORM框架Mybatis 和 hibernate ,他们之间的优缺点是什么?要有清晰的认识会能在技术造型时作出正确的决定。前端
知识的深度:至少是某个领域的专家,好比消息队列,activeMQ熟悉其源码,知道其实现。java
优秀的学习能力:对新的技术和前沿性的技术进行学习,使用它来解决工做中的业务问题。mysql
1、阅读源码,分析源码nginx
深刻的Java学习,经典源码阅读和源码分析不可少:web
- Spring5,作应用必不可少的最新框架
- MyBatis,玩数据库必不可少的组件
2、分布式架构ajax
随着业务愈来愈复杂,数据量愈来愈大,并发量愈来愈大,单体的架构模式显然再也没法对应,做为Java后端架构师,高并发+高可用+海量数据的分布式架构体系,是必不可少的:redis
- 分布式架构基础
- 分布式通讯框架
- 分布式协调服务
- 分布式架构实战
3、微服务架构体系spring
服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪须要深刻学习呢?sql
- 微服务框架
- Spring boot
- Spring Cloud
- Docker与虚拟化
- 微服务架构
4、性能优化
做为后端Java技术专家,解决性能问题才真正体现一个架构师的功力。只有深刻学习JVM底层原理,Mysql底层优化以及Tomcat调优,作到知其然,知其因此然:
- 理解性能优化
- JVM调优
- Mysql调优
- Tomcat调优
5、 架构式工具箱
6、典型业务实战
阅读完Java源码,学习完分布式与微服务架构体系,掌握了性能调优的方法,仅仅作一个ppt架构师怎么行?
- 用户中心,单点登陆怎么玩
- 商品,店铺怎么玩
- 订单,支付怎么玩
- 通知,推送怎么玩
- 数据分析怎么玩
惟有经过实战,才能站上华山之巅
加薪必备知识点
- 掌握Java编程语言,包含io/nio/socket/multi threads/collection/concurrency等功能的使用;
- 熟练掌握jvm(sun hotspot和ibm j9)内存模型、gc垃圾回收调优等技能;
- 精通JVM,JMM,MVC架构,熟练使用struts2。
- 熟练使用spring、struts、ibatis构建应用系统。
- 熟练使用Servlet,jsp,freemark等前端技术。
- 熟练使用axis搭建基于SOAP协议的WebService服务接口。
- 熟练使用MAVEN构建项目工程。
- 熟练使用tomcat等web服务。
- 熟练使用mysql等关系型数据库,熟悉mysql集群搭建。
- 熟练使用redis等NOSQL技术。
- 熟悉tcp、http协议。
- 熟悉nginx、haproxy等配置。
- 熟悉javascript、ajax等技术。
- 熟悉主流分布式文件系统FastDFS等。
- 熟悉JMS,可熟练使用ActiveMQ。
底层计算机理解内存管理/数据挖掘系统
可靠性和可用性如何理解
- jsp和sever lap对比
- 数据库到界面,字符集转化
- 基栈
- jvm优化cup高的时候若是分析和监控
- java curb突出细节问题
- 分布式缓存文档如何分流
- 迁移数据库垂直分割
- 高并发如何处理前端高并发应用层
- LB设计load balance
- 负载均衡
- 防网络攻击
- 数据日志事件监控后通知
- 数据库事务实现的底层机制
- 字符串空格输入的网络攻击
- Quartz框架的底层原理
- 数据库同步中不经过数据库引擎直接读日志等方式同步数据