我的java自学经历

怎样自学java,不紧深深苦恼着广大的java学习者,也深深地苦恼着我。一般来说有自学和去培训机构2个选择,培训机构的好处就是能在短时间内系统地教授你大量知识,至于你能不能接受不管,而且培训机构要缴纳一二万的学费,很多人看见昂贵的学费望而却步。我当初也差点去培训,在犹豫中最后还是没去,自学了将近一年,现在终于找到了一份初级程序员的工作,工资勉强还可以,虽然赶不上我那厉害的室友(后面说明),但总算是入行了,在这里我发表一下自己的自学经历。

自学无疑是看视频,看书,然后敲代码。如果你是没有一点基础的,我建议你先看视频,因为看视频有一个互动的过程,遇到不懂的可以及时从老师的话语中找到答案,疑惑解除了你才可能继续学下去,这是很正常的,尤其是对java初学者来说。想当初我自学java的第一天,装jdk配置java环境变量都花了整整一天,我一度想要放弃,后来还是请教我的室友才解决了这个问题。

(这里说明一下,我室友和我并不是一个专业的,平时上课也不在一起,他大二就开始学java了,我大四为了找工作才开始学java的,到大四的时候他已经自己写了一个气象网站:

- 主页 -

发现这个超链的标题太丑了,就主页2个字,不过我觉得他毕竟做出来一个完整的网站,还在线上运行了,作为一个大四的学生他已经很了不起了,我是今年6月份刚毕业的,作为一个二本院校的学生,我像大多数普通本科院校毕业的本科生一样进入了一个普通公司当了一个普通的程序员,我都不好意思说出公司的名字,说出来你们也不知道,哈哈!而我那位牛逼的室友居然拿到了北京京东总部的offer,国庆回成都都是坐的飞机,工资高就是不一样,这就是差距,扯远了)

前面说到我学java的第一天就想放弃,于是我又去找我那位大神室友,问他怎么学java,他给我推荐了马士兵的视频,并网盘打包给了我一个30多G的视频包,我看了一会儿就看不下去了,毕竟视频太老了,于是我又自己网上搜,在网易云课堂搜到了尚学堂高淇老师的大型300集视频:

Java课程 Java300集大型视频教程 - 网易云课堂

这个还不错,我看了前面100集和后面100集,至于为什么中间100集我不看,因为中间100集不是高淇老师讲的,是一个叫做裴新的老师讲的,由于我当时水平有限,这个老师又讲的太快,听了几集听不懂就放弃了,不过看了高淇老师的部分就足够了,高淇老师的视频真的非常适合java初学者,不仅通俗易懂,讲的很细,还深入地进行了很多内存的分析,jdk中重要的类他都进行了源码讲解,不仅让你知道这样,还知道为什么这样。此外,他以自己10多年的开发经验,还告诉了我们许多实际开发中会遇到的问题以及怎么与人打交道,受益良多。后面100集他还讲了23种设计模式和手写服务器,让我对web的底层原理有了深刻的认识,让我深刻地理解了学java看源码是多么的重要。

看了300集之后,我就想做一个实战项目,我在网上找啊找,一个偶然的机会我找到了一个不错的项目,它是一个关于天猫商城的javaEE项目:

JAVA WEB 项目教程-模仿天猫整站 J2EE版

这个项目真心是个不错的实战项目,为什么这样说呢?因为现在网上的java项目实在是太多了,你随便一搜一大把,可是有几个是你看得懂的呢?又有几个是下载下来是能成功运行的呢?项目包即使是对的你又怎么配置呢?......当面对这一系列问题的时候,对于一个java初学者来说我想很多都会放弃吧,下载下来的项目很快就会成为垃圾被丢掉,你永远会只停留在会写"Hello,World"的阶段。

而这个项目一开始就有一个可运行的项目包供你下载下来运行,然后你按照站长教程一步一步的配置起来就可以运行了(注意站长对配置的每一步都进行了细致到原子层面的讲解,完全是傻瓜式教程,小学生都可以学会),当你看到运行起来的天猫商城项目是不是有一点窃喜呢!运行成功后项目的截图:

我的java自学经历_第1张图片

别得意,这只是万里长征的第一步!运行起来的项目其实和你半毛钱关系都没有,这又不是你写的项目。

于是我们伟大的站长又从从零开始对整个项目进行了傻瓜式的讲解:

