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

    技术2022-05-11  29

    首先学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。 (完毕)


    最新回复(0)