首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java工程师学习路径和一些心得体会

1

前言

作为一个Java程序猿,根据自己学习、工作的一些经验讲讲讲Java学习路径,大部分都是自己的一些经验和感悟。首先讲学习路径必须提的问题,就是为什么来学习Java,自己有没有毅力坚持下去?其实学习是个枯燥的过程,没有足够的兴趣很难坚持学下去的,很大一部分人在半途中选择放弃,特别是计算机行业,技术更新太快,必须保持不断学习的心态才不至于被淘汰。所以如果要立志成为一个中高级的Java工程师,必须一步一个脚印,到最后会发现过程虽然枯燥但却很充实。

一旦有学习Java的决心,那么就要了解Java的学习路径,既广泛又有针对性的学习相关知识,来提升自己的各方面的能力。笔者刚开始学习Java的时候也走过不少弯路,但是回过头来看,学过的东西总会有收获的,所以学习的过程不能太浮躁,不要认为不重要、用不到的知识就没用、不学,知识积累到一定程度都是有关联的。笔者以前学习的那些前端知识、操作系统、计算机网络能让我很好地应付现在工作中遇到的问题。既然要学习Java,那么就大胆去尝试。

关于学习方法,我觉得一个准则就是搞懂、弄明白,然后学习方式可以多样化,前期没有基础的可以通过视频的方式,看视频的优点就是可以讲的比较详细,容易理解,但是特别花时间,等慢慢有基础以后可以看书,看文档,这样学习的知识比较系统,即使有些书的的技术版本比较低,但是影响不大。最重要的就是能应用,把学到的知识应用到实际的项目中,提高解决问题的能力,同时加深对知识的理解。

2

Java基础阶段

其实Java的入门并不难,不管你有没有基础。但是如果有C/C++基础那就更简单了,语言都是相通的,掌握了一些基础的语法其实就可以写代码了,但是大部分同学都掌握的不全,在后期或多或少会遇到一些不理解的点,所以基础学习阶段一定要一点一滴积累,要有一种打破砂锅问到底的精神,彻底弄懂每一个知识点,如果遇到一些高级知识,比如要知道虚拟机的知识才能解释的通的,可以先保留,等后面学习了虚拟机的知识再回头来弄明白。这种方式一开始会觉得学习的进度很慢,其实收获是很大的。

Java的入门从最基础的开始,比如变量常量、运算符、流程控制、方法、类与对象、封装、继承、多态、集合框架等等,基础知识比较多,远不止这些,在搜索引擎或者各大网站上搜索相关内容,都可以知道个大概过程,剩下的就是看自己的付出了。每个人能力不一样,如果你看完一遍还是看不懂,那么可以建议你多看几遍,利用好搜索引擎,甚至可以找人问,当然问问题也是有技巧的,把握问题的核心,无关紧要的部分自己搜索,尽量不浪费别人的时间。

在这个阶段按部就班就可以了,注重基础,有效全面的学习,为后面的学习打好基础。等学习到一定程度再回过头来,这些简单的基础知识也可以挖掘的很深。比如我们在刚开始学习的时候,new一个对象,这个简单的操作,包含了类的加载、属性初始化、内存的分配,类的加载可能有继承关系、属性初始化又分静态非静态属性等等。总而言之,循序渐进,不要放过一个知识点,多思考、多应用。

3

数据库和操作系统

Java基础学完以后,可以学下数据库的知识,数据库也是非常重要的。数据库的学习方向有两个:一个是从理论学习开始,不区分具体数据库,像本科计算机专业的数据库系统概论课程一样,从数据存储、关系数据库、统一的SQL标准、数据库设计、范式等等一路学下来;另一个就是学习具体的数据库,比如MySQL、Oracle等,学习相关数据库的SQL语句,对数据进行增删改查,熟练掌握SQL语句。个人建议就是先学具体的数据库,如MySQL,有时间和能力再去补理论知识,学完理论会豁然开朗,因为之前学的知识都有对应理论的支撑。学完以后就可以学JDBC了,利用Java操作数据库,这部分内容比较少,但是前面也说过,任何细微的知识都可以挖掘的很深,数据库部分就可以扯出数据库连接池、数据库框架等知识,所以学无止尽。

这一阶段还有一个需要学的就是Linux,不求精通,但是至少要掌握一些基本指令、一些基本shell脚本。笔者对shell脚本深有感触,后悔当年没有认真学,工作中用到的挺多的,一些自动化任务就是通过shell脚本控制。

4

各种框架的学习

数据库完以后,可以学习框架了,学习框架的话我觉得重要的一点就是不仅仅要会用,还要弄懂框架的原理,甚至改写框架源码用在自己的项目中。一些常用的框架比如说SpringMVC、Hibernate、Mybatis、Spring、SpringBoot、SpringSecurity、SpringCloud等等,框架部分范围比较广,内容比较多,可以慢慢来,把每一个知识点都弄懂。

学完框架就可以真正开始项目实践了,前面阶段应用的项目都是些小打小闹的项目,规模范围都很小。而这个阶段应用的项目可以是企业级的。一个项目真的会让自己成长很多,从需求分析、数据库设计、编码、测试、上线,每一步都包含很多内容。学习完框架以后,要做到:抛开一切资料能独立写出整个项目代码,而不是对着书或视频一步步敲;借助资料和网络解决出现的错误;优化项目中的解决方案等。

5

综合能力阶段

框架学习完成,其实就可以参与实际项目解决实际问题了,几个项目过后你会发现框架用的贼6,这时候怎么提升自己呢?可以阅读源码,比如JDK、Spring源码等,在源码中能学到很多技巧和思想,具有指导意义;可以深入底层,比如学习一些Java虚拟机的知识,对理解Java程序很有帮助;可以学习一些Java中并发编程相关知识,提升自己的逼格;可以学习一些设计模式,提高自己抽象思维能力;也可以学习一些额外的知识,比如操作系统、计算机组成原理,数据结构,计算机网络等(参考本科计算机专业培养方案),来拓展自己的知识面。学到这一阶段,后面就不需要别人来指导了,你会有自己的感悟和想法,知道自己下一步需要学习什么。

6

一些经验

最后讲一下个人的一些经验,这些都是自己实践得来的心得体会,觉得比较有意义,分享一下(没有分类,有点乱,想到一点写一点)。

编码过程中要提高解决问题的能力。写代码时候肯定避免不了bug,但是要通过各种手段快速定位问题,解决问题,这个比较重要,有时候一天都在解决问题,而且还没解决。

学习不仅仅是学习知识,还要培养一种学习的能力。工作中随时引入新技术,你要能快速上手,或者公司人力需要,要你转前端/C/C++,这时候就体现学习能力了。

不仅仅关注功能的实现与否,更要关注实现的方法是否最优,效率是否高等等。

适当站在运维的角度来编写代码。在需要的地方打日志,异常及时处理,抛异常带上异常信息等等,方便出问题以后定位问题。

多记笔记,多总结。记笔记可以用于复习和以后查阅。写博客、分享的方式来总结和巩固已学习的内容。

写了这么多,真正的Java学习路径讲的不是很详细,更多的是自己的感想与经验,希望能对大家有用!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181216G0M1TP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券