大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那时候那杯冒热气的咖啡一直陪伴我到今天。也不知道当时为什么要学 习Java,又是为什么选择了Java。因为我记得当时的我,心中所想和现在可谓是大相径庭!那时我曾天真的想着,我将来学管理,你们这些学计算机的人出 来也难逃给管理界人士做下属的命运,现在想来,那时是多么的无知和幼稚,我怕现在的很多大学生,更确切的说很多像我们专业——信息管理与信息系统的同学都 还抱着这样的想法(当然也不排除很多立志学习金融以及管理的同学^_^)!
?? 其实在蔡学镛先生的Sleepless in Java中也就说过,他在上大学的时候,有两类同学错误的认识,第一种就是瞧不起基础课,觉得学的什么 Data Structure,Operating System,Database Concepts没用,以为会VC,VB,SQL Server的 就真的能成为众人羡慕的IT白领了;第二种也就是我刚才所说自己犯的错误,真以为那些写程序的人将来入了社会会被那些学管理的人踩在脚下!第一种是短视进 利,第二种呢就是好高骛远!在犯了第二种错误后,值得庆幸的是,我对第一种错误总是避而远之!
??记得我在网上搜索了很多资料,最后终于锁定两本 书作为我的入门教材的入选书籍,一本是《Core Java》,另一本就是《Thinking in Java》了。但是因为当时网上说《TIJ》中文版 翻译的不尽如人意,于是我就选择了《Core Java》,现在真觉得当时选择是对的,就我那会的基础根本看不懂TIJ,而《Core Java》是属于 教科书风格的书,于当时的我比较适合。随着我翻开《Core Java》的第一页,我就正式踏上了Java之路!
??当初我在刚学习Java的时 候,我无论对Java还是程序设计都是不折不扣的门外汉,我看《Core Java》第一章的时候完全是如履薄冰,一大堆技术名词搞得我晕头转向的,什么 分布式,多线程,GC…,虽然现在看来是非常自然而顺畅的,但在当时可以说是我前面的一座高山,其实,那些技术名词根本不用看,慢慢的学,学的那儿自然就 不言而喻了!现在看CSDN上初学者恨不得一开始就把所有的名词全部搞懂,从J2EE,J2ME,EJB,JMS,CORBA,JXTA…..就我觉得, 这些都是图增烦恼,而且根本对真正的初学者即使你知道你也无法理解。紧接着,喜马拉雅到了,设置环境变量,classpath的设置是我当时最感郁闷的东 西,相信现在的初学者对于此道还是一样的,确实还是Microsoft的东西比较好用^_^,门槛很低,不至于吓退初学者!你要知道,一个没有path概 念也没有UNIX背景的初学者要设置以及弄明白为什么这么设置真不是一件容易的事,而且主要是书上说的很模糊,而且当初我学习的时候环境并不好,因为我周 围的同学并没有学习Java的,我无处可问,惨啊……!我虽注册了一个CSDN的帐号,可是很少上论坛,现在想来,如果当时能够好好利用CSDN的资源, 也不用走这么多弯路了!也不知道当时在什么地方找到这个配置方法,终于解了我的燃眉之急。随后又听说JCreator是比较好用的IDE,下载了一个 2.5版的,用了过后发现果然不错,至少不用每次都用console来编译运行,翻过这个classpath这个拦路虎过后,此后的平原就比较开阔了,但 当时只是感觉上好像自己学习的比较轻松,其实有很多东西没有学扎实,以为自己懂了!打个比方吧,我直到快学完《Core Java》第一本书的时候我才在 《Java in a nutshell》上面知道什么是class method,什么是instance method!
??因为我没有什么 C++基础也更谈不上什么Lisp,Smalltalk背景,所以《CoreJava》的tips或者要求C++程序员注意的一些pitfalls,我都 跳过没读,不过就我现在的C++水平来看那本书,如果利用这些annotate对于一个从CPP转到Java阵营的Programmer来说是非常有帮助 的。
??2003年的寒假《Core Java》的第一本就伴随我度过了一个懵懂的春节,当然这段时间《程序员合订本》对我的帮助是很大的,不仅 在技术上教会了我许多东西而且也使我得知识面拓宽了不少!在寒假的时候我在网上固定的生活方式就形成,每天一打开Browser,首先打开CSDN然后打 开Sina,CSDN的论坛也成了我经常光顾的地方,当时看着CSDN Java板块的那些牛人红星闪烁的,觉得特别羡慕!于是我也开始回答问题以挣取专 家分,不过就那会我的知识实在太过匮乏,混了整整一个寒假,也就到了三个裤衩^_^,不过也在CSDN学到了很多东西!那段时间虽然进步不大,不过却是很 值得怀念的!在假期中我还学过一点的JSP/Servlet,不过,没有深入的学习,而且对web application的理解也很浮浅,所以学了等于 没学!给我印象最深的就是Tomcat运行Servlet的配置了,那个其实就很简单的web.xml文件,真不明白当时怎么搞了差不多一天才出来,急的 在CSDN上面连连发帖子问…
??看完《程序员合订本》,我基本对Java领域的好书有了一些了解,随后我知道了china-pub,知道以后买 书之前要上那儿去转转,看看书评。再回学校之前,我列出了要买的一些书的清单,费用差不多到500RMB了。从家里一回学校,那500元也就众望所归的换 成了N斤的质量良莠不齐的纸张了,这些纸张还真不能对等成知识!我记得那次书籍大采购中有用的书就只有这几本《Java in a nutshell》, 《Effective Java》,《Thinking in Java》(E),《Java与模式》(在我看《Design Pattern》以 前:)),《A breif introdution to Data Structure and Algorithm Java Edition》, 《Core Java:VolumnII:Advanced Feature》!其他的么,唉,可惜啊……
??随着大三上学期的开始,也就开始了 DS的学习,我使用的教材就是上面提到的那本书,对基础数据结构和算法的学习让我也慢慢重新开始认识程序设计认识Java,我记得梦魇先生在合订本中给 《The STL Annotated Source》写推荐的时候说过:作为一个程序员,如果你是做数据库编程的,大可以不懂汇编语言,如果你是写驱动 程序的,大可以不必通晓人工智能,写编译器的可以不用懂什么计算机图形学,操作系统内核高手的不用精通网站架设,然而,如果你不懂数据结构与算法的基础知 识,不具备数据结构与算法的基本技能,那就完全丧失称为一个程序员的资格!这就足以说明DS的重要性!
??看着CSDN上面蔡学镛老师的专栏,也 在一期一期的程序员中看着他的文章,特别是有一篇叫做《我所知到的O’Reilly》,慢慢我对O’Reilly的书籍的感情与日俱增,O’Reilly 的网站也成了我经常出没的地方了,那段时间我买了不少O’Reilly的书,因为O’Reilly俱乐部有会员的活动,好像是积分多少可以免费送一本50 或者60以下的书,主要是这几个价格是O’Reilly的中文本比较喜欢订的价格,49,59,69,75,85….当时我好像一共买了6本,关于 Java方面我觉得比较好的就是一本同样是David Flanagan写的《Java Example in a NutShell》,另一本就是 《Java Cookbook》!随后有资格获得一本60元以下的书籍,后来我千调万选选了一本《DNS与BIND》(3E)(其实我拿这些书根本就没 用:)) 59元,O’Reilly的工作人员非常热心,首先告诉我则本书已经出到第四版了,但我告诉他我赠书的上限只能到60而则本书要69的时候,他 告诉我一样可以赠给我,当时可把我感动死了!^_^随着我看的O’Reilly的书籍不断增多,我看O’Reilly的书也形成了一个独特的看法,没拿着 一本O’Reilly的书籍,我一般是看封底的介绍,介绍则本书的内容以及一些权威人士对这本书的评价,大家都知道,O’Reilly的书籍封面都是一只 动物, Java系列的代言人是Tiger,而且Java系列的书都是紫色的!随后我会翻到最后几页看封面的动物是什么,然后看作者的介绍,最后才开始进 入正文!那段时间也就形成了一种特殊的O’Reilly情节!
??大家都知道,O’Reilly的In a nutshell series一向 是品质的代名词,刚开始看的时候我实在困惑为什么O’Reilly要用XXX in a Nutshell命名,后来有一个躺床上午休的时候突然想起以前 高中的时候看过Steven Hawkings的一本书叫做《Universe in a nutshell》(果壳中的宇宙),就连Universe都 in a Nutshell更何况其他东西呢,所以技术手册包涵范围之广,知识之全,可以说是可见一斑!
??上半年刚开学的时候,我就以为自己对 于《Core Java:VolumnI》已经理解透彻了,然后就开始看VolumnII了,而且在同时还在看《Thinking in Java》 (E)为了进一步巩固基础,不过在此之前我大致看了一下《Java in a NutShell》,也从前面的介绍中学到了很多我漏网的知识,就像上面所 说的class method和instance method,还有对Java这个paltform也有了一些理解。不过开始读VolumnII的时 候,第一章就把我绊倒了,线程?什么东西,因为当时没有学习OS,所以要理解线程的概念以及理解线程同步太过困难了,而且其中夹杂了一些AWT和 Swing的一些应用,因为我在学习VolumnI的时候对于GUI就不太重视,觉得GUI既浪费时间而且也学不到太多东西,而且还比较麻烦,对于GUI 的观点我一直持续到现在,唯一不同的只是现在认为Java的Swing是学习Design Pattern的很好的例子!
??慢慢在学习 VolumnII过程中,我愈发的感觉到基础的薄弱,于是我又拿起VolumnI,复习了一遍,发现又有新的收获,我学习就这样,我只要学习偶有所得便喜 不自禁的^_^,如今我同样不定期的复习以前看过的书籍,以寻求新的收获。同时我也开始了《Thinking in Java》的学习,我以为,我已经看 过《Core Java》的VolumnI了,按道理读《TIJ》应该是轻车熟路,应该没什么问题,但当我开始翻开第一章开始看的时候,又给了我当头一 棒,看不懂,特别是后面那些关于Software Engineering的东西,不过到现在我还不怎么了解后面的东西:)
??所以我觉得初学者 读这本书的时候第一章根本就应该跳过,不然就是给自己找罪受,我依然记得看不懂书那郁闷的心情,不仅这个心情影响你其他的学习,还打击你学习Java的积 极性!而且由于我看的是E文的,有些意思还是把握的不太准确,所以我就借了一本同学的中文版的《TIJ》,(他是在我的鼓动下买的这本书:)),而我那本 E文的也就没怎么看了!这本书就是候捷老师翻译的了,说着候老师翻译的书籍,我又不得不发一些牢骚了,现在我看技术书籍,慢慢的就习惯了网上所谓的候捷风 格,不过这种风格我甚是喜欢。
??第一,字体排版都让人看着很舒服,而且行与行之间的间隔,还有正文与书边的间隔都是恰到好处,很多书排版的满满 的,看似节约纸张,但是给学习带来了很大的不便,“为智者所不取”^_^,比如我现在正在看的那本《Inside JVM》的间距就非常小,写个旁批都写 不下。第二,就是翻译了,翻译的学问就大了,国内很多的技术书籍都翻译的还是中规中具的,并没有从语言上润什么色,这种书即使内容很吸引你,但是不算是你 能够品味的好书,对于这种书,你只有从原著中找到乐趣拉!比如前段时间我看的那本《Mastering EJB》的中文版….,候老师的书的语言功底我是 非常认可的。然后就是翻译到个什么度最好,又很多技术书的译者恨不得把每一个词都翻译的滴水不漏,我个人认为是过犹不及,保留原有的技术名词无论对你以后 阅读英文书刊,阅读Specification,还是理解原书的意思都是非常有帮助的!我认为就应该像候老师的书中所保留的那些比如stack, heap,interface,polymorphism,inheritance,reference,primitive这些东西一看你就知道是什么 东西,大脑中也就不需要进行第二次的转换,无疑使你接受信息的速度变快了!这种例子在国内的翻译书籍中很普遍,比如在我年底开始学习C++所买的第一本书 《The C++ Programming Language》这本书是北大的裘宗燕老师翻译的,当然这本书翻译的是没有什么问题的,不过正如我前面所说 的,这本书翻译的过多了,比如刚开始我看到界面这个词,我一愣,随后才反应过来,原来说得是interface,再比如后面我看到在线函数,我又是一阵迷 惑后才知道原来说得就是inline function!在《Inside JVM》中也是如此,第一次看到内嵌函数,直到后面解释才知道还是刚才说得那 个冬冬!
??关于书的牢骚发完了,又回到TIJ吧,从第二章开始学习的TIJ教会了我很多东西,特别是第四章的 Initialization and Clean up,补了很多我在学习《Core Java》中留下的漏洞!所以说这本书是Java领域的一本圣经 级的著作一点都不过分!这一学期伴随着SARS,伴随着《TIJ》,《Core Java》, 《A breif introdution to Data Structure and Algorithm Java Edition》,我的大三上 学期就度过了,其实上学期主要就是加深J2SE基础的学习,而且主要的精力放在DS上面,当然还伴随的一期一期的《Programmer》:),其实在其 中我还穿插着一些JSP的学习,我选的当然也是O’Reilly的《Java Server Pages》,其实这本书有些年代久远了,不过讲原理性的东 西还是不错,但是我还是觉得当时用这本书根本没有学到些什么东西。因为无论要学习JSP还是了解初步的J2EE构架,还是得把J2SE牢固,把io, net,util弄的非常熟悉,然后再Servlet,JSP的一步一步的学上去!
??在放暑假之前,我又去买了好几本书, 《Java Network Programming》(看过Bruce Eckel的推荐过后^_^),《Java Servlet》,《Java夜未 眠》还有《Borland传奇》随后把这个暑假的学习定了一个计划:继续学习《Core Java》VolumnII,学习 《Java Network Programming》,《Java Servlet》,《Java CookBook》以及再次复习 《Thinking in Java》(E)。学习《Core Java》VolumnII是为了学习一些高级应用,不过这本书的学习再次止步于高级 AWT和高级Swing那儿,我对GUI的确没什么兴趣。学习《Java Network Programming》是为了学习Java中最为重点的网络 编程,并且为J2EE打基础,学习《Java Servlet》就更不用说了,也是为了跨向J2EE平台做准备;学习《Java Cookbook》的目 的很简单,就多看实例,知道处理一些常见问题的方法;复习《TIJ》就是为了进一步的巩固基础!经过那个学期我就形成了一种观点,基础永远是最重要的,只 要把基础学习扎实了,什么东西很快就能学会,触类旁通!所以花更多时间在学习高级的一些应用上面还不如花在基础上面更划算呢!你见过程序设计都没有学好的 同学想通过学习《人月神话》,《Peopleware》这些书来达到高手的境界的么?还有些同学光关注程序语言的学习,关注practical的学习,对 其中本质的东西确不闻不问!在这里我又想引用候老师的一段话,个中味道自己去品位吧:程式语言是程式员最基础的功夫,必须熟练它掌握它。但若只是如此,编 写不出好程式、大程式、专业程式。大家都会说中文,独独有人旁徵博引,左右逢源,字字珠玑,文思隽永,这是为什麽?功夫在语言之外!
??语言是首要条件,但不是决胜条件。功夫在语言之外,决胜在语言之外!

