在揭开Java语言的神秘面纱之前,先来认识一下什么是计算机语言。计算机语言(Computer Language)是人与计算机之间进行通信的语言,主要由数字、符号和语法等指令组成,程序员可以通过这些指令指挥计算机工作。计算机语言的种类非常多,总的来说可以分成机器语言、汇编语言、高级语言三大类。计算机所能识别的语言只有机器语言,但通常人们编程时,不采用机器语言,这是因为机器语言都是由二进制的0和1组成的编码,不便于记忆和识别。目前,通用的编程语言是汇编语言和高级语言,汇编语言采用了英文缩写的助记符,容易识别和记忆;而高级语言采用接近于人类的自然语言进行编程,进一步简化了程序编写的过程,所以,高级语言是目前绝大多数编程者的选择。
Java是一种高级计算机语言,它是由Sun公司(已被Oracle公司收购)于1995年5月推出的,Java是支持跨平台和完成面向对象的程序设计语言。Java语言简单易用、安全可靠,自问世以来,与之相关的技术和应用发展得非常快。在计算机、移动电话、家用电器等领域中,Java技术无处不在。
针对不同的开发市场,Sun公司将Java划分为Java SE、Java EE和Java ME3个技术平台。
•Java SE(Standard Edition,标准版),是为开发普通桌面和商务应用程序提供的解决方案。Java SE是3个平台中最核心的部分,Java EE和Java ME都是从Java SE的基础上发展而来的。Java SE平台中包括了Java最核心的类库,如集合、I/O、数据库连接和网络编程等。
•Java EE(Enterprise Edition,企业版),是为开发企业级应用程序提供的解决方案。Java EE可以被看作是一个技术平台,该平台用于开发、装配和部署企业级应用程序,主要包括Servlet、JSP、JavaBean、JDBC、Web Service等技术。
•Java ME(Micro Edition,微型版),是为开发电子消费产品和嵌入式设备提供的解决方案。Java ME主要用于小型数字电子设备上软件程序的开发。例如,为家用电器增加智能化控制和联网功能,为手机增加新的游戏和通讯录管理功能。此外,Java ME还提供了HTTP等高级Internet协议,使移动电话能以客户端/服务器(Client/Server,C/S)方式直接访问Internet的全部信息,提供高效率的无线交流。
Java语言是一门优秀的编程语言,它之所以应用广泛,受到大众的欢迎,是因为它有众多突出的特点,其中最主要的特点有以下几个。
1.简单性
Java语言是一种相对简单的编程语言,它通过提供最基本的方法完成指定的任务。程序员只需理解一些基本的概念,就可以用它编写出适用于各种情况的应用程序。Java摒弃了C++中很难理解的运算符重载、多重继承等概念;特别是Java语言使用引用代替指针,并提供了自动的垃圾回收机制,解决了程序员需要管理内存的问题。
2.面向对象
Java语言提供了类、接口和继承等原语,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯粹的面向对象的程序设计语言。
面向对象是当今主流的程序设计思想,Java是一种完全面向对象编程的语言,因此必须熟悉面向对象才能够编写 Java 程序。面向对象的程序其核心是由类和对象组成的,通过类和对象描述实现事物之间的关系。这种面向对象的方法更有利于人们对复杂程序的理解、分析、设计、编写和维护。
3.安全性
Java语言安全可靠,例如,Java的存储分配模型可以防御恶意代码攻击。此外,Java没有指针,因此外界不能通过伪造指针指向存储器。更重要的是,Java编译器在编译程序时,不显示存储安排决策,程序员不能通过查看声明猜测出类的实际存储安排。Java程序中的存储是在运行时由Java解释程序决定的。
4.跨平台性
Java语言通过JVM(Java Virtual Machine,Java虚拟机)和字节码实现跨平台。Java程序由Java编译器编译成为字节码文件(.class),JVM中的Java解释器会将.class文件翻译成所在平台上的机器码文件,再执行对应的机器码文件即可。Java程序只要“一次编写,就可到处运行”。
5.支持多线程
Java语言支持多线程。多线程可以简单理解为程序中多个任务可以并发执行,从而显著提高程序的执行效率。
6.分布性
Java是分布式语言,既支持各种层次的网络连接,又可以通过Socket类支持可靠的流(Stream)网络连接。用户可以产生分布式的客户机和服务器,在这个过程中,网络变成软件应用的分布式运载工具。
Java语言是詹姆斯·高斯林发明的,Java的名字来自于一种咖啡的品种,所以Java语言的Logo是一杯热气腾腾的咖啡。詹姆斯·高斯林等人于1990年初开发出Java语言的雏形,最初被命名为Oak。随着20世纪90年代互联网的发展,Sun公司看出Oak在互联网上巨大的应用前景,于是改进了Oak,将其更名为Java,并于1995年5月正式发布。下面具体介绍Java语言的发展史。
•1995年5月23日,Java语言诞生。
•1998年12月8日,Java 2企业版J2EE发布。
•1999年6月,Sun公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。
•2001年9月24日,J2EE 1.3发布。
•2002年2月26日,J2SE 1.4发布,自此Java的计算能力有了大幅度提升。
•2004年9月30日,J2SE 1.5的发布成为Java语言发展史上的又一里程碑。为了显示该版本的重要性,J2SE 1.5更名为Java SE 5.0。
•2005年6月,JavaOne大会召开,Sun公司公开Java SE 6。此时,Java的各种版本进行了更名,取消了名称中的数字“2”,J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。
•2009年12月,Sun公司发布Java EE 6。
•2011年7月28日,Oracle公司发布Java SE 7。
•2014年3月18日,Oracle公司发布Java SE 8(市场主流版本)。
•2017年9月21日,Oracle公司发布Java SE 9。
•2018年3月,Oracle公司发布Java SE 10。
•2018年9月,Oracle公司发布Java SE 11。
•2019年3月,Oracle公司发布Java SE 12。
•2019年9月,Oracle公司发布Java SE 13。