本文面向的观众是对J2EE技术有爱好的入门者。
Java语言
Java语言最早被称为Oak,它是为了实现嵌入式的消费类电子产品应用而产生的,它的作者是James Gosling.Ed Frank, Patrick Naughton, Jonathan Payne, Chris Warth在随后的几年时间中为Java语言加入了大量的特性,并把Java语言的目标做了一个重新的定位,定位于适合Internet的语言。
Java语言是一种多用途的语言、并发的语言、以类为基础,面向对象的语言。它的设计尽可能的做到和操作系统是无关的,也就是Java所宣传的那句话:“一次编写,到处运行。”Java的设计参考了C和C++语言,因此熟悉C和C++的程序员对Java语言上手很快,而Java设计的原则是能够利用Java语言快捷的编写应用,所以我们可以发现,在Java语言中,并没有那些C和C++中的复杂的机制。最明显的就是C中被大量使用的指针,由于它的随意性,被Java以引用来代替了。而C++中的操作符重载、模板、泛型的特性也因为使用比较复杂,Java也不予采用。但是目前Java仍然不断的推出新的特性,以满足应用的发展。例如在新推出的JDK1.4中,Java语言就能够支持Assertment机制和Perl语言中最有用的正则表达式机制。
Java语言主要由以下五种元素组成:标识符、要害字、文字、运算符和分隔符。这五种元素有着不同的语法含义和组成规则,它们互相配合,共同完成Java语言的语意表达。
1:标识符。变量,类和方法都需要一定的名称,我们将这种名称叫做标识符。
2:要害字。要害字是Java语言本身使用的标识符,它有其特定的语法含义。所有的Java要害字将不能被用作标识符。
3:数据类型。Java有着不同的数据类型。比较值得一提的是字符串数据类型,字符串数据类型是用一对双引号括起来的字符序列,字符串数据实际上是由String类所实现,而不是C语言中所用的字符数组。每一个字符串数据将产生一个String类的新的实例,用户不必对字符串与类这个概念发生关系而感到担心,由于类的特性,你不必担心如何去实现它们,它们会自己照顾好自己,需要说明的是字符串在Java里作为类只是出于安全的考虑。
4:运算符。任何语言都有自己的运算符,Java语言也不例外,如+、-、*、/等都是运算符,运算符的作用是与一定的运算数据组成表达式来完成相应的运算。对不同的数据类型,有着不同的运算符。
5:分隔符。分隔符用来使编译器确认代码在何处分隔。‘’‘’‘;’‘:’都是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 虚拟机器的运作方式。
学会了语言,并不代表就可以设计出好的对象导向系统架构。想要成为对象导向的专家,往往需要:
(1) 多看相关的书,非凡是 Design Pattern 和 Refactoring 的书。
(2) 多观摩别人的程序(例如 Java API 的 design 与 implementation)
(3) 多写程序。
学会 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……