Java编程语言简史
Java编程语言简史
Java是由Sun Microsystems的员工James Gosling和Patrick Naughton创建的,得到了Sun Microsystems联合创始人Bill Joy的支持。Sun公司于1995年5月23日在SunWorld上正式推出Java语言。后来,在2009年,甲骨文公司收购了Sun公司,这就是为什么这种语言现在属于甲骨文公司。
在本文中,我们将探索Java编程语言的历史。
Java被描述为一种多用途、强类型和面向对象编程(OOP)语言。按设计,它尽可能少地依赖于实现。
使用这种编程语言,我们可以在多种设备上创建应用程序。它的应用范围非常广泛,允许我们为移动设备、销售点终端、自动取款机、物联网(IoT)以及网页创建软件。
尽管在2021年,Kotlin成为Android开发的首选语言,但Java仍然是为Android开发应用程序的默认语言。这是因为Android与Java的紧密集成。实际上,该操作系统的部分,如用户界面和特定的核心库,是用Java编写的。
让我们深入了解Java项目是如何开始并随着时间的推移而发展的。
开始
该项目于1991年在Sun Microsystems团队的幕后诞生,当时三名工程师James Gosling、Mike Sheridan和Patrick Naughton试图设计一种适用于小型电子设备的语言。
不久之后,他们启动了Green项目,研究数字控制家电与计算机的融合影响。
使用类似于C++的语法,他们制作了一个数字遥控器,配备了图形和动画触摸屏。经过几个月的紧张研究,这个遥控器具有控制整个客厅设备的神奇功能。它用一种新语言编程,完全独立于它运行的处理器,使遥控器独一无二。
最终,是Green项目的一员James Gosling,创造了这种新语言,他称之为Oak。
后来,当美国有线电视运营商加入该项目时,该项目获得了发展。然后,Oak变成了FirstPerson。不幸的是,FirstPerson项目没有商业成功,因为它肯定远远领先于行业,而行业的首要任务是盈利能力。
HTTP协议和Mosaic浏览器的到来
1993年,HTTP协议和Mosaic浏览器的到来,对该项目来说是一个关键事件。在这段时间里,团队意识到互联网将是他们定位产品的理想的网络。
然后,在1995年,James Gosling推出了一个名为WebRunner的浏览器,该浏览器能够显示混合了小程序的HTML内容。事情从这里开始起飞。首先,WebRunner变成了HotJava,然后java.sun.com正式向公众开放。
最终,这项技术的名称将成为“Java”(在美国俚语中意为“咖啡”),以纪念程序员最喜欢的饮料,即咖啡,其生产部分来自爪哇岛。
然后,Sun和Netscape宣布他们希望将这项新技术集成到他们的浏览器中,这无疑启动了这门语言。然后版本将一个接一个地发布,从1996年的版本1到2021年的版本17。
特点
由于其出色的特点,Java已成为一种流行且有用的编程语言。Sun将其描述为:
- 编译和解释
- 平台独立和可移植
- 面向对象
- 健壮和安全
- 分布式
- 熟悉、简单和小
- 多线程和交互式
- 高性能
- 动态和可扩展
来源:《Java编程》——E Balagurusamy。
接下来,我们将详细说明这些特点。
编译和解释
Java结合了编译语言的强大功能和解释语言的灵活性。
编译器(javac)将源代码编译成字节码,然后虚拟机(JVM)通过将其转换为机器可读的代码来执行这些字节码。
平台独立和可移植
两步编译过程是Java最显著特点:平台独立性的背后,它允许可移植性。
平台独立性意味着在一个机器上编译的程序可以在任何其他机器上执行,无论操作系统是什么,只要安装了JVM。
可移植性特性指的是在不同机器上运行程序的能力。实际上,相同的代码将在不同平台上以相同的方式运行,无论硬件兼容性或操作系统如何,无需进行重新编译或对源代码进行微调。
面向对象
Java强烈支持面向对象编程概念,如封装、抽象和继承。
Java程序中的所有指令和数据都必须添加在类或对象内部。
健壮和安全
Java包括几个有用的特性,帮助我们编写健壮和安全的应用程序。
其中最重要的一个是内存管理系统,以及自动垃圾回收。与C/C++等语言相比,Java避免了显式指针的概念,并且不要求程序员手动管理分配的内存。
相反,垃圾回收将负责删除未使用的对象以释放内存。
此外,Java是一种强类型语言,这是一个可以帮助减少应用程序中错误数量的特性,并提供错误处理机制。
分布式
这个特性在我们开发大型项目时很有帮助。我们可以将一个程序分成许多部分,并将这些部分存储在不同的计算机上。因此,我们可以轻松创建在多个节点上运行的分布式和可扩展的应用程序。
我们可以使用远程方法调用(RMI)和企业JavaBean(EJB)的概念来实现这一点。
简单和熟悉
首先,Java之所以简单,是因为它具有非常干净且易于理解的编码风格。此外,它不使用其他语言的复杂和困难的特性,例如显式指针的概念。
最后,Java之所以熟悉,是因为它基于像C++这样的现有语言,并整合了这些语言的许多特性。
多线程和交互式
也称为基于线程的多任务处理,多线程是一个允许同时执行多个线程的特性。
简而言之,我们可以通过定义多个线程来编写同时处理许多任务的Java程序。多线程的优点是它不为每个线程占用内存——所有线程共享一个公共内存区域。
高性能
编译器生成的字节码高度优化,因此虚拟机可以更快地执行它们。这就是Java比其他传统的解释性编程语言更快的原因。
动态和可扩展
这个特性提供了动态链接新类库、方法和对象的能力。Java非常动态,因为它可以适应其不断发展的环境。
Java运行环境的用途
为了能够运行软件应用程序,它必须有一个允许其运行的环境——通常是操作系统,如Linux、Unix、Microsoft Windows或macOS。在没有其他支持环境的情况下,程序受到操作系统及其资源的能力的限制。
Java运行环境(JRE)充当程序和操作系统之间的翻译者和促进者。它在操作系统之上运行,以提供额外的Java特定资源。
结论
通过其特殊性,Java语言综合了其他现有语言的大部分可能性,同时消除了它们的一些主要缺陷。
因此,它是一种被普遍认为是相对现代的语言,其潜力得到了很好的确立。