java架构师学习路线java软件工程师学习线路图是怎么样的?

java架构师学习路线  时间:2021-07-07  阅读:()

请专业java大神给出 java高手进阶路线图

1.javase 2 html css javascript jquery jsp 3. javaweb 4.数据库(mysql oracle) 5.框架 struts2 string hibernabe Mybatis Stringmvc 等 6.linux 7.前端框架 easyUI bootstrap 等

胡喜:我是如何从菜鸟做到架构师的

奠定扎实的理论基础   千里之行,始于足下!技术不是一蹴而就的事情,而是长时间积累的成果。

扎实的基本功是做好所有事情的开始。

到现在我还记得对我影响非常大的几本书:   ■《C++编程思想》   ■《深入浅出MFC》   ■《Windows 核心编程》   ■《数据结构》《编译原理》   我学习计算机正是按照这几本书的顺序,之前学习C的经历就不必说了,而转折点正是《C++ 编程思想》它让我感觉到程序和语言竟然这么有意思,至今仍对虚表的概念记忆犹新,尤其指针的用法,对我以后学习Java语言有很大的帮助,对多态和语言的特性也有了很高的认识。

  《深入浅出MFC》这本书,记忆最深刻的还是其中强大无比的宏定义和对象层次设计。

然而学习MFC的过程中,我遇到的最大问题就是:很多东西都是黑盒的,这引发了我刨根问底的欲望。

所以后来我学习了《Windows核心编程》,这本书给我的最大收获,就是了解了很多操作系统底层的知识,操作系统是如何运行的。

不过遗憾的是,如果当时从Linux 或者Unix 开始学习,应该会了解得更系统一些。

  之后我深入学习了《数据结构》和《编译原理》。

这是我经过了很多实践以后,又回过头来重新学习。

拿《编译原理》来说,以前对这门学科的了解非常有限,后来为了实现一个东西,要用到脚本语言,找来找去找到了Velocity(后来想想使用Groovy 应该更好一点),用了以后觉得很好。

以前修改程序逻辑,是需要重新编译或者修改配置重新发布才能OK,而现在只需要编辑然后保存一下,就能得到自己想要的结果。

这令我着迷,于是想知道它是如何实现的,翻看源代码才晓得原来还有 JavaCC这个东西。

就这样,我从解释语言入手,逐渐开始了疯狂学习编译原理的过程,越发觉得编程语言非常有意思。

  讲了这么多,就是想强调理论基础知识的重要性!虽然我们现在使用的框架如此之多,但是如果你有了扎实的基础理论知识,这些东西就跟玩具一样。

基础就是一个无招胜有招的杀手工具。

  培养完善的抽象思维   让我们从语言层面逐渐剖析这个问题,应该很容易做出解释。

程序语言就是我们在某种场景下交流的工具,汇编是机器语言;C和C++ 是编译型语言,它们是一种针对汇编的高级抽象;而Java 和 C# 就是更高级的抽象了,甚至于抽象了一层虚拟机出来(这个产生的影响就是,之后的很多高级语言评判标准,都是是否支持虚拟机),再到后面的许多动态语言,那就是更抽象了。

说到这里你会问到,讲这么多语言类的东西和学习框架有什么联系?让我慢慢道来。

  我们使用一种语言就是用它的语法进行编程,而学习一个框架实际也是为了用这个框架所提供的语言来写程序:Struts我们使用很多配置还有 Action 和Form ;Spring我们使用Bean 模型,这是它的最基本模型(现在 Spring 已经庞大得让很多人无法学习了);iBatis我是用它的XML-SQL 模型;JBPM使用它所谓的GOP模型(面向图元的编程);Web flow是在使用它的页面流模型。

这样的例子我可以举出很多(这也是DSL现在如此流行的原因)。

  很多人会说:学习这么多我已经晕掉了!不妨想想,为什么会有这么多东西存在? Struts 是为了解决Web编程的困扰;iBatis、Hibernate 是为了解决在数据库编程时的麻烦;原有的Web页面编程都是独立的具体单元,Web flow能够让这些页面形成流的形式,让开发更顺其自然;从JBPM的GOP可以看出,JBoss 的开发人员对抽象的理解度很深。

我举这么多例子,实际是让大家不要害怕现有的这些框架,有了扎实的基础,抽象的概念是很容易理解的!缺乏抽象的能力,你就不能更快更好地解决问题。

  扩充现有的知识层面   在巩固原有知识结构的前提下,我们更需要扩充现有的知识面。

井底之蛙,看到的永远是井口大的那片天,只有跳出来,才能看见无限美好的蓝天白云。