第一步:需求分析

要知道做任何一个项目都是从需求分析开始的,这也是我们实际开发中的第一步,比如这个项目需要做前端展示页面,后台维护页面以及页面与服务器和数据库的交互:

我的java自学经历_第2张图片
我的java自学经历_第3张图片
我的java自学经历_第4张图片

第二步:表结构设计

表结构设计可谓是一个项目的基石,整个项目的运行都要以数据库的数据作为支撑,所以表结构设计得是否合理对于项目的业务支撑起到了非常关键的作用。站长精心设计了每一张表,讲解了每张表之间的关系,例如一对一,一对多,多对多。此外还把每张表与对应的页面内容对应的截图,让你从视觉上清楚地知道每张表的作用。

我的java自学经历_第5张图片
我的java自学经历_第6张图片

第三步:代码开发

这个项目是按层次结构开发的,包括了实体层,Dao层,servlet层。由于只是一个模拟项目(但已经很接近实际项目了),没有实际业务大量数据交互的需要,所以没有service层。

我的java自学经历_第7张图片
我的java自学经历_第8张图片

针对比较复杂的类,站长还进行了细致的讲解。比如做分类管理的servlet的时候,需要增加,删除,编辑,修改,查询5个服务端功能。

如果按照传统的web.xml配置servlet的方式,一个路径对应一个servlet的思路,就需要设计5个servlet,并在web.xml中配置5个路径:

我的java自学经历_第9张图片

而光是后台做分类,产品,属性,产品图片,用户,订单这6种管理,总共就需要30个servlet,而且在web.xml中进行配置,配置文件就会相当臃肿,并且容易出错。站长就充分利用过滤器的原理,把每种分类下的5个servlet合并成了一个,这种设计思想就类似于struts2框架的设计思想。现在servlet就只剩下6个了。

我的java自学经历_第10张图片

第四步:项目中每个知识点的讲解,当你遇到问题有不懂的问题,站长还进行了专门的视频讲解:

我的java自学经历_第11张图片

第五步:每个知识点的讲解都给出了可运行的文件下载:

我的java自学经历_第12张图片

总之,你在项目开发中会遇到的一切问题,站长都帮我们提前想好了。

你按照这个傻瓜式的讲解进行傻瓜式的项目练习,在这个过程中你就会慢慢体会到了实际项目开发中的一些问题(要知道这个项目是模仿天猫商城的项目,天猫商城的业务复杂性我想大家都知道吧,这个项目除了数据量没有真正的天猫商城大之外,其它的已经很接近了),而你遇到的每个问题我们伟大的站长都有详细的教程讲解,按照教程做完一遍后,可以说你已经掌握了整个web开发的流程了,只不过你还不太熟练,这时候你再背着教程再做一遍,你就算已经学会javaWeb开发了,之后你想要在项目上添加什么功能都是轻而易举的事情。

项目入口:JAVA WEB 项目教程-模仿天猫整站 J2EE版

经过以上的步骤你已经算得上是一个javaWeb开发人员了。可能你编写的代码还不是很高效,但是你至少能跑通整个javaWeb开发流程了,能看到真实的页面,页面与页面的交互以及页面与数据库的交互,而不在停留在控制台输出字符串的阶段。

接下来你就应该学习java框架提高开发效率。现在都说流行SSM开发,其实这个要看你公司的需求,公司要求你用什么就用什么吧,其中关于mybatis的学习推荐慕课网源生活老师的:

通过自动回复机器人学Mybatis_基础版-慕课网

源生活老师号称编程界的段子手,听他讲课真是一种享受。

当你框架也掌握了之后,你已经是一个合格的初级java程序员了,但离java高级工程师或java架构师甚至是java专家依然很远,很多java开发人员穷其一生都未曾达到这个标准。

当然你要成为什么样的人完全取决于你自己,想要在Java的路上深造的话,这时你就应该去看一些官方的文档啊,加入一些开源项目,浏览一些著名的编程网站啊,看一些java方面比较高级的书啊,至于该浏览什么样的网站和看哪些书,网上一搜一大把,这里就不列举了......

以上就是我这将近一年来的java自学过程(当然还学了其它的,这里就不讲诉了),每个人有每个人不同的学习方法,找到适合自己的方法才是最重要的,谢谢大家!

你可能感兴趣的:(我的java自学经历)