Java架构师学习之路

Java架构师,首先得是一个高级java攻城狮,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术:什么对象池,连接池,线程池……
  
Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是”直接内存”的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hashmap的实现原理,好多五年以上经验的人都弄不清楚,还有为什扩容时有性能问题?不弄清楚这些原理,就写不出高效的代码,还会认为自己做的很对;总之一句话越基础的东西越重要,很多人认为自己会用它们写代码了,其实仅仅是知道如何调用api而已,离会用还差的远。
  
熟练使用各种数据结构和算法,数组、哈希、链表、排序树…,一句话要么是时间换空间要么是空间换时间,这里展开可以说一大堆,需要有一定的应用经验,用于解决各种性能或业务上的问题。
  
熟练使用linux操作系统,必备,没什么好说的 。
  
熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议,尤其是http头,我发现好多工作五年以上的都弄不清session和cookie的生命周期以及它们之间的关联。
  
系统集群、负载均衡、反向代理、动静分离,网站静态化 。
  
分布式存储系统nfs,fastdfs,tfs,Hadoop了解他们的优缺点,适用场景 。
  
分布式缓存技术memcached,redis,提高系统性能必备,一句话,把硬盘上的内容放到内存里来提速,顺便提个算法一致性hash 。
  
工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题。
  
数据库的设计能力,mysql必备,最基础的数据库工具,免费好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba。其他nosql数据库如mongodb。
  
还有队列中间件。如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统。
  
以上纯粹是常用的技术,还有很多自己慢慢去摸索吧;因为要知道的东西很多,所以要成为一名合格的架构师,必须要有强大的自学能力,没有人会手把手的教给你所有的东西。
  
想成为架构师不是懂了一大堆技术就可以了,这些是解决问题的基础、是工具,不懂这些怎么去提解决方案呢?这是成为架构师的必要条件。
  
架构师要针对业务特点、系统的性能要求提出能解决问题成本最低的设计方案才合格,人家一个几百人用户的系统,访问量不大,数据量小,你给人家上集群、上分布式存储、上高端服务器,为了架构而架构,这是最扯淡的,架构师的作用就是第一满足业务需求,第二最低的硬件网络成本和技术维护成本。
  
架构师还要根据业务发展阶段,提前预见发展到下一个阶段系统架构的解决方案,并且设计当前架构时将架构的升级扩展考虑进去,做到易于升级;否则等系统瓶颈来了,出问题了再去出方案,或现有架构无法扩展直接扔掉重做,或扩展麻烦问题一大堆,这会对企业造成损失。

Java架构师学习路线图如下:

本文转自http://www.roncoo.com/article/detail/130514

时间: 2024-08-29 20:49:56

Java架构师学习之路的相关文章

java架构师要求

问题描述 本人参与工作半年不到,将来想往java架构师方向发展,请问各位大虾们,达到java架构师水准应具备什么样的知识结构? 解决方案 1. 编程功底不可以少.2. 项目经历不可以少.3. 知识积累不可以少.4. 缜密思维不可以少.5. 有创造性不可以少.6. 设计模式不可以少.首先,你可以先去看看 国家架构师考试指南,看需要哪些技能,然后一点点的练.其次,通过你以后的程序之路,慢慢的体会,总结经验.最后,要多想多做,或许别人花五年,你可以花3年.补充,在你每做一个东西的时候多去想一想,用什么

JAVA架构师葵花宝典

1 JAVA架构师 10 1.1 SSH文档 10 1.2 UML 10 1.3 设计模式 11 1.4 多线程 11 1.5 加密算法 12 1.6 服务器缓存 12 1.7 LINUX 13 1.8 J2EE组件 13 1.9 性能优化 14 1.10 遗留问题 14 1.11 名词解释 14 1 JAVA架构师 1.1 SSH文档http://wenku.baidu.com/view/89540abd960590c69ec3767f.html  spring2.5http://wenku.

WEB架构师成长之路

牛人就是是牛人,看了他写的,再回过头来想想,我为什么写不出来呢~ 来源地址:http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html 赵学智@行胜于言 本人致力于学习面向对象.设计模式.重构.极限编程.大型网站架构设计.管理等知识,希望有不正确之处多多指出,共同学习提高,为了方便查阅,特做出索引一页. 序言 WEB架构师成长之路之一-走正确的路 WEB架构师成长之路之二-大牛的法宝 WEB架构师成长之路之三-架构师都要懂哪些

