前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一位资深Java架构师的晋级心得

一位资深Java架构师的晋级心得

作者头像
Debian中国
发布2020-01-21 11:08:09
5840
发布2020-01-21 11:08:09
举报
文章被收录于专栏:Debian中国Debian中国

Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。

所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。

架构师在软件开发的整个过程中起着很重要的作用。

架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。

在成为Java架构师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是”直接内存”的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题

成为Java架构师,需要掌握哪些技能呢?

1.框架源码分析

  • 设计模式:Singleton单例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原型模式等
  • Spring5:Spring提醒结构,IOC注入原理,AOP设计原理,Spring事务处理机制,SpringMVC,Spring源码分析
  • Mybatis:Mybatis体系结构,Mybatis核心应用与配置,Mybatis关联查询,与Spring集成,Mybatis源码分析

2. 工程化工具

  • Maven项目工具:Maven命令使用,Maven的pom配置体系,插件机制及插件开发,Nexus使用,上传,配置
  • Git分布式版本控制:Git安装和理解仓库,工作常用命令,分支和Tag管理,代码冲突解决方案,Github开源社区,Git企业应用,与IDE集成
  • Sonar代码检测:Sonar环境搭建和使用,使用Sonar进行代码质量管理,与IDE集成使用
  • Jenkins:搭建Jenkins自动化部署环境,集成git/maven/sonar工具,插件机制

3. 微服务架构

  • Spring Cloud:Eureka注册中心,Ribbon集成REST实现负载均衡,OpenFeign声明式服务调用,Hystrix实现服务限流熔断降级和数据监控,Zuul实现微服网关,Config分布式统一配置中心,分布式链路跟踪,集成Spring Cloud实现统一整合方案
  • 虚拟化容器Docker:Docker环境搭建和使用,搭建Docker私有仓库,Docker分布式集群部署,Kubernetes简介

4. 分布式

  • Java并发编程和网络编程:Java线程状态,线程池,线程通信,线程安全,Netty高性能原理
  • 分布式开发框架:分布式系统口调用技术:RPC,Apache分布式系统Zookeeper原理与应用,阿里Dubbo设计思想与应用
  • 分布式中间件:分布式服务器治理,分布式消息通信,分布式数据缓存,MongoDB企业集群解决方案

5. 性能优化

  • JVM性能优化:剖析JVM整体结构,详解垃圾回收机制GC,JVM性能调优与工具排查
  • Nginx调优:Nginx项目架构,Nginx核心配置,Nginx负载算法配置
  • Tomcat调优:Tomcat运行机制及框架,Tomcat线程模型,Tomcat性能调优
  • MySQL性能优化:SQL执行计划,AQL优化,索引优化

6. 电商项目实战

  • 项目的介绍,系统的架构设计,电商平台技术解决方

作为一名合格的架构师,必须懂各种网络产品及特性,懂各种中间件,能够知道坑在哪儿,深谙各种技术方案的优缺点,懂整合各种资源并达到最优…了解各种技术及应用场景,有足够的工作经验解决集成中遇到的各种奇葩问题。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档