我今年大四,由于毕业设计早早的做完,也并不打算匆匆的入职,便趁此大好时光,一边接受企业培训,一边摸索java的学习。
在我看来,学习一门语言必备的几个要点在于,看,练,悟。
在这个连技术也已经沦为快餐的时代,很多人无可厚非的认为,在短时间内,快速应用一门语言才是他们所追求的,这也造成了当今培训机构的泛滥。我对此不评价,存在既是合理。
但是,我这些心得体会,是想对那些真正喜欢技术的朋友,动机纯粹的朋友而言的,那些不喜欢的人,尽管拍砖,嘿嘿。
学习技术的时候,你是否总会被一些琐事烦恼呢,qq,网游,小说
我并不喜欢玩游戏,但是总是觉得有时候一些时间莫名其妙的就在电脑前消失了,所以,我直接给自己装了双系统,一个win7,一个linux ubuntu。
java是跨平台的,那又为何不试试在Linux下开发呢?
这就是一种,逼迫自己的心态了。
为了以后能够顺利的学习java的最新知识,或者是获得其他技术的最新信息,我又开始逼迫自己做第二件事情,那便是阅读英文原书。
但学习并不是一蹴而就,我每天读大概20页左右,接触1w多单词,虽然会有重复,虽然也会有用电子词典把一页的很多单词逐一查出的尴尬与麻烦,但是,成果也是相当满意的。
当我坚持读完100页之后,顿时觉得轻松很多。随手再打开think in java的英文pdf,竟然也能基本没有障碍的阅读下来(我当时读的是另一本英文书籍)。
这时不由想起我的老师曾经讲过的一句话,当时我跟着他一起在研究arm相关的技术,他告诉我,那些最新的技术,最难的技术,会的人不用看翻译版,不会的人也翻译不出来。结果这就造成了很多经典的技术书籍很难找到合适的人来翻译的苦果。
所以,我建议大家,真正的逼迫自己一下,装一个Linux不费多少事情,坚持读完一本英文书籍也好还是英文的java api文档也罢,相信我,技术是不会骗人的,英语也是不会骗人的,当你投入多少,你自然会得到多少。
上面是在学习环境与心态上我的心得。
下面要说的是,在学习方法上,我的做法,也许因人而异,但确实是我的真实经历,高手前辈们莫笑才是。
我在学习前,自然会要用到书,在这个网络繁华的时代,pdf到处可见,实际上是用不着买什么书的,但我有个习惯,我总喜欢把一些想法,假设,心得随时写在阅读的内容旁边,所以我也就买了几本书。
关于书籍在我看来,大致上可以分为这几种的:
第一种:技术手册型的,如java核心技术卷一
当你有什么概念不清楚时,一翻便知,简单明了。
第二种:圣典级别的,如think in java。无论是从历史厚度上,还是内涵厚度上,都需要你仔细阅读,尤其在一些地方需要你感悟,思考,读起来比较费时间,但读后会觉得很踏实,对于一些知识或者概念的来龙去脉心中有数。
第三种:操作手册类型的,这种书籍就如做物理实验或者化学实验中的实验流程书一半,手把手的告诉你,每一步要做什么,按照书中的方法去做,自然会得到书中的结果。犹如:疯狂java讲义,java高手真经之类的书籍。
第四类:属于设计原理之类的书籍,这些书籍是你在掌握一定基础之后,却不是很明白何为面向对象等一系列概念的具体含义时,为你解惑用的。
第五类:技术进阶类型。告诉你某些技术在什么情况下运用最为合适等等一些列窍门的书籍。
第六类:数据结构与算法的书籍。虽然java的封装性已经很好了,但不得不说,我觉得java会使人变的懒而依赖。对于项目开发来说,固然是好的,但是作为学习者,应该谨慎小心的研究清楚细节的实现,想通原理,会受益匪浅的。
第七类:规范类的书籍。如java语言规范,代码大全等等,良好的编程风格与设计理念,会使你做事情卓有效率。大致就是以上这么多类型的书籍,在我看来,前三者需要同时看,比对着看,后面的暂时可放置,等学玩了一定阶段再来看。这样子会比较好,不然,看来理论的,不知道动手做什么,看了动手做的,茫然的跟着书籍做完了,也不知道意义是什么。下来便是要有一个对照物,用于理清自己学习的思路和重点,那便是视频。
网络的视频很多,好的也不少。我们要用它,而不信它,这里的信指的是迷信。
就算对于书本上的知识,也不要迷信,一定要动手实验过,才肯定它,当然书上的只是基本上都没有问题,但不能绝对化,不能说绝对是对的。那样子可就不好了。
学习java一个半月以来,学习方法也一直在摸索之中,目前已经基本成型,学的也比较扎实,和踏实。也越来越享受学习的过程了。
总结下:
读就是要把理论的,实践的书籍分开比对,相互印证。
练就是要在知晓原理的前提下,把它炼成自己的技能,做到随心而发,如果有一天,你想给人讲一个知识点,你可以很从容边敲边讲的时候,那就证明你练习的基本到位了。
悟就是要多多思考,思考书中说不能如何如何,试试看,找出不能的根本原因。多想想面向对象的思想到底是在说什么,多想想多态到底为什么要用,怎么用,这些都是初学者容易忽视的地方,等你都想明白了,我觉得,这才刚刚入java的门吧。以上内容纯属个人意见,针对的也都是初学java的朋友们,高手前辈们也可以指点一二,那我就更加感激了。
人都是逼出来的,我们都是普通人,但我们可以通过努力去做不普通的事情,消极与激进的态度都是要不得的,做技术便做技术,又不是文艺青年,也没有必要整天写出很多消极与激进的东西蛊惑人心,只有一代代良好的传承,才可以真正树立技术人才的价值地位。
好的东西,总是好的,人们会懂得去欣赏的。
Today you do things people do not do.
Tomorrow you do things people can not do.

