学习JAVA常见问题分析

 我只想用最少的废话,来说明这些问题,希望不会太耽误大家的时间,又能给大家启发。
 
    交流QQ:1229173104
    视频空间: http://u.youku.com/javaface

 


    【学习JAVA常遇到的问题-A】

      通常刚学的人,会思考这样的问题,而且会反复思考,想不清楚,就会满世界找人问,我针对这个问题想
     做下自己的点评。

          ==begin==
         1,拿考试的心态和按照考试大纲学习JAVA的人注定无功而返,当然除了一大堆看似有学问的概念例如
             J2EE,J2ME,EJB会暂时留才你的脑子里,但过不久这些概念就会跟你上学,学历史一样,全忘记了
                   最后:从哪里来的知识,又还给到哪里。

        我觉得这是学校教育的不足,学校教育片面强调对书本知识的掌握,好像学习能力,就是看课本的能力
        泛泛空谈的能力,好像就是能把知识点系统起来,能说出这个知识点与另外知识点的区别和联系就OK。
        其实这样做只是在训练学生们的:纸上谈兵的能力而已,到实际应用中还是什么也做不了,我个人认为
                   就是知识渊博,做事能力为零的表现。
           在我带过的人中,有很多都是这样,进到项目组,一开始就能指出项目组的种种不足,种种"丑"的
          现象,而且谈起开发来,往往也是口若悬河,可是对于分配给自己的开发任务,却是挂耳挠腮,滞留
                   半天也解决不了一个简单的问题。

          我觉得,对于JAVA我们应该有:用的思维,如何用JAVA才是关键,如何用JAVA解决问题,才是关键。
       做个程序功能,例如删除,修改,其实并不需要多少知识,而是要求你对知识熟练应用,做出来没有BUG
           可惜有很多人对SSH,JQUERY等等"高级"的技术能做到口若悬河,但是连个小小的删除,修改,查询
               这类的功能,开发的时候到处都出现问题,甚至感觉无从下手,我觉得这真的是学习的悲哀。

             2,把很多开源的框架当作JAVA,学习的时候随波逐流,没有个人主见,认为开源框架就是JAVA
          springframework,hibernate,struts是JAVA吗?我觉得非也,这些充其量就是应用JAVA技术的案例
                   而已。如果在JAVA技术领域里出现了微软这样的实力派,也许压根就没有SSH什么事了。
    而且这些所谓的开源框架,伴随使用的人数增多,个人感觉就傲慢了不少,有的开源框架直接就卖掉了。
        就全部商业化了,还有的开源框架,连个用户手册都收费!你很难找到像微软MSDN库那样全面,正确
      不会误导人的开发资料,但是这在开源世界里简直就是奢望,你经常会发现,技术文档往往落后于当前
      最新版本,或是跟最新版本的实际功能和实现不匹配,让大家费尽周折后才发现:哦,原来文档里讲的
                    在新版本实现上,还有bug......
          一句话:开源框架不能代表JAVA,开源框架仅仅是一类JAVA的应用,学习JAVA如果就等于学习框架
        我觉得就是方向偏了,因为框架的核心在于框架,而非语言,而非编码的层面,如果从事了一段时间
        的开发,有一定项目积累后,看看框架是有好处的,但是主要是汲取其中的好的设计理念,从而改进
           自己项目所基于平台的框架,让自己公司的框架更简洁,更优化而已。如果简单的把SSH进行拼接
          我认为这反而不简单了,而是最复杂了,首先三种框架,意味三个维护方向,如果需要进行细节上
        的优化,就需要看三个框架的源代码,然后分析其间的各种联系,做测试,别告诉我这个过程会学到
        很多东西,因为多数情况,在你研究的同时,客户方已经到老总那里告状了,说你的系统慢,用的不
          爽,客户已经怒了!

        3.  好大喜功,急功近利,还没学多久,就感觉自己可以飞了,就开始学习什么OA,协同,进销存!
          在这里,我真的感觉,目前的JAVA学习市场,乱的不行了,我觉得现在的新人,如果没人带的话。
                   很容易学了很多很多,杂乱,冗繁的知识,但是在个人能力上反而没有任何提高。
      举个例子,对于没有任何开发经验的人,去跟他讲,OA,协同,进销存,需求分析,我真的很难理解。
                   新人看到这些系统到底能学到什么?
        一个软件系统的形成是一个漫长的过程,是多人协作,甚至是开发公司,客户方公司,多个部分协同
        工作的成果,而且其过程充满周折,拿一个现实里的业务系统给新人看,如果说看看眼界我倒觉得还
                   有点靠谱,如果说,是培养新人的实际开发经验,我实在不敢苟同。
          我个人感觉,新人不应该追求知识的数量,而是要追求对知识应用能力的质量,追求个人工作技能
          的提高上,工作效率的提高上,同样一个简单的模块,有的人半天完成了,有的人直接拿份别人的
                 代码改改10分钟就完成了,还有有的人直接从自己积累的代码库了,随便复制下就OK了。
          其实个人感觉工作经验就等于:工作积累,就等于工作效率,这些非工作无以完成,靠看几个业务
                   系统就想达到工作积累,提高工作效率的目的,应该说可以与诗人的浪漫主义有一拼。
          ==end==

上海数狐信息技术有限公司
您身边的学习服务专家