Java编程语言简介


2021年8月23日, Learn eTutorial
2117

Java 是一门强大的面向对象编程语言,由著名的加拿大计算机科学家詹姆斯·亚瑟·高斯林 (James Aruther Gosling) 在 1995 年与他的同事迈克·谢里丹 (Mike Sheridan) 和帕特里克·诺顿 (Patrick Naughton) 在太阳微系统公司 (Sun Microsystems) 开发。高斯林被誉为“Java 编程语言之父”,因其在快节奏的技术世界中创造了这项令人难以置信的技术,也被称为“Java 博士”。在设计这门平台无关的编程语言时,高斯林对“一次编写,到处运行”的原则有着清晰的愿景,这一原则至今仍然突出。

Java 的历史

在开始学习 Java 之前,让我们回到那个诞生了这门强大而稳健的编程语言——JAVA 的时代。Java 语言的种子最初是在 1991 年,作为一项研究项目的一部分,在 Sun 公司的首席架构师詹姆斯·亚瑟·高斯林的脑海中播下的。高斯林与他的同事们开始致力于为各种网络设备和嵌入式系统开发先进的软件。

在初期阶段,选择的语言是 C++。随着时间的推移,他们意识到了 C++ 在设计和实现上的困难,后来这要求需要一个专属的编程语言平台。因此,Java 编程平台是通过借鉴其他各种编程语言的设计和架构方案而设计的。

最初,这种编程语言被命名为 OAK,以高斯林办公室附近的一棵橡树命名。但不幸的是,由于一些版权问题,他们被迫更改了名字。他们的备选名单上有几个名字,如 Green、Silk、DNA、WRL 等,最终他们决定给他们的新语言起一个清新而温暖的名字,那就是 JAVA,一种印度尼西亚咖啡的名字。

Java 特性/ Java 流行语

Java 的创造者在设计这门优美的语言时,加入了一些与众不同的特性,这些特性使得这门语言即使在今天也充满活力和兼容性。他们的设计目标是开发一种简单、可移植但安全、稳健的技术,并在分布式网络中的多个平台上具有可靠的高性能。塑造了这门强大语言的独特特性被称为 Java 流行语

Key Features of Java

