网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用Java设计下载软件.
.Java多国语言问题解决方案.
.为什么程序员不应调用“sun”包.
.用 Apache JMeter 测试 WebSpher.
.Redhat 下安装 Tomcat 之完全指南.
.Java串行端口技术协议.
.J2SE API读取Properties文件六种.
.在应用程序中和Applets小程序中使.
.JAVA TECHNOLOGY EXAM OBJECTIVES.
.J2EE中的异常管理及错误跟踪框架.
.DBCP连接池测试用例(8月修正版).
.如何使用动态代理实现AOP功能.
.开发环境的配置.
.Java入门(11) 让程序更动人.
.可以用于网页背景.
.全面解析JDBC(3).
.push 方法.
.详细的spring入门实例讲解运用.
.用Flash远程调用增强J2EE表示层.
.Tomcat 5.0-5.5连接池配置指南.

JAVA学习,是一条漫长的道路

发表日期:2008-1-5



  我在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语言出现的背景、影响及应用前景 人气:541
下一篇:Java 纵 横 谈 人气:378
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