马士兵JAVA自学之路

时间:2022-03-15 16:37:31

为了就业,不少同学参加各种各样的培训。

决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机、嵌入式、游戏、3G、测试等。

那么究竟应该选择什么方向呢?

我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧。

每个培训机构都会宣传自己的好处,并不能说明大的趋势。

一些新闻文章很有可能是枪手写的,不必太过相信。

国外背景的教师和课程,未必适合你。

那么怎么才能确定自己将来的方向?如何才能从纷繁复杂、或真或假的数据世界中挖出一条路?

我讲一个通过招聘网站的观察方法。

可以到各种招聘的网站上查询信息(可以到google上查询招聘的网站),例如:

http://www.51job.com

http://www.chinahr.com

http://www.zhaopin.com

以及csdn的招聘频道等

还有一个网站也不错,http://www.jobui.com,综合了各大招聘网站的数据。

这些数据都是最真实不掺假的原始数据,你可以每隔一段时间搜索一次,一些规律就会被总结出来了。

比如说我在http://www.jobui.com中搜索java,全国大概提供了3万个职位。

然后要多翻几页,这样不仅能够看清楚大概有多少是有效的职位,而且还可以看清楚用人单位最关心的技能是什么,这个很重要,决定着你将来要花多少时间和精力在特定的知识点上,比如说swing,搜了一下,全国只有700个左右的职位,仔细读了一下,也并非全是有效的职位,花太多时间和精力在这个上面就不值得了,当然自己感兴趣或者为了研究的话另当别论。不过如果是为了快速的就业,把太多时间和精力花在很多职业生涯的前一、二年用不到的知识上就太可惜了。 同时,并非某一个行业的职位数目少,就不能当作一个方向进行选择,比如.NET,我搜索到的职位数是1.6万左右,比java少,是不是就选java了呢?不一定,因为java职位虽然多,但是可能竞争者可能也多,有些方向虽然职位数不多,但是和你竞争这些职位的人数量也少,不见得就不能选择。

不过,如果某一个方向的职位数目过少,你可就要小心了,选择这样的方向风险会非常大,如J2ME。

我个人觉得java/J2EE、.net、嵌入式开发是不错的三个方向。

如果非要在java和.net中选择的话,我个人是推荐java的,原因:

1:Java能够开发linux、unix服务器上的程序

2:JavaEE和.NET在企业应用方面的关注点是差不多的,但是学习了java如果将来想转到.net上会比较简单,几天的学习然后上手开发应该是问题不大的,但是反之就不行了。 当然如果有了些经验之后,你就会发现语言或者平台不再是技术上的阻碍,一些原理性的东西学到手,然后再加上项目经验,使用什么平台,反而不是最重要的。不过如果非要用一种平台进入企业开发的领域,至少在目前,2007年9月,我推荐java。

完全可以不同意我的观点,但是无庸置疑,如果是为了就业,多到招聘网站阅读阅读职位的信息,对你将来的方向和学习是大有益处的。

选择是最痛苦的,看看《天生购物狂》中的刘青云就知道了,不过既然无法逃避,就作出自己的选择吧。

每个人都会受到别人的影响,在作出决定之前,要想尽各种办法让自己理性一些吧。这样,你的选择会离正确的方向更近一些。

二:JAVA自学路线图
有不少的同学发信给我,和我探讨java的自学过程应该是什么样的,毕竟有很多人因为各种各样的原因不能参加培训。我试着给出自己的见解,抛砖引玉吧。
这个路线图是给那些为了就业的人准备的,如果只是兴趣,不一定照这个走。
这里只是讲了路线图,关于路线中的各个阶段,学到什么程度,如何学习等,可以参考后面的JAVA自学之路 七:《路线图明细》。
首先要学JavaSE,这是无庸置疑的。
与此同时,是的,与此同时,和JavaSE的学习同步,建议大家研究一下数据结构与算法。
在这儿之后,你可以选择向J2ME、或者Java GUI、Socket编程等方向努力,但是通过第一篇的办法,你可以很容易就将这方向过滤掉(永远不要忘了我们是为了就业),好吧,暂时和它们诀别,还是向着J2EE的方向前进吧。
在JavaSE完成之后,可以试着完成一些小项目,同时关注一下设计模式的内容,不必强求自己能够完全掌握各种细节,往前走吧。
掌握一种编程工具,比如说Eclipse。
数据库,可以选择使用Oracle或者MySQL开始
。 JDBC,用Java连接数据库。
可以选择在这个地方切入Hibernate,也可以选择在Struts
之后。 HTML CSS javascript,这些东西是做web项目必需的内容
。 Servlet JSP,服务器端必需。
XML AJAX,新的流行趋势不能不了解。
作一些小项目吧。比如BBS、留言系统、学籍管理、商城等等,随便着一些业务逻辑比较简单的来做一做。 Struts,MVC的典型应用
Hibernate,OR Mapping的典范之作。
Spring IOC + AOP, 面向对象 + 面向切面,完善的旅程。
把以前自己的小项目加入Struts、Spring、Hibernate的元素吧。
去研究各种商业项目的业务逻辑吧,才能在你的简历中加入浓重的一笔。
EJB3.0,java在走了很多弯路后的回归之作,值得研究。
SOA,业界铁定的未来趋势,要紧紧跟随。

在后面,我会告诉

...