我曾经也常常局限在自己已熟悉的那块领域沾沾自喜,但是走出来以后才发现,自己原本是多么肤浅!学习的知识越多,对新事物的洞察力将会越准确!这样有助于你巩固已有的知识,系统地学习新的知识。

  那我们是否需要无限平行式的学习知识呢?我的答案是No。

人的知识面是有限的,我们需要一个T型的知识结构。

你的知识面要广,但是对于某些技术点要专,这才是做好一个架构师的关键。

有时 专可以让你对很多广的知识产生触类旁通的感觉。

  实践也是非常重要的一环,不要有畏难心理,觉得这个东西太难,我无法完成!有时候事情的结果可能是糟糕的,但是过程是非常宝贵的,其中可以学习到很多东西,同时也可以让自己避免轻浮的心理。

  还要着重培养自己良好的沟通与解说能力。

架构师面对客户群具有多样性,有技术工程师、业务人员、公司管理层,甚至直接面对客户等。

要把一个高度抽象又复杂的系统说清楚,这对于架构师来说也是一种挑战。

所以架构师必须掌握技巧,应用多种表达方式来阐述架构与产品设计、与具体业务、与公司战略之间的关系等。

培养良好的沟通能力,多和周围的人进行沟通,你能够学到更多的知识!   平衡是架构设计的艺术,我们设计一个东西,就是在平衡各方面的利益。

平衡有可能是时间上的,比如需要支持多少年的系统可用性;平衡有可能是纵向的,比如要支持系统的向下兼容性,要保证程序员编程模型上的简单性等等。

这种平衡就是因人因时因地而异了。

平衡的把握很可能就是评判一个架构师架构水平的标准!架构师在设计的时候应该权衡维度、整体性和扩展性,考虑问题时不要局限于自己的一亩三分地。

多种点田,会长出很多庄稼的!   拥有一个扎实的基础,不断扩充自己的知识面、完善知识体系,在对现有知识抽象的基础上,不断去沟通实践,你将获得更强的架构平衡能力。

最后我还要说,业务知识非常重要,这个是你实践的关键!   胡喜,就职于阿里巴巴集团旗下支付宝(中国)网络技术有限公司。

担任技术架构师,负责支付宝技术架构规划,解决方案等相关工作。

java软件工程师学习线路图是怎么样的?

从简单的java se 开始学习基础,接着到各种高级应用,多线程等等,然后学习各种框架,最好把这些应用到实战当中,如需要更加详细的路线图,可以到各大网站搜索资料,如课课家教育看看,希望对你有帮助

spinservers:圣何塞10Gbps带宽服务器月付$109起,可升级1Gbps无限流量

spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...

SugarHosts糖果主机商更换域名

昨天,遇到一个网友客户告知他的网站无法访问需要帮他检查到底是什么问题。这个同学的网站是我帮他搭建的,于是我先PING看到他的网站是不通的,开始以为是服务器是不是出现故障导致无法打开的。检查到他的服务器是有放在SugarHosts糖果主机商中,于是我登录他的糖果主机后台看到服务器是正常运行的。但是,我看到面板中的IP地址居然是和他网站解析的IP地址不同。看来官方是有更换域名。于是我就问 客服到底是什...

PIGYun中秋特惠:香港/韩国VPS月付14元起

PIGYun发布了九月份及中秋节特惠活动,提供8折优惠码,本月商家主推中国香港和韩国机房,优惠后最低韩国每月14元/中国香港每月19元起。这是一家成立于2019年的国人商家,提供中国香港、韩国和美国等地区机房VPS主机,基于KVM架构,采用SSD硬盘,CN2+BGP线路(美国为CUVIP-AS9929、GIA等)。下面列出两款主机配置信息。机房:中国香港CPU:1core内存:1GB硬盘:10GB...

java架构师学习路线为你推荐
bloomfilterJAVA怎么弄爬虫arc是什么意思arctanx等于什么?索引超出了数组界限什么是索引超出了数组界限丁奇请全面剖析一下黑胡子丁奇这个人物。ruby语言ruby什么意思?什么含义?layoutsubviews如何让NSSplitView的子View的大小固定新手怎么制作表格怎么制作表格?杭州营销型网站为什么要做营销型网站文件系统类型文件系统的类型是 NTFS。无法决定卷版本和状态。CHKDSK 被终止?酷源码酷我音乐音乐源文件在哪
域名网 php主机租用 lunarpages yardvps 息壤备案 godaddy支付宝 网站保姆 网站监控 服务器怎么绑定域名 国内php空间 三拼域名 ftp教程 服务器合租 免费高速空间 网游服务器 摩尔庄园注册 好看的空间 zcloud 蓝队云 美国asp空间 更多