Java语言概述
第一章 JAVA程序设计概述
Java的关键术语
- 简单性
- 面向对象
- 分布式
- 健壮性
- 安全性
- 体系结构中立
- 可移植性
- 解释性
- 高性能
- 多线程
- 动态性
动态性:
JAVA与C++类似,不过比C++更容易理解,没有头文件、指针语法、结构、联合、操作符重载、虚基类
面向对象:
Java与C++的主要不同点在于多重继承,在Java中,取而代之的是更简单的接口概念。与C++相比,Java提供了更丰富的运行时自省功能
分布式:
Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
健壮性:
Java和C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
安全性:
Java适用于网络/分布式环境。为了达到这个目标,在安全方面投入了很大精力。使用Java可以构建防病毒、防篡改的系统。
体系结构中立
JAVA生成的代码为与计算机体系结构无关的字节码(二进制文件 是一种中间码)指令。JAVA的虚拟机可以选择去将最频繁的字节码序列翻译成机器码,JAVA虚拟机也可以检测指令序列的行为,从而增强其安全性。
可移植性:
JAVA的基本数据类型的大小以及有关运算都做了明确的说明。如:int永远为32位
Java的数据类型具有固定大小,消除了代码移植的困扰。二进制数据以固定的格式进行储存和传输,消除了字节顺序的困扰。字符串是以标准的Unicode格式储存
JAVA也定义了可移植的接口检测不同环境下的实现。例如,有一个抽象的Window类,并给出了在UNIX、Windows和Macintosh环境下的不同实现
解释型:
Java解释器可以再任何移植了解释器的机器上执行Java字节码。
高性能:
字节码可以在运行时刻动态地翻译成对应运行这个应用的特点CPU机器码
多线程:
多线程可以带来更好的交互响应和实时行为。
动态性:
它能够适应不断发展的环境。库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响。在Java中找出运行时类型信息十分简单。
Java applet 和internet
在网页中运行的Java程序称为applet。
要使用applet,需要启用Java的Web浏览器执行字节码。
第二章 JAVA程序设计环境
安装java开发工具包
- Java Development Kit JDK 编写java程序的程序员使用的软件
- Java Runtime Environment JRE 运行Java程序的用户使用的软件
- Server JRE 在服务器上运行的java程序的软件
- Standard Edition SE 用于桌面或简单服务器应用的java平台
- Enterprise Edition EE 用于复杂服务器应用的Java平台
- Java FX 用于图形化用户界面的一个替代工具包,在Oracle的Java SE 发布版本中提供
- OpenJDK Java SE的一个免费开源实现,不包含浏览器集成或JavaFX
- Java 2 J2 一个过时的术语,用于描述早期java版本
- Software Development Kit SDK 过时的术语
- Update u Oracle的术语
- NetBeans Oracle的集成开发环境
JRE:包含虚拟机但是不包含解释器,为不需要解释器的用户提供的