java架构师-成为一个web项目高手,需要什么知识点

问题描述 成为一个web项目高手,需要什么知识点 知识点越详细越好,比如定时任务spring task,缓存ehcache,求工作三五年内高级工程师指点 解决方案 首先要了解web的底层技术Servlet的原理及使用,然后就是还基础上的各种框架技术SSH,Spring MVC等框架的使用,进阶知识的话有必要了解下servelet容器的原理.总的来说熟能生巧,经历的项目多了,技术知识自然能得到积累. 解决方案二: Web架构师成长之路 Bing:web项目高手 架构师 要求

架构师成长之路:从学习到架构[上篇]

对于技术人员的成长历程而言,每个架构师都需要从一步步学习并且积累经验,不断完善自己的能力.而对很多同学而言,往往在成长的历程中会经历很多困惑,本文来自中生代技术群(FreshmanTechnology)第三期来自蚂蚁金服技术经理于君泽的分享.于君泽是蚂蚁金服高级技术专家.支付核算技术部负责人.成都研发中心技术团队创建者之一,先后负责或参与过转账类业务.账单类业务.社区支付.开放平台.支付平台.资金核算平台.类营销类支付工具的建设:之前有数年电信业务研发经验,涉及BSS|OSS|针对性营销等平台.

DotNET企业架构应用实践-架构师成长之路-如何成为优秀架构师

      前面写过几篇与架构相关的文章,后来呢也就有了这想一个简单的想法,把我工作多年是有关于架构设计中的一点点滴和一些自我感觉还不错的经验分享出来,供大家参考和交流,虽然说我不能系统的给大家讲系统是系统架构,如何进行系统架构设计.因为我也没有系统的设计过,很多都是工作经历之中慢慢体会和总经,所以既使我能勉强的写出来,估计也不是很专业,因为我是个半路出家的"和尚",能把实际工作中的一些点滴说出来,把问题解决了,但我总是不怎么善于系统的讲解,忘大家谅解.       说到系统架构,就不

如何面对JAVA架构师,和学习方法。

宏观上: 1.技术广度方面 至少要精通多门开源技术吧,研究过struts\spring等的源码. 2.项目经验方面 从头到尾跟过几个大项目,头是指需求阶段,包括需求调研. 尾是指上线交付之后,包括维护阶段. 3.架构经验方面 有过分布式系统的架构和开发经验.对于跨系统的结构优化,数据存储的性能指标等有丰富经验.什么缓存啊.数据库的垂直切分什么的,业务的抽象和水平拆分啊,这些应该都轻车熟路吧. 4.行业领域方面 最起码得精通一到两门业务吧,所谓精通,就是比如做金融证券业务的,至少等当半个经融分析师

Java架构师与开发者提高效率的10个工具

Java受到全球百万计开发者的追捧,已经演变为一门出色的编程语言.最终,这门语言随着技术的变化,不断的被改善以迎合变化的市场需求. 无论你是否拥有一家科技公司,软件已经成为几乎每一个企业不可或缺的一部分,为了吸引你潜在的顾客,你应该交付给客户一个技术上有创新的产品.那么,Java能提供这样的平台帮你实现这一技术创新.Java贡献者们一直保持着大幅度的更新,以提供最新最强大的功能. 最近发布的Java8完美的诠释了高效和创新的特性,也为那些想要在创新之路上取得成功的企业铺平了道路.然后,合适的完成

架构师之路

1.引言 机算机科学是一门应用科学,它的知识体系是典型的倒三角结构,所用的基础知识并不多,只是随着应用领域和方向的不同,产生了很多的分支,所以说编程并不是一件很困难的事情,一个高中生经过特定的训练就可以做得到.但是,会编程和编好程绝对是两码事,同样的程序员,有的人几年之后成为了架构师,有的人却还在不停地coding,只不过ctrl-c.ctrl-v用得更加纯熟了.在中国,编程人员最终的归途无外乎两条:一是转向技术管理,它的终点是CTO:二是继续深入,它的终点是首席架构师,成为CEO的人毕竟是少数