本文章转自:乐字节
文章主要讲解:Java小白如何学习编程
获取更多Java相关知识可以关注公众号《乐字节》 发送:999
1.1学习路径
随着社会信息的发展,软件开发已经无处不在,无论是手机软件、手机游戏还是web应用,只要你使用到电子产品就会有编程开发的影子。这个行当以入门快,薪资高而备受关注。越来越多的企业开始组建自己的软件研发团队,储备自己的软件开发资源。越来越多的人开始关注,或者准备进入这个行业。
那么作为刚刚进入这个领域的新人,无论是高校的毕业大学生,还是有志转行的在职人员,都面临着诸多困惑。比如说,软件开发这只是个统称,具体到技术会分成很多方向。而每个方向又需要掌握哪些技能?各大公司对开发人员的要求是什么?学习技术过程中又有哪些注意事项?这都是“菜鸟”需要面临的切实问题。
一门编程语言的学习大致分为4个阶段:理论学习阶段、进阶阶段、实战阶段以及高级阶段。下面,我们就以后端开发语言Java为例,谈一谈“新手”进阶的学习过程。
1.1.1 理论学习阶段
基础理论主要体现在三个方面:
1、 基础理论学习:首先是Java的基础语法(条件判断、循环、函数编写),面向对象理论(封装,继承,多态),API的学习(集合,线程,IO),当然还包括反射基本原理等
2、Web相关的基础知识:例如http 协议、Web应用的BS架构,html和css技术,以及servlet和jsp这样的编程技术。
3、数据库相关知识点:数据库是Java 应用系统不可或缺的持久化组件,在理论学习阶段,需要学习SQL语法相关知识,以及java和数据库交换基础技术JDBC
以上这些都是未来学习java各种优秀框架工具的基础,他们也许不会出现在我们今后的代码中,但没有坚实的地基,是不可能盖出高楼大厦的。
1.1.2 进阶阶段
在掌握了基础理论之后,我们就可以进一步学习java里优秀的工具、框架、 编程思想。
1、 优秀的开发工具:java有非常完善的开发工具,eclipse,myeclipse,idea等等,可以根据实际情况选择掌握其中的一种或者多种。
2、常用框架和架构:优秀的工具都是在基础技术的基础上发展封装而来, Java提供了大量的框架和架构,选择合适的工具框架可以提高开发效率,改善应用性能。当前比较热门技术比如 Maven,Mybatis,Spring,SpringMvc,SpringBoot,SpringCloud,Kubernetes,GitLab,Docker,Redis,Fescar等等。
1.1.3 实战阶段
学习到这里,java的主要技术点就基本完成了,是时候做一个工具框架整合了。此时我们需要用一个完整的,具备一定规模的实战项目练习之前所学的内容。当然这并不是说前面学习过程中不需要练习,此时我们做的是综合练习,融会贯通。
1.1.4 高级阶段
随着大数据各种应用的发展,大数据的价值得以充分的发挥,大数据已在企业、社会各个层面都成为重要的手段,数据已成为新的企业战略制高点,也是各个企业争夺的新焦点。大数据以Java技术为基础,在熟练掌握了Java技术以后,再学习大数据的相关技术会容易很多。
大数据就是一个行业,实现同一个需求同样有多种工具可以选择,狭义一点以技术的角度讲,各类框架有Hadoop,spark,storm,flink等,就这类技术生态圈来讲,还有各种中间件如flume,kafka,sqoop等等 ,这些框架以及工具大多数是用Java编写而成,但提供诸如Java,scala,Python,R等各种语言API供编程。所以,Java之于大数据,就是一种工具罢了。
1.2.新手入门误区
1.2.1空中阁楼的美梦:忽视基础的重要性
学习Java开发扎实基础很重要,有些人急于求成,直接入手项目,还有的人不学基础,一看代码觉得Java很难就放弃了。学习Java就好像盖房子,在没有打牢固地基的情况下就开始添砖加瓦,最后必然轰然倒塌。
有些非计算机专业的学生以快餐式学习Java,凭借最初计算机程序员高薪优势进入小企业可以在薪水上俯视其他行业,但是由于基础弱、底子薄,无法进入大厂核心部门,导致三年甚至五年后仍然拿着一两年经验的程序员的薪水,在编程之路上渐行渐远,半途而废。
1.2.2 纸上谈兵:注重理论忽略实践
学习Java语言需要理解在先,动手在后融会贯通才能学以致用,很多人学习Java花费了十几天甚至几十天看书、看视频结果连开发环境都没有搭建过,导致一大批理论无懈可击、实践一塌糊涂的“嘴强王者”出现。
Java语言,归根结底还是语言编程,是一种开发技术,没有编码的过程就没有实践,犹如纸上谈兵,一段时间之后记住的只有概念,多数内容会被遗忘。
1.2.3盲目跟风热门语言,不知道该如何选择学习方向
随着计算机互联网的飞速发展,网上关于语言的争论一度白热化,纷杂的媒体信息同样影响着年轻的一代程序爱好者,让想要学习编程语言的初学者无从下手。
那么为什么向初学者推荐Java呢?因为Java作为面向对象的高级语言,有着良好的面向对象体系结构和规范的语法,在互联网发展中具有非常突出的表现,以高性能,可移植性好深受各互联网公司的爱戴。近些年知乎、饿了么后端的招聘纷纷由 Python 渐渐转向 Java也正是由于Java在大型项目中体现出的巨大优势。
1.3.学习途径
在了解了学习什么之后,我们再来讨论如何学习的问题。上面的学习路线相信天涯或者知乎上会有很多开发从业人员愿意与你分享,不管哪一种编程语言。但这毕竟只是路线大纲,细节血肉的丰满还得具体学习。那么谈到学习方法无外乎两种选择:自学或者听别人讲。
1.3.1 自学
自学可以说是最积极通用的方法,适用于所有技术知识。当然这里的自学并不是闭门造车,从“轮子”开始研究,既然internet上有那么多的学习资料,那么多大牛的分享,我们为什么不利用呢!
“灵活”是自学的最大优势,就像“自由行”,完全靠自己制定路线,游玩时间,它不一定是别人眼里最佳的,但一定是最适合,最贴近自己的。自学时间地点灵活,随时随地学习;可以根据自己的掌握程度合理分配学习精力,根据自己的兴趣在同类技术中自由选择。
自学的好处千千万,但现实往往是“骨感”的,“自由行”的受众群体一般是“有钱有闲 ”的资深旅游爱好者。在编程领域,自学这种方式其实更适合“大牛”,他们有经验,有前期的知识积累,有稳定的工作收入,有需求。在面对一种新的技术时,他们可以完成自主学习,成功的几率要高的多。而对于刚入行或者准备入行的“菜鸟”来说,自学的弊端还是很明显的。
Ø “自控”:在自学过程中,没有人督促,全靠自己抵制学习过程中,学习环境里出现的各种诱惑(游戏,饭局等等)。所以从古至今,能够自学成才的寥寥无几。
Ø “系统化”:光有大纲这还远远不够。要知道每一个技术下会有多种不同的实现解决方案,该如何选择?选择了它,后续配套技术怎么选?选定了怎么学,学到什么程度,哪些部分是重要的?哪些只是理论?如果出错了怎么办?这些都是摆在自学者面前的实际问题。
图片
1.3.2 集体学习
集体学习又分两种,大学里的学习 和 培训学习,各有千秋。
1、大学学习
这种学习方式有些像“跟团游”,特点是面面俱到,但也会有一些自身固有的缺点。比如,大学是一个综合性的学习场所,即便是计算机专业,它也要学习很多其他课程,会分散大量的学习精力。
即便是编程语言学习课程,受场地,课时的影响,一般也只能走马观花,学习最基础的理论,没有广度,更谈不上深度。一学期下来,可能最后只记住了for循环。最后大学毕竟是学术研究的场所,课程需要贴紧教材,有一定的滞后性,这势必会与市场需求产生脱节,所以很多同学大学毕业后无法适应公司的工作环境。
- 培训学习
培训学习比较像市面上流行的“定制旅游”,它不一定是别人眼里最佳的,但一定是最适合,最贴近需求的。
Ø 首先,对于软件开发这个行当,它有明确的知识体系划分,前端或是后端,java或是python。只有精细化分才能做到高精尖,才能紧跟市场需求。
Ø 其次,对于每一个技术方向,会制定与之配套的完整的系统的技术学习路径,从基础到高级,循序渐进。保证整个学习过程少走,甚至不走弯路。
Ø 最后,培训机构拥有完整的团队建制。术业有专攻,并不是所有的大牛都适合指导你整个学习过程,基础知识的学习指导和大数据的学习指导不可能一样,这就需要一个团队协同工作,自学或者大学是没有办法组建这样专业的团队的。
感谢大家的认同与支持,小编会持续转发《乐字节》优质文章
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。