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

特网云-新上线香港五区补货资源充足限时抢 虚拟主机6折,低至38元!

官方网站:点击访问特网云官网活动方案:===========================香港云限时购==============================支持Linux和Windows操作系统,配置都是可以自选的,非常的灵活,宽带充足新老客户活动期间新购活动款产品都可以享受续费折扣(只限在活动期间购买活动款产品才可享受续费折扣 优惠码:AADE01),购买折扣与续费折扣不叠加,都是在原价...

易探云服务器怎么过户/转让?云服务器PUSH实操步骤

易探云服务器怎么过户/转让?易探云支持云服务器PUSH功能,该功能可将云服务器过户给指定用户。可带价PUSH,收到PUSH请求的用户在接收云服务器的同时,系统会扣除接收方的款项,同时扣除相关手续费,然后将款项打到发送方的账户下。易探云“PUSH服务器”的这一功能,可以让用户将闲置云服务器转让给更多需要购买的用户!易探云服务器怎么过户/PUSH?1.PUSH双方必须为认证用户:2.买家未接收前,卖家...

LOCVPS新上韩国KVM,全场8折,2G内存套餐月付44元起_网络传真服务器

LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...

java架构师学习路线为你推荐
有道云笔记网页版有道云笔记的桌面版不能像网页版那样直接存储网页剪报内容的吧?那不就桌面版和网页版的功能很不同?移动测速请教GPS导航的固定测速与移动测速是什么意思?soapui下载SoapUi怎么安装weakhashmapJava中isEmpty方法如何使用?查字网“很”去掉双人旁读什么?查字网騳骉,怎样读?拼音李昊天李昊天这名字给多少分vipjr大家觉得vipjr少儿英语怎么样?靠谱不layoutsubviews如何自定义UISearchBar?cf加速器玩cf ping高用什么加速器比较好
便宜域名注册 怎样注册域名 域名备案收费吗 edgecast 主机测评网 t牌 分销主机 webhosting 国外私服 softbank官网 淘宝双十一2018 最好看的qq空间 165邮箱 域名转接 vip域名 国外视频网站有哪些 厦门电信 域名与空间 注册阿里云邮箱 测速电信 更多