学不可以已!我一年Java之路的回顾,反思以及展望相关推荐

  1. 【转载】学不可以已——我一年Java之路的回顾,反思以及展望(上)

    大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那时候那杯冒热气的咖啡一直陪伴我到今天.也不知道当时为什么要学习Java,又是为什么选择了Java.因为我记得当时的我 ...

  2. 【转载】学不可以已——我一年Java之路的回顾,反思以及展望(下)

    在暑假的学习中情况也是像我以前计划的那样发展,首先看的一本书就是<Java Network Programming>,Bruce确实推荐了一本好书,这本书循序渐进并且讲的非常的透彻,学完这 ...

  3. 学不可以已——我一年Java之路的回顾,反思以及展望

    上---------------------------http://www.javafan.net/article/20040219161146742.html 下----------------- ...

  4. 学不可以已--我一年Java之路的回顾,反思以及展望(上)

    学不可以已 ――我一年Java之路的回顾,反思以及展望 大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那时候那杯冒热气的咖啡一直陪伴我到今天.也不知道当时为什么要学 ...

  5. 一年Java之路的回顾,反思以及展望

    一年Java之路的回顾,反思以及展望 作者: net 来源: java 日期: 2007-12-2 0:08:21 大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那 ...

  6. 论一个函授大专生的Java求职路

    论一个函授大专生的Java求职路 不知道在心里沉淀了多久,才终于开始写这么一篇博客,那个时候高考失利的我,阴差阳错的进了一所函授大专,当时并不知道这其中的猫腻,只知道是以某名牌大学的名字挂着,然后学费 ...

  7. map根据value值排序_凯哥带你从零学大数据系列之Java篇---第十九章:集合(Map+Collections)...

    温馨提示:如果想学扎实,一定要从头开始看凯哥的一系列文章(凯哥带你从零学大数据系列),千万不要从中间的某个部分开始看,知识前后是有很大关联,否则学习效果会打折扣. 系列文章第一篇是拥抱大数据:凯哥带你 ...

  8. java多态口诀,Java之路---Day12(多态),多态Java

    Java之路---Day12(多态),多态Java 2019-10-26-22:40:09 目录: 1.多态的概念 2.多态的分类 3.实现多态的三个必要条件 4.多态的格式 5.多态成员变量的使用特 ...

  9. ios 获取一个枚举的所有值_凯哥带你从零学大数据系列之Java篇---第十一章:枚举...

    温馨提示:如果想学扎实,一定要从头开始看凯哥的一系列文章(凯哥带你从零学大数据系列),千万不要从中间的某个部分开始看,知识前后是有很大关联,否则学习效果会打折扣. 系列文章第一篇是拥抱大数据:凯哥带你 ...