那么,Java 编程的主要特性有哪些呢?

  1. 简单

    Java 编程语言的首要设计目标是语言的简单性。该语言的设计方式使得任何人都可以快速掌握基本的编程知识,即使是绝对的初学者也可以开始编码。

  2. 面向对象

    Java 编程语言中包含的另一个重要特性是面向对象的编程概念——也就是说,Java 中的一切都是一个对象,它集成了数据和行为。Java 的编程系统已经采纳了 OOPS 概念,以便在这个快节奏和复杂的基于网络的环境中有效运作。OOPs 概念在下图中有所体现。

    OOPS Java
  3. 熟悉

    熟悉意味着非常了解。是的,Java 编程语言与 C 和 C++ 有着密切的联系,它可能看起来与 C 和 C++ 相似。这是因为 Java 的风格和语法借鉴了这些语言,同时摒弃了所有复杂和有争议的概念。熟悉 C、C++ 及相关语言的程序员可以毫不费力地迁移到 Java 平台,学习曲线非常短。

  4. 稳健

    Java 的稳健性体现在

    • Java 在编译时和运行时审查代码,以消除错误,从而提供无错误的代码。
    • Java 能够通过利用垃圾回收器来紧凑而高效地管理内存,垃圾回收器会定位未使用的对象并删除它们以确保内存空间。
    • Java 还通过一种称为异常处理的机制有效处理异常。
    • Java 也没有显式指针。
  5. 安全

    Java 是一门安全的编程语言,因为它的设计方式使其可以在分布式环境中运行,而不必担心受到入侵者或不可信方的攻击。

    使 Java 成为最安全语言的是编译后生成的字节码。字节码接近机器语言,人类无法阅读。因此,被任何第三方修改的可能性微乎其微。

    此外,Java 程序总是在沙箱(JRE)中运行,与操作系统的互连极少或没有,从而防止了不可信来源的入侵,因此被广泛用于开发无病毒和防篡改的应用程序。

  6. 架构中立
    Key Features of Java

    为了在异构网络环境中部署基于 Java 的应用程序,设计了 Java 字节码——一种架构中立的中间格式。从图中可以很清楚地看到,Java 源代码被 Java 编译器转换成 Java 字节码。这种中间代码可以有效地传输到各种硬件和软件平台。

  7. 可移植

    Java 技术的另一个与架构中立性紧密相关的突出特性是可移植性(平台无关性),这意味着在一个平台上编写的程序或代码可以无需任何更改(或只需极少更改)就在另一个平台上运行。

    同时体现了架构中立性和可移植性的重要组件是 JVM(Java 虚拟机)。顾名思义,它像一个虚拟平台一样运作,为特定的硬件和软件平台执行特定的实现。请参考架构中立部分给出的图表。

  8. 高性能 

    Java 技术具有高度的性能。通过一种策略,即解释器可以全速运行而无需担心运行时环境检查,从而始终保证出色的性能。自动垃圾回收器保证了在需要时内存的可用性,这有助于提高性能。

  9. 解释型

    编译器的参与使 Java 成为一种编译型语言,其中 Java 源代码被转换为一种称为字节码的机器指令。同样,作为解释器服务的 JVM 的介入,使 Java 成为一种解释型语言。JVM 获取字节码并在真实计算机上执行它。

  10. 多线程  

    多线程是 Java 语言的一个重要特性。它简单地意味着一次做多件事情。一个多线程的 Java 应用程序可以同时运行两个或更多的线程,从而实现 CPU 的最大利用率和为最终用户提供高度的交互性。

  11. 动态 

    Java 语言被认为是动态的,因为尽管编译器在其静态类型检查上毫不妥协,但语言及其运行时系统在链接阶段是动态的。更具体地说,任何在运行时发生的事情都被认为是动态的,在 Java 中,可以按需链接和加载类、代码模块,甚至可以从网络上加载交互式可执行代码。

从 C 和 C++ 中舍弃的特性

为了实现 Java 编程语言的简单性,设计者们移除了许多导致冗余和不确定性的特性。从 C 和 C++ 中移除的那些不确定的特性列举如下

Java 有

  • 没有预处理器,没有 typedef,也没有
  • 没有像结构体、联合体和枚举这样的复杂数据类型
  • 没有指针数据类型
  • 没有函数
  • 没有多重继承
  • 没有运算符重载
  • 没有 Goto 语句
  • 没有自动强制转换
     

Java 应用

Java 令人难以置信的特性使其成为“所有编程语言之王”,在技术的各个方面都极其受欢迎,无论是在桌面应用、Web 开发还是大数据分析中。自推出以来,Java 一直被选为顶级的编程语言,直到现在。下面表格列出了在 Java 上运行的十大顶尖应用及其现实世界的例子。

序号 Java 应用 示例
1 桌面 GUI 应用 Acrobat Reader, ThinkFree
2 移动应用 Netflix, Google Earth, Uber
3 基于 Web 的应用 Amazon, Broadleaf
4 嵌入式系统 SIM 卡, 蓝光光盘播放器
5 应用服务器 WebSphere, WebLogic
6 Web 服务器 Apache Tomcat, Rimfax Web Server
7 企业应用 ERP, CRM
8 科学应用 Matlab
9 大数据应用 Hadoop, Apache HBase
10 软件工具 Eclipse, Net Beans

Java 不局限于特定领域,它在各个方面都开辟了自己的道路,因此依赖于 Java 的应用数不胜数。所以我们可以毫无疑问地说,无论对于绝对的初学者还是专业人士,JAVA 编程语言都是最佳选择。