组网教程 电脑入门 经验共享 系统知识 办公软件 网页教程 QQ知识 MSN知识 黑客教程
木马知识 安全漏洞 补丁知识 入侵知识 防火墙 影音制作 Premiere 硬件知识 Photoshop
Fireworks Flash教程 CorelDRAW Dreamweaver ASP教程 PHP教程 HTML教程 JAVA教程 
CataName - 电脑教程搜索  关键字:   

当前位置:首页 > 电脑教程 > JAVA教程

学习,是一条漫长的道路
作者:未知 文章来源:未知 点击数:1613 更新时间2005-6-16

  我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J2EE的API,开始写起程序来了。如此急就章的学习方式,程序员基础能力根本就不够,对于对象导向精髓不能掌握,对于Java语言内部的运作机制毫无所悉,对API的整体连贯性懵懵懂懂。

  当然,我们也不好因此责怪程序员,毕竟软件技术变动得太快。公司不可能给程序员足够的训练之后才开始做计画。程序员一下子被指派使用A技术,还没弄懂A技术是怎么回事,又被指派使用B技术,而且都是缝缝补补的方式边学边用,每次都像是全新的开始,遑论技术能量的累积。

  我很庆幸的是,我不太有这样的困扰。因为我是资讯工程系出身(而且我大学时上课一向很认真),所以理论基础稳固,学习新技术对我来说不是难事。我就读大学时,周遭许多同学都瞧不起数据结构、程序语言、操作系统这些所谓「学院派」的课程,以为这些课程一点都不实用。他们认为到了外面公司,这些信息科系所学的一切都派不上用场,「只要会Visual Basic和数据库就够了」。这种偏差的心态,恐怕会使得他们在知识经济时代吃足了苦头。

  另外还有一派同学很瞧不起程序设计工作,他们告诉我,像我这样会写程序的人,未来进了社会「还不是被他们这些走管理的人踩在脚下」。所以,他们很轻忽理工课程的学习,甚至还有人相当热衷「成功学」,认为这是迈向成功的快捷方式,却因此把学校的课业弃之不顾。我不敢相信有人竟然如此地本末倒置。

  前一类的人太过于短视近利,后一类的人太过于好高骛远。我一直很不能理解这些人的想法为什么会这样,或许是因为社会环境的风气使然。我很庆幸我到目前还没被社会的大染缸给玷污了(最好这辈子都不要)。

  我不认为我的学习方式是一种典范,但是一路走来,倒也颇有进展。许多读者来信问我的学习历程,虽然我个人的学习方式不见得适用于每个人,但或许还有一些参考价值(特别是对于那些有志进入信息行业的年轻学子),我想透过本文简短地叙述一下。

  我一向是采用先深后广(也称为Bottom-Up,Deep-First)的学习方式。比方说,当我在学A技术的时候,学到一半发现需要B技术的基础,我会到书局找出一两本B技术的书,然后把A先搁着,开始看起B技术的书。甚至,我在技术书籍上看到不太熟悉的英文句构时,我会找出一本英文文法书详细读过。这种先深后广的学习方式,适合学生时代全面地自我能力提升,但不适合业界人士。试想,老板要你开发的ERP系统已经延迟了,你怎有空研究J2EE原文书中的英文文法。先深后广的好处是,学习很扎实;缺点是有时候会偏离主题太多。有一次我发现我原本是要学某软件技术,几次「先深后广」下来,我居然看起老子的道德经了。

  在技术上,我一直都是一个喜新厌旧的人,很少有软件技术能让我持续研究半年以上,我几乎每隔几个月就要换一次领域。Java 能让我持续这么久,也正是因为 Java 的领域广。透过Java,我的技术视野变开阔了。这些年来,我换过的 Java 相关领域包括了:虚拟机器、数据库、企业运算、多媒体、2D/3D图学、网络.…..等。

  我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量,理论和实务之间的藩篱被打破了,学习效率倍增。

  我多年来的学习触觉很敏锐,我常常会抢先一步学好有前瞻性的技术。比方说,Java还在beta时、UML还在0.8时、XML还在draft时,我都已经透过网络下载技术文件回来每天抱着猛读了。而在Java、UML、XML当红之后,我已经差不多把这些技术都摸熟了。

  至于该学什么技术,我的判断方式是以技术的优劣来决定。优秀而有独到之处的技术是我的最爱,虽然这类的技术不见得会在市场上胜出,但学习这些技术所得到的启发,对于技术能量的累积与能力的提升会有相当大的助益。至于技术差,但市场需求甚殷者,我还是懒得碰。(好吧!我承认我曾因为市场需求的缘故而学过MFC。越清楚MFC的技术细节,越是讨厌它,这真是个不堪回首的经验。)

  我通常只看英文技术资料,毕竟大部分第一手的技术信息都是以英文来传播。所以我很早就开始阅读英文技术资料。读英文技术资料的好处是,就算没有学到书中的专业知识,至少也累积培养了英文阅读能力,我一直都是抱着这样的态度。一开始是正襟危坐的看英文技术书籍,字典、翻译机随侍在侧;几年下来,现在是躺着看、趴着看、很随性地看英文技术书籍,因为看英文技术书籍变成一种习惯了。现在,我可以用很快的速度吸收英文技术书籍的知识(有人叫我「吃书的机器」,我把这称号当作是一种恭维)。

  近年来,我花在写程序的时间不多,因为时间对我来说很宝贵,而写程序很浪费时间。对初学者来说,大量地写程序是必要的,但过了某个阶段之后,写程序所带来的技术能力成长已经到了极限,还不如多花一点时间看书,学新技术和新观念。

  我从国小时期开始学习写程序,迄今已有近十八年的时间;采取上述的方式密集学习,迄今也有近十年的光景。迩来数年,我接触的领域越来越广,而且学习速度正在加快,我认为是以前那些努力植下的根苗开始成长了。看看现在的我,或许你会觉得羡慕,但回顾这段学习的岁月,何尝不是一条漫长的道路。


