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

Dynadot多种后缀优惠域名优惠码 ,.COM域名注册$6.99

Dynadot 是一家非常靠谱的域名注册商家,老唐也从来不会掩饰对其的喜爱,目前我个人大部分域名都在 Dynadot,还有一小部分在 NameCheap 和腾讯云。本文分享一下 Dynadot 最新域名优惠码,包括 .COM,.NET 等主流后缀的优惠码,以及一些新顶级后缀的优惠。对于域名优惠,NameCheap 的新后缀促销比较多,而 Dynadot 则是对于主流后缀的促销比较多,所以可以各取所...

木木云35元/月,美国vps服务器优惠,1核1G/500M带宽/1T硬盘/4T流量

木木云怎么样?木木云品牌成立于18年,此为贵州木木云科技有限公司旗下新运营高端的服务器的平台,目前已上线美国中部大盘鸡,母鸡采用E5-267X系列,硬盘全部组成阵列。目前,木木云美国vps进行了优惠促销,1核1G/500M带宽/1T硬盘/4T流量,仅35元/月。点击进入:木木云官方网站地址木木云优惠码:提供了一个您专用的优惠码: yuntue目前我们有如下产品套餐:DV型 1H 1G 500M带宽...

国内云服务器 1核 2G 2M 15元/月 萤光云

标题【萤光云双十二 全场6折 15元/月 续费同价】今天站长给大家推荐一家国内云厂商的双十二活动。萤光云总部位于福建福州,其成立于2002 年。主打高防云服务器产品,主要提供福州、北京、上海 BGP 和香港 CN2 节点。萤光云的高防云服务器自带 50G 防御,适合高防建站、游戏高防等业务。这家厂商本次双十二算是性价比很高了。全线产品6折,上海 BGP 云服务器折扣更大 5.5 折(测试了一下是金...

java架构师学习路线为你推荐
rdlregardless是什么意思vipjrvipjr跟哒哒英语比,两家公司的区别在哪里?各自的特点有哪些?有b吗34B的胸围有多大?waves插件MuseScore vst插件怎么安装smartuploadSmartUpload组建实现文件上传下载,我要把文件保存到项目中的某个文件夹中,该如何实现?最好有程序参考faq是什么意思在国际贸易中“FAQ”代表的是什么意思qq业务中心QQ业务办理新手怎么制作表格怎么制作表格?easeljswindow.webkit.messagehandlers js中这句是什么意思基础设施即服务基础设施行业的定义是什么?具体包含哪些行业?
游戏服务器租用 美国vps评测 warez namecheap 香港托管 表单样式 灵动鬼影 193邮箱 架设服务器 umax120 卡巴斯基免费试用 如何安装服务器系统 如何注册阿里云邮箱 新世界服务器 最漂亮的qq空间 中国电信网络测速 supercache 广东主机托管 如何登陆阿里云邮箱 江苏徐州移动 更多