解决方案 »

  1.   

    挺好的。不仅适用于初学java。学什么都适用。
      

  2.   

    Today you do things people do not do.
    Tomorrow you do things people can not do.
    受用了。
      

  3.   

    看了之后,我感觉自己一下有了激情,此外,我也是java的初学者,真的很不错哦,lz加油啦!!
      

  4.   

    Today you do things people do not do.
    Tomorrow you do things people can not do.       
    +1
      

  5.   

    楼主觉悟挺高的,现在在读李刚的《疯狂java讲义》,感觉自己又要进步了,当你认为你能够改变世界,世界会因你而改变,共勉
      

  6.   

    today you do the things people not do
    tomorrow you do things people can not do
      

  7.   

    LZ真的只有一个半月?
    还是有了其他开发的经验 比如C++ 
    如果是0基础
    那楼主牛B的不行了
      

  8.   

    尤其是关于java的书!很有启发!
      

  9.   

    刚好最近我也想自学Java,没有方向,可以借鉴一下楼主。。哈哈
      

  10.   


    恩,我大学期间也就只学过c语言,c++接触过,但学得不深,没什么项目开发经验。c语言学得一般,对于指针相当的怵。基本上可以说是一个一般水准吧。我目前只是在一家企业接受java培训而已,经过这一个半月的学习,观察自己与周围一起学习的朋友的种种困境,然后才慢慢摸索出一套自己的学习方法。培训一般是半天时间,剩下半天基本上也就是自由练习了,所以会有充分的学习时间。基本上从早上8点,到凌晨2点,除了上网查找资料,或者来csdn以外,所有时间全在java上了,我家的一只小狗也被我起名java,呵呵,全身心投入而已。
    至于很多朋友说我一个半月就给总结,我觉得没什么好奇怪的,闻道有先后,我也只是把自己的经历与想法拿出来与大家分享而已,能帮的上大家最好不过,帮不上大家了,也就当作一个故事读读吧。
    学到现在,我觉得自己对指针也有了新的认识,主要通过java中的引用明白了。也渐渐懂得了什么叫做“java中到处都是指针”这句话的意思了。
    还有就是对于新手,有一个软件很不错,叫做blueJ。很适合新手学习使用。看到与之配套的那本java教程,居然第一章就从对象教起,却通俗易懂,真的令人赞叹。书籍名字叫做《实用java教程 基于blue j 的对象优先方法》作者就是blue j的编写者,java之父 james gosling为其作序。现在已经出到第三版了。希望大家有时间去看看,我无意之中找到了这本书,当时只看了第一节就被吸引住了,很神奇。
    希望与大家多多交流,共同进步。
      

  11.   

    目前也在学习java。但是大学就是那样,每周两节课,然后还有其他好多有关无关的课程充满我的时间。想潜心学一门语言居然变的时间不足。现在又要其中考试。总觉得一直在忙却没有真正学进想要的东西。楼长能不能给点建议呢??
      

  12.   

    LZ体会很深,做事很用心,但对于大多数的人来说可能意志远没有LZ坚强,执行力不够,容易受到诱惑,总会在犹豫中徘徊,不过LZ写的挺好的,顶一下!
      

  13.   

    大学期间,对于计算机专业来说,基本功要多下点功夫,不管是就业也好,还是考研也罢,对于应届大学生来说,招聘主要看你的基础扎不扎实,比如操作系统,数据结构,组成原理,不要轻视这些基础课,趁着大学就把基础打牢。至于java,学校的课时不足,那你就必须视自己的能力而为,不要放弃了那些专业课。
    对于学校学得级别,你需要紧紧跟住老师的课程的同时,最好超前一点,首先你自学的进度不用比老师快很多,但一定是要比他早,因为就算老师不愿意讲很多,你也可以“逼问”他,为你解惑。
    第二就是要练,达到看和练,1:10的比例,大学下来,如果你的有效代码量有10w行,那你去ms也问题不大,当然,10W行是有点苛刻,5W总可以做到的(只要你真的投入,并且坚持)。
    剩下的问题就是,多看看视频,多多与人交流目前学习的困难,不要因为学习方法不对而浪费时间。
    大致就这么多吧,有问题可以加我好友,时常交流。
      

  14.   

    Today you do things people do not do.
    Tomorrow you do things people can not do.
    这个NB
      

  15.   

    我和lz一样,也学习java一个半月了,因为我参加了安卓软件的开发培训,要用到java的
    以前我从来没有接触java,学起来比较吃力,现在好像还没有一个基本的学习思路,读了lz的感悟,我觉得很不错,我也会继续努力的
      

  16.   

    学习java是个坚持的过程,再笨的人时间长了也会掌握的
      

  17.   

    恩。擅长于总结和思路挺不错的。望你在以后的java中一路顺风。
      

  18.   

    我家的一只小狗也被我起名java
      

  19.   

    java
      

  20.   

    明天软考结束了,就参照着你说的去学习JAVA,争取在十二月中旬参加培训前有所收获
      

  21.   


    谢些,我有些c方面的基础,java也就有些java语言基础的基础 对类对象也只是一知半解,我该看什么样的书比较好啊
      

  22.   

    我也在学java 学得时间比楼主长,但感觉没lz这么大得收获!~  加我QQ 多交流  2240448492
      

  23.   

    楼主的方法很好.. 非常值得学习.. 我接触了半年多的java.,现在才发现,从一开始学的时候,没认真去思考,总结,很多知识点只是简单的使用,而不去深入了解,也学了关于java挺多的东西, 再目前主要觉得是缺少将所学的东西系统的整理, 有时候回想一下,觉得自己好像什么都不会,, 很纠结的..
    然后,也真觉得英语很重要...因为我在看API文档的,有挺多不懂的..
    学技术, 一定要定期对自己所学的东西进行整理,记录.学有所思
      

  24.   

    学JAVA基础学的快,应用起来有点慢,很多东西看时懂了,用时记不住,老要翻查书。
      

  25.   

       lz讲的很好呀 
         Today you do things people do not do.
         Tomorrow you do things people can not do.   我也是Java初学者,培训快一个半月了,感觉还是晕晕的,基础学的不是很牢固,求哪位高人能给小弟推荐几本初学者看的Java方面的书   谢谢了