·上一篇教程:谈谈JAVA程序的反编译
·下一篇教程:教你如何成为一名Java初级程序员
【发表评论】【告诉好友】【加入收藏】【打印此文】【关闭窗口】

相 关 教 程 

用Java实现FTP服务器..
JavaBeans程序开发从..
Java学习的捷径
谈谈JAVA程序的反编译
教你如何成为一名Ja..
如何迅速成为Java高手
Java编出一个自己的..
如何成为一名Java初..
体验Java 1.5中面向..
Java中实现基于Aspe..

热 门 教 程

用Java实现多线程服..
JAVA实现支持视频点..
java 3D 动画场景编..
用Java实现FTP服务器
教你在Jave中实现3d..
用Java设计下载软件
Java中C/S通讯程序设..
Java网络编程之传输..
Java网络编程之传输..
Java网络编程之传输..

最 新 教 程 

用Java实现FTP服务器..
JavaBeans程序开发从..
Java学习的捷径
谈谈JAVA程序的反编译
学习,是一条漫长的..
教你如何成为一名Ja..
如何迅速成为Java高手
Java编出一个自己的..
如何成为一名Java初..
体验Java 1.5中面向..

特 效 代 码

  综合特效  状态栏类
  游戏相关  页面背景
  页面特效  页面导航
  文本操作  文本特效
  图形特效  鼠标特效
  时间日期  密码相关
  浏览相关  警告对话
  技巧特效  计数转换
  测试搜索  代码生成
  播放音乐  按钮特效
  系统相关  链接特效
  黑客性质  相关特效
  窗口特效  其它特效

图 片 素 材

  精美图标  水晶图片
  一般图片  肉质图片
  菌类图片  数码风光
  数码动物  装饰素材
  实物素材  儿童素材
  动物图片  儿童图片
  风光图片  风情图片
  精美佳图  军事图片
  卡通图片  实物图片
  体育图片  植物图片
  装饰图片  桌面壁纸
  3D图片  广告图片
  绘画图片  设计素材
  素材图片  微标图片
  欣赏素材  邮票图片
  资料图片  动物动画
  一般动画  瓜果蔬菜
  观赏图片  花卉图片
  杂类图片  baby图标
  ICON图标  Logo站标
  论坛图标  像素图片