1.1 什么是JAVA语言
Java是在1995年由Sun公司推出的一种极富创造力的面向对象的程序设计语言,它由Java之父詹姆斯•戈士林博士设计。作为Sun研究院院士,詹姆斯•戈士林亲手设计了Java语言,并完成了Java技术的原始编译器和虚拟机。Java最初的名字是OAK,在1995年被重命名为Java。
Java是一种通过解释方式来执行的语言,其语法规则与C++类似,同时也是一种跨平台的程序设计语言。
Java语言编写的程序既是编译型的,又是解释型的。
1.2 Java的应用
- 桌面应用系统开发
- 嵌入式系统开发
- 电子商务应用
- 企业级应用开发
- 交互式系统开发
- 多媒体系统开发
- 分布式系统开发
- Web应用系统开发
1.3 Java的版本
Java SE 是整个Java技术的核心和基础,是Java ME和Java EE编程基础;主要用于桌面应用程序的开发,同时也是Java的基础,它包含Java语言基础、JDBC(Java数据库连接性)操作、I/O(输入输出)、网络通信、多线程等技术
Java EE 是应用最广泛的部分,提供了企业应用开发相关的完整解决方案;主要用于开发企业级分布式的网络程序,如电子商务网站和ERP(企业资源规划)系统,其核心为EJB(企业Java组件模型)
Java ME 主要应用于嵌入式系统开发,如掌上电脑、手机等移动通信电子设备,现在大部分手机厂商所生产的手机都支持Java技术
1.4 Java语言的特性
简单
(1)Java使用接口取代了多重继承,并取消了指针,因为指针和多重继承通常使程序变得复杂
(2)Java语言还通过实现垃圾自动收集,大大简化了程序设计人员的资源释放管理工作
(3)Java提供了丰富的类库和API文档以及第三方开发包
面向对象
Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问
分布性
Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存放在多个不同的主机上,这些主机是网络中的不同成员
可移植性
Java程序具有与体系结构无关的特性,从而使Java程序可以方便地移植到网络的不同计算机中。同时,Java的类库中也实现了针对不同平台的接口,使这些类库也可以移植。
解释型
任何移植了Java解析器的计算机或其他设备都可以用Java字节码进行解释执行。字节码独立于平台,它本身携带了许多编译时的信息,使得连接过程更加简单,开发过程也就更加迅速,更具探索性。
安全性
Java语言删除了类似C语言中的指针和内存释放等语法,从而有效地避免了非法操作内存。Java程序代码要经过代码校验、指针校验等很多的测试步骤才能够运行,所以未经允许的Java程序不可能出现损害系统平台的行为,而且使用Java可以编写防病毒和防修改的系统。
健壮性
Java将检查程序在编译和运行时的错误,并且消除错误
多线程
Java能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。
高性能
Java编译后的字节码是在解释器中运行的,所以它的速度比多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。
动态
Java可以动态调整库中方法和变量的增加,而客户端却不受影响。
1.5 Java程序运行机制
第一步 编译
Java语言编写的程序首先需要经过编译步骤,但这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(*.class文件),但字节码并不是可执行的,并且不面向任何具体平台,只面向JVM。
第二步 解释执行
将生成的字节码使用JVM(Java虚拟机)来解释执行,在一些虚拟机的实现中,还会降虚拟机代码转换成特定系统的机器码执行。
JVM(Java Virtual Machine)负责解释执行字节码文件的Java虚拟机,是Java程序跨平台的关键部分;相同的字节码程序需要在不同平台上运行时,只有通过中间的转换器材可以实现,JVM就是这个转换器。实际上,JVM就是一个抽象的计算机和实际的计算机一样,它具有指令集并使用不同的存储区域,负责执行指令、管理数据内存和寄存器。
2.1 开发前的准备
JDK Java SE Development Kit,即Java标准版开发包,是Sun提供的一套用于开发Java应用程序的开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境以及常用的类库等。
JRE Java Runtime Environment,即Java运行时环境,运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
开发JAVA需要JDK,运行JAVA需要JRE 。JDK包含JRE