最新文章

  1. 习题8-5 使用函数实现字符串部分复制 (20 分)
  2. linux vino vnc,vino-server和vncserver在教学环境中的典型应用
  3. android ImageButton的图片怎么定义?
  4. 第十周项目1-程序填空与阅读(一)
  5. window 如何查看tomcat 实时日志_如何处理生产环境Tomcat的catalina.out日志?
  6. 作者:张群(1988-),女,博士,中国电子技术标准化研究院设备与数据研究室副主任。...
  7. KEIL使用malloc函数申请堆空间失败的解决方法
  8. 你知道 1 + 1 等于几吗?
  9. 弱水三千,只取一瓢饮
  10. (三)elasticsearch学习笔记————文档基本操作
  11. priya-dwivedi关于人脸情绪识别
  12. MATLAB自带分类模型APP——classification learner的使用
  13. ci框架 反向代理配置_docker-compose配置Nginx反向代理禅道
  14. 控制浏览器窗口的可以缩放的最小高度和宽度
  15. 36氪专访融云CEO董晗:8年企服,6年出海,现计划成为「沙特最大科技企业」
  16. 4K动态视频壁纸「Dynamic Wallpaper」
  17. 雷电模拟器9如何设置网桥
  18. 前端入门教程(四)head内常用标签与body内常用标签
  19. JAVA续本_Java业务校验工具实现(续集)
  20. mac 无法打开“XXXXXXX.app”,因为无法确认开发者的身份。

热门文章

  1. pip切源,Python安装selenium和chromedriver
  2. 初识TOML-配置文件格式
  3. HTML5音乐网页毕业设计内容介绍,音乐网站的设计与实现—毕业设计.doc
  4. 【Python程序设计】基于Flask的音乐在线网站/系统/平台
  5. html写的圣诞节贺卡
  6. 【系统之家】XP主题下载影音篇
  7. 孔浩java爱酷网_JAVA
  8. 通俗易懂讲解什么是波特率
  9. 联想笔记本e480恢复出厂设置_联想ThinkPad E480笔记本win10怎么改win7
  10. 《数字电子技术课程设计》课程笔记(五)————调试总结