java 学习之道
目前 java 可以说是产业界和学术界最热门的语言,许多读者都很急切想把 java 学好。除非像电影「骇课任务」(matrix)一样能够把需要的专业技巧下载到脑海(女主角只花了几秒下载资料,就马上具备飞行员的技巧),或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就怕方法错误,事倍功半。我认为,学习 java 包括了下列的范畴:
* 认识 java 的原理
* 学会 java 语言
* 对象导向的思维
* api
* 开发工具的用法
下面分别就这几点详细阐述。
学习 java 的原理
了解 java 的原理,才有可能真正体会 java 的一切,学习任何事情,只要能掌握原理,就会比较顺利。我发现许多人使用 java 已经逾年,却连 java 最基本的特质都不清楚。
一般来说,信息系毕业的学生,对于信息的新事物学习的速度,会比其它科系来得快,就是因为四年的教育为他们奠定了学习新事物的基础,这也是信息系课程的价值所在。
除非你受过的基础训练够扎实,否则在学习或使用 java 的过程中,你一定会需要参考到这些信息系学科的知识。我建议各位可以在闲暇之余,把信息系课本的书拿来读一读。这是治本之道,绝非立竿见影的特效药,必须要有耐心。
学习 java 语言
学习 java 语言很简单,毕竟 java 语言也只包含五十多个关键词(keyword)与几十个算符(operator),再加上 java 语法(syntax)也很简单,所以一般人可以很快就学会 java 语言。危险的是,很多人认为已经完全掌控 java 语言,但其实对于内部的运作机制仍不能掌握,这些盲点有时候会让你无法完全掌控 java 语言。克服这些盲点的方式是看「the java language specification, 2nd ed.」(没有中文版)来彻底弄懂 java 程序语言,并看「inside the java virtual machine, 2nd ed.」(有中文版,但翻译得@#%$)来彻底掌握 java 虚拟机器的运作方式。
学习对象导向的思维
学会了语言,并不代表就可以设计出好的对象导向系统架构。想要成为对象导向的专家,往往需要:
* 多看相关的书,特别是 design pattern 和 refactoring 的书。
* 多观摩别人的程序(例如 java api 的 design 与 implementation)
* 多写程序
学习 api
学会 java 语言之后,还需要学会一些 api 才能写出有用的程序。java 的 api 非常多,必须规划好一个学习路径,才不会在浩瀚的 api 大海中迷失。必备的 api 包括了:io、new io、collection framework、network、rmi、jaxp... 等。至于其它的 api,就看你的需求而定,大致上分成:
* gui 类:javabean -> swing -> javahelp -> java2d -> image io -> jai -> java 3d ...
* enterprise 类:jdbc -> jdo -> servlet -> jsp -> ejb -> jms -> jta/jts...
* j2me 类(这一类不是我的专长,无法提供学习顺序建议)
学习开发工具的用法
只用 jdk,是很难写出大型程序的,所以通常程序员会使用 jbuilder/visualage/ visualcafe 等工具,这些软件卖这么贵,一定有它的价值,值得花一些时间好好学习这些开发工具的使用方式,你将会发现开发工具所提供的许多功能,可以让你在开发过程中生产力大增。
闽公网安备 35060202000074号