大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那时候那杯冒热气的咖啡一直陪伴我到今天。也不知道当时为什么要学习Java,又是为什么选择了Java。因为我记得当时的我,心中所想和现在可谓是大相径庭!那时我曾天真的想着,我将来学治理,你们这些学计算机的人出来也难逃给治理界人士做下属的命运,现在想来,那时是多么的无知和幼稚,我怕现在的很多大学生,更确切的说很多像我们专业——信息治理与信息系统的同学都还抱着这样的想法(当然也不排除很多立志学习金融以及治理的同学^_^)!
其实在蔡学镛先生的SleeplessinJava中也就说过,他在上大学的时候,有两类同学错误的熟悉,第一种就是瞧不起基础课,觉得学的什么DataStrUCture,OperatingSystem,DatabaseConcepts没用,以为会VC,VB,SQLServer的就真的能成为众人羡慕的IT白领了;第二种也就是我刚才所说自己犯的错误,真以为那些写程序的人将来入了社会会被那些学治理的人踩在脚下!第一种是短视进利,第二种呢就是好高骛远!在犯了第二种错误后,值得庆幸的是,我对第一种错误总是避而远之!
记得我在网上搜索了很多资料,最后终于锁定两本书作为我的入门教材的入选书籍,一本是《CoreJava》,另一本就是《ThinkinginJava》了。但是因为当时网上说《TIJ》中文版翻译的不尽如人意,于是我就选择了《CoreJava》,现在真觉得当时选择是对的,就我那会的基础根本看不懂TIJ,而《CoreJava》是属于教科书风格的书,于当时的我比较适合。随着我翻开《CoreJava》的第一页,我就正式踏上了Java之路!
当初我在刚学习Java的时候,我无论对Java还是程序设计都是不折不扣的门外汉,我看《CoreJava》第一章的时候完全是如履薄冰,一大堆技术名词搞得我晕头转向的,什么分布式,多线程,GC…,虽然现在看来是非常自然而顺畅的,但在当时可以说是我前面的一座高山,其实,那些技术名词根本不用看,慢慢的学,学的那儿自然就不言而喻了!现在看CSDN上初学者恨不得一开始就把所有的名词全部搞懂,从J2EE,J2ME,EJB,JMS,CORBA,JXTA…..就我觉得,这些都是图增烦恼,而且根本对真正的初学者即使你知道你也无法理解。紧接着,喜马拉雅到了,设置环境变量,classpath的设置是我当时最感郁闷的东西,相信现在的初学者对于此道还是一样的,确实还是Microsoft的东西比较好用^_^,门槛很低,不至于吓退初学者!你要知道,一个没有path概念也没有UNIX背景的初学者要设置以及弄明白为什么这么设置真不是一件轻易的事,而且主要是书上说的很模糊,而且当初我学习的时候环境并不好,因为我四周的同学并没有学习Java的,我无处可问,惨啊……!我虽注册了一个CSDN的帐号,可是很少上论坛,现在想来,假如当时能够好好利用CSDN的资源,也不用走这么多弯路了!也不知道当时在什么地方找到这个配置方法,终于解了我的燃眉之急。随后又听说JCreator是比较好用的IDE,下载了一个2.5版的,用了过后发现果然不错,至少不用每次都用console来编译运行,翻过这个classpath这个拦路虎过后,此后的平原就比较开阔了,但当时只是感觉上似乎自己学习的比较轻松,其实有很多东西没有学扎实,以为自己懂了!打个比方吧,我直到快学完《CoreJava》第一本书的时候我才在《Javainanutshell》上面知道什么是classmethod,什么是instancemethod!
因为我没有什么C++基础也更谈不上什么Lisp,Smalltalk背景,所以《CoreJava》的tips或者要求C++程序员注重的一些pitfalls,我都跳过没读,不过就我现在的C++水平来看那本书,假如利用这些annotate对于一个从CPP转到Java阵营的Programmer来说是非常有帮助的。
2003年的寒假《CoreJava》的第一本就伴随我度过了一个懵懂的春节,当然这段时间《程序员合订本》对我的帮助是很大的,不仅在技术上教会了我许多东西而且也使我得知识面拓宽了不少!在寒假的时候我在网上固定的生活方式就形成,天天一打开Browser,首先打开CSDN然后打开Sina,CSDN的论坛也成了我经常光顾的地方,当时看着CSDNJava板块的那些牛人红星闪烁的,觉得非凡羡慕!于是我也开始回答问题以挣取专家分,不过就那会我的知识实在太过匮乏,混了整整一个寒假,也就到了三个裤衩^_^,不过也在CSDN学到了很多东西!那段时间虽然进步不大,不过却是很值得怀念的!在假期中我还学过一点的jsp/Servlet,不过,没有深入的学习,而且对webapplication的理解也很浮浅,所以学了等于没学!给我印象最深的就是Tomcat运行Servlet的配置了,那个其实就很简单的web.XML文件,真不明白当时怎么搞了差不多一天才出来,急的在CSDN上面连连发帖子问…
看完《程序员合订本》,我基本对Java领域的好书有了一些了解,随后我知道了china-pub,知道以后买书之前要上那儿去转转,看看书评。再回学校之前,我列出了要买的一些书的清单,费用差不多到500RMB了。从家里一回学校,那500元也就众望所归的换成了N斤的质量良莠不齐的纸张了,这些纸张还真不能对等成知识!我记得那次书籍大采购中有用的书就只有这几本《Javainanutshell》,《EffectiveJava》,《ThinkinginJava》(E),《Java与模式》(在我看《DesignPattern》以前:)),《AbreifintrodutiontoDataStructureandAlgorithmJavaEdition》,《CoreJava:VolumnII:AdvancedFeature》!其他的么,唉,可惜啊……