JAVA自学之路——很不错的经验之谈

来源:互联网 发布:豆瓣fm for linux 编辑:程序博客网 时间:2024/05/22 10:43

首先学java,哪怕任何一门语言都不要想它有多难,无论是面向对象还是,函数语言,或者脚本都跑不出
1.顺序、2.选择3.循环 这三大基本。

学java要熟悉的是java的API,API不熟悉不要谈精通。学.net也是如此。
c/c++则要求你算法,和思维灵活程度很高,相对java/.net要有考验,这也是为什么很多人说c++没几年学不出什么,那是因为思维没有跟上去。如果换做java/.net则就简单的多了,因为只要你在开发项目,api早晚 熟悉,就像从来没有人交你汉语而你却会。

像ejb,struts,jsp,还有spring什么的乱七八糟的都放到一起。总结起来都是j2se、都是基础,如果你拆开它们都是1.顺序、2.选择3.循环。只是如何调用而已。

struts可以说是MVC模式的现实版。
spring可以说是IOC/Factory的现实版。
......
这些东西不要着急去学,越着急越学不成,学语言不是立杆见影的。

学习java,我推荐你的是不要上来就学习struts、spring、hibernate回把你搞晕甚至会晕几年。

首先,自己设计一个认为足够猛的项目不要考虑自己的技术掌握程度如何,尽管大胆去设计。完善你的设计直到你认为你的设计可以称的上产品。

然后,分析你的设计去挖掘你不能实现的和你能实现的。然后对所有不能实现的东西进行取舍,像公 认很复杂的系统那你就舍弃。或者你也可以考虑全部舍弃。

接着重新规划你的设计,把舍弃之后的项目在考核一遍,着时候你会发现你的项目可能与之前你想做的东西完全不一样,这无所谓反正你在学习,你可以往里面添加其他乱七八糟的动能。比方考试系统里面增加个BBS,blog系统啊什么的用来泥补。

我在初学javaWeb时候就自己想设计一个社区,BBS、积分、Blog、甚至江 湖都想往里面加。

接着耗费半年到1年时间去编写你的项目。请不要认为1年做一个项目比不上看300小时的教程。哪怕你的项目最后做出来只有1万行不到的代码量。这是最大的误区,教程有一套就可以了看多了就是浪费时间。
我当时选择的j2se教程是孙_鑫的教程一共12CD但是我只看到前6讲后面都没看。因为在此之前看过浙大java教程16讲才发现没必要看孙_鑫的了。总共教程时间不过48小时。

看教程只会加重你的依赖性,你必须要独立,这是从最开始就要培养的,不是后天培养的。

在写web程序时候首先使用最基本的j2ee技术,那就是jsp + servlet + filter + listener。使用这4技术就可以足够让你统治所有web项目,只是要看你的实力如何。所以功底深厚就要看着四技术用的怎么样。

刚开始学也就能使用上jsp + servlet 随着你要求增加filter + listener会陆续而来。

学习web项目和控制台项目一样。都要先设计系统在实现,因为程序员不会设计以后薪水别想能拿多了。
像系统架构师满脑子都是设计。

接着学习struts,有了jsp + servlet的基础 struts 学习飞快。着时候千万别学什么ssh,想学那就接着糊涂把。学习struts主要就是了解MVC 因为在jsp+servlet时候就已经接触过MVC所以单独学习struts很快。

hibernate建议你使用控制台单独学习,hibernate很庞大不要一口都吃了。能配映射文件,能执行数据库CURD操作就可以。至于HQL会查就可以,HQL只是SQL换个名换个写法而已。

学习spring也是单独学习,千万不要把SSH在你没有完全单独接触他们时候学习,那只能加重你的晕。学习spring主要就是理解ioc/aop。有关些方面的理论知识满世界都是。

如果你喜欢扣低层可以去翻java api Class Method这些类。能发现spring很简单甚至你都可以写一个。
接着耗费半年到1年时间去编写你的项目。请不要认为1年做一个项目比不上看300小时的教程。哪怕你的项目最后做出来只有1万行不到的代码量。这是最大的误区,教程有一套就可以了看多了就是浪费时间。
我当时选择的j2se教程是孙鑫的教程一共12CD但是我只看到前6讲后面都没看。因为在此之前看过浙大java教程16讲才发现没必要看孙鑫的了。总共教程时间不过48小时。

看教程只会加重你的依赖性,你必须要独立,这是从最开始就要培养的,不是后天培养的。

刚开始学习java所以我建议从控制台开始,包括数据库连接使用JDBC技术。控制台当年我学习时候写的是老_虎_机游戏。

自己写东西很不习惯因为没有参考代码,由于是首次可以考虑借鉴,我说的借鉴是照者人家的代码自己写一份而不是copy,哪怕你的项目都是借鉴的也不要copy,一定要自己一个字母一个字母的写出来。刚开始程序时候每天的代码量基本要在5000~10000行左右,如果时间少那也要保证3000~6000行(不计大括号、注释、包导入、分号)
当然这些代码量不是最后写完之后的代码行数,是你调试代码,删除代码的总计。

当年我学习java老师问我每天打多少行我说我不知道,老师说你大概每天6000~10000行代码。我估计目前我写的代码恐怕也无法超过6000~10000。因为好多代码不用调试了,在我的真言里eclipse只要不报红叉就是80%无错误的。

在编码时候一定要注意注释编写,良好的编程习惯也包括注释,这也是需要先天培养不能后天养成,你可以把你的思路先用注释写出来比方如下:
1.获取已经存在的数据
2.获取新数据
3.数据检查
4.将新数据覆盖老数据
5.保存数据
然后你在你的各个部分编写代码
最后可能写完的代码是如下
1.获取已经存在的数据
xxxxx
2.获取新数据
xxxxxx
3.数据检查
xxxxxx
4.将新数据覆盖老数据
xxxxxx
5.保存数据
xxxxxx
在写web程序时候首先使用最基本的j2ee技术,那就是jsp + servlet + filter + listener。使用这4技术就可以足够让你统治所有web项目,只是要看你的实力如何。所以功底深厚就要看着四技术用的怎么样。

刚开始学也就能使用上jsp + servlet 随着你要求增加filter + listener会陆续而来。

学习web项目和控制台项目一样。都要先设计系统在实现,因为程序员不会设计以后薪水别想能拿多了。
像系统架构师满脑子都是设计。

我当年学spring看API无意发现Class.forName().method(...,...).invoke(..,..) 这不就是Spring么。
配上XML整个一个山 塞的Spring。

接着使用控制台组合spring 和 hibernate 写小项目。或者 struts+spring 写web项目。

最后才是ssh。

这样才能循序渐进。一口吃个胖子那是浮肿,只有慢慢吃,经常吃才是胖子。

学程序代码量是首要的,另外就是不要依赖别人的代码。  别人的代码看看就可以了写不出来就抄,决不拷贝。
当然像Base64,MD5这样的算法程序拷贝无所谓~

就这样1年后你就发现自己的能力大长。

没事时候就自己写库,什么连接池,数据访问层,山 塞Spring,山 塞Struts。
============================

在我的学历里程中 连接池,数据访问层,山 塞Spring,山 塞Struts、山 塞Log4j、工作流引擎都写过
最后才在今年写出的我第一个可以正式应用在项目上的框架More。在以后会对外发布more的免费版本。

============================
最后我也不是你所谓的大师,在我眼里大师可以轻而一举的使用简单技术解决任何复杂的问题。而且不借用任何成熟的框架技术。 只是纯粹的j2se/j2ee。

(完毕)

原创粉丝点击