聊聊Java

来源:互联网 发布:iperf使用方法windows 编辑:程序博客网 时间:2024/04/30 20:31

   大凡国内的Java教材的1章,总要讲讲Java产生和发展、Java语言的特点和优越性;Java应用程序和小应用程序;Java工具包JDKJava程序的编辑、编译和运行;Java开发工具介绍和使用。

这是对的,作者的目的是让我们知道,Java是个好咚咚,名门正派,我们要尊敬她,学习Java是严肃的事情。

 

当然也有异数,有位老兄说,第1章也应该是最后一章,不知道你怎么想。其实,我们把Java特点和优越性——【Java(作为一种程序设计语言),是一种简单、面向对象、网络通用、解释型 健壮、安全、结构中立、可移植性强、(高性能、)多线程、动态的语言】——写几张纸给你看,不把你搞晕就怪了。

我们初学者真正想知道的,是Java好不好玩。嗯,Java好玩。

§1 Java是最牛的语言

      为什么要学习Java,因为它牛。看看编程语言的排行榜(2005-1,你难道不想学习应用最广的语言吗?你再看:Developer.com公布2005年度产品竞赛优胜者名单,你难道不想学习发展最好的语言吗?

如果有人争辩,世界上所有的语言都有它的应用领域,C++是最好的、VB是最好的……,我们走开。不是说讨论那门语言的好坏没有意义(如果有人这么说,让他看《编程语言——设计与实现 4e作者讨论语言的优劣难道疯了?),主要是因为我们还没有真正掌握Java,我们还没有资格讨论那门语言的好坏。对吧?

 

总之,我说Java牛,没有什么大错。为了避免人民内部矛盾的激化,我们时刻准备说:

我佩服会LISPMLProlog的。(异)

我佩服会SmalltalkEiffel的。(纯)

我佩服会PHPpythonperl的。(炫)

我有点佩服会VBdephi的。(快)

我佩服会Perl and ParrotPythonGroovy的。(动)

我佩服会C    (牪)

我佩服会C++  (牛)

我佩服会机器语言的(犇)

我最后也佩服会Java的。(牛)

 

关于有人说他“会”7-8种语言,我们也非常佩服,当然有个家伙写书用了JavaC++C#、Delphi PascalApple Object Pascal PythonCLOSEiffelObjective-CSmalltalkRubyBeta等等哪,我也非常佩服。【参考:Timothy Budd《面向对象编程导论》清华大学出版社】

§2 Java能否短期学会

如果你认为会编写一个Java程序,就叫学会的话,两天就可以学会。

为什么要两天?毕竟我们要下载JDK,要几个小时也可能。下载累了我们要玩玩游戏,这就过了一天;为了表示我们会Java,第二天我们要看看书,背诵HelloWorld(照着书敲代码,显得不够专业),如果能够让程序运行,呵呵,我们会Java了。

当然,如果我们自己要求高一点,可能一辈子都学习不完。我们去看看Java地图Sun公司野心勃勃,想通吃桌面编程、网络编程、手机编程,他们想说:我给你一个Java,你可以撬动微软。

总之,世界上有数以百万计的Java程序员,大家都在学习和研究Java,我们既不要被Java的博大精深所吓倒,也不要希望自己掌握Java的全部(你把Java全部搞定了,几百万的Java程序员就统统下岗了。)

现实的目标,我们学习Java的第一步,应该把Core Java搞定。在后面我们也围绕这一部分学习。Core Java的范围,大家参考SUN认证的JAVA程序员(SUN Certified Java Programmer)——简称SCJPSL275)考试的范围。

有人说,SCJP考试范围是“一英里宽一英寸深”,这是我们要注意的,我们至少要学习到一米深。

这个阶段,最好用一年的时间。如果你感到一年太长,不妨想想我们小学5-6年学习的算术,小学5-6年学的东西,可能在我们现在看来只要一天就搞定。其实很多东西,需要时间的沉淀。

这个话题太大了,我们能够说的只有一句话:每天前进一小步……

§3 找什么Java教程

我查阅了很多Java教材、专著和网上文章,其实也没有找到一条学习Java的“最佳路径”。事实上,我们不可能找到一本Java学习的圣经。只有自己给自己编写的教材,才能满足自己所有要求的。

我为什么学习Java(目标、工作需要),我想怎样学习Java(深度),我想花多少时间学习Java(我是大一还是大四,还是工作中),我的英文水平如何……

有一本《Thinking in Java》,的确不错。但是,它不一定适合某些初学者。同时我告诉你,陈毅曾经玩笑道:在将军面前,我是诗人;在诗人面前,我是将军。

其实,你把Timothy A.Budd..面向对象程序设计(第3版)再加上垃圾堆中顺便一本Java书,捣鼓捣鼓,就可以达到《Thinking in Java》的程度。

慢点,在丢鸡蛋之前,你想想:为什么不自己给自己编写教材呢?如果我们准备用一年的时间学习Java的话。自己给自己编写教材,并不需要1000页,我们仅仅需要一个提纲;所有的Java知识,要能够向这个提纲汇集。

当然,我们必须买一本纸质的Java教材,注意:准备看完就扔的。如果你买了一本Java教材,看完了还准备收藏的话,这本书不适合你。我们高中的教材早扔了,对吗?学习完那本教材,你应该剩下的是一个自己的目录!

值得收藏的,就不是你应该买的。比如JDK文档【Java 2 Platform API Specification】和Java语言说明书【The Java Language Specification】和 The Java Virtual Machine Specification。它们是你必须下载并收藏的。

      坦率的说,我看的国内教材比较少,能推荐的教材又是英文版的(都可以找到电子版):

1.        Core Java 2, Vol.I--Fundamentals (0-13-089468-0),

2.        Core Java 2, Volume II: Advanced

3.        Thinking in Java

4.        Java 2: A Beginner's Guide, 2nd Ed.

5.        Data Structures & Algorithms in Java

6.        Sun Certfied Java Programmer Exam (SCJP)相关网站和书籍

够一年看的了。

§4 什么是Java

忘了介绍,什么是Java。当我们提到Java,指的可能是三种意思:

  1. Java语言:

  2. Java虚拟机器(JVM):用来执行 Java程序的环境,即Java平台。Java平台是建立在操作系统之上的。因此,JVM有许多的版本,例如Linux Windows 版。有了应用于各种操作系统之上的JVMJava程序就可以在不同的OS平台上执行,这就是著名的“一次编写,到处运行”

  3. Java APIs:指的是以类库形式提供的程序设计接口,是一组预先定义好的类。可以在你的程序中直接使用,这些东西是免费的,我们常常要看看其源代码。

       所以,当人们提到‘学习 Java’,更通常指的是 Java语言和 API(类库)。

§5 Java的背景知识

这些东西虽然有趣,了解也很有必要,但内容太多,大家自己google搜索吧。

比如说,为什么叫Java?最简单的回答是:Java是其开发者灵机一动想到的,而且最喜欢的名字,因为听起来很酷。

至于是谁第一个建议使用Java的,它是唯一候选的名字吗?至少有几万个英文单词,我以后有时间再贴出来吧。

 

Java语言的特点?字节码(后面常常称之为类文件或.class文件)。Java实现可移植和安全性的秘密,就是Java的字节码(bytecode)。

 

什么是JDKThe Java 2 SDKJVMjre)、Java 2 PlatformJava 5J2SEJ2MEJ2EEJava能干些什么?Java的缺点有什么?JavaC#的关系?……

呵呵……

原创粉丝点击