3.1 Java概述
1.含义
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
2.背景
Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。
Java由James Gosling和同事们共同研发,并在1995年正式推出。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Java applet。另一方面,Java技术也不断更新。Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。2010年Oracle公司收购Sun Microsystems。2010年11月,由于甲骨文对Java社区的不友善,因此Apache扬言将退出JCP,2011年7月,甲骨文发布Java SE 7;2014年3月,发布Java SE 8;2017年9月,发布Java SE 9;2018年3月,发布Java SE 10.0;2018年9月,发布Java SE 11.0;2019年3月,发布Java SE 12.0;2019年9月,发布Java SE 13.0;2020年3月,发布Java SE 14.0;2020年9月,发布Java SE 15.0。
3.特点
(1)简单性
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
(2)面向对象
Java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。
(3)分布性
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。网络变成软件应用的分布运载工具。Java程序只要编写一次,就可在不同的平台运行。
(4)编译和解释性
Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供针对体系结构中不同的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
(5)稳健性
Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成为高可靠性和稳健性的语言。Java消除了某些编程错误,使得用它写可靠性高的软件较为容易。
(6)安全性
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。
(7)可移植性
Java使得语言声明不依赖于实现的方面。Java环境本身对新的硬件平台和操作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。
(8)高性能
Java是一种先编译后解释的语言,所以它不如全编译性语言运行速度快。但是有些情况下性能是很关键的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现了全编译。
(9)多线索性
Java是多线索语言,它提供支持多线索的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。
(10)动态性
Java语言设计成适应于变化的环境,它是一个动态的语言。