动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

刨根问底—从Java语言定义深究Java

08-11 17:33 140浏览
举报 T字号
  • 大字
  • 中字
  • 小字

我们先来看Java语言的定义:Java是一种简单的,面向对象的,精通网络的,可解释的,健壮的,安全的,与体系结构无关的,可移植的,高性能,多线程,动态计算机语言。让我们认真考虑Java语言的每个定义,然后Java语言定义深究Java

Java是一种简单的语言

Java最初是使用C和C ++建模的,减去了一些潜在的令人困惑的功能,比如指针多个实现继承和运算符重载是Java之外的某些C / C ++功能。C / C ++中未强制要求但Java必需的功能是垃圾回收功能,它可以自动回收对象和数组

Java是一种面向对象的语言

Java的面向对象的焦点使开发人员可以适应Java以解决问题,而不是强迫我们处理问题以满足语言约束。这与C之类的结构化语言不同。作为示例,Java使可以专注于储蓄帐户对象,而C则需要分别考虑储蓄帐户状态(例如余额)和行为(例如存款和取款)。

Java是一种精通网络的语言

Java 丰富的网络库使处理HTTP(超文本传输协议)和FTP(文件传输协议)之类的传输控制协议/互联网协议(TCP / IP)网络协议变得容易,并且简化了建立网络连接的任务。此外,Java程序可以通过统一资源定位器(URL)通过TCP / IP网络访问对象,就像从本地文件系统访问对象一样容易。

Java是一种解释性语言

在运行时,Java程序通过虚拟机(假设的平台的软件表示)和关联的执行环境在底层平台(例如Windows或Linux)上间接执行。虚拟机通过解释将Java程序的字节码(指令和关联的数据)转换为特定于平台的指令。解释是弄清楚字节码指令的含义,然后选择等效的“固定”平台特定指令来执行的动作。然后,虚拟机将执行这些特定于平台的指令。

解释使Java程序调试错误更加容易,因为在运行时可以获得更多的编译时信息。解释还可以将Java程序之间的链接步骤延迟到运行时为止,这可以加快开发速度。

Java是一种健壮的语言

Java程序必须可靠,因为它们用于从Blu-ray播放器到车辆导航或空中控制系统的消费类和关键任务应用程序中。帮助Java变得强大的语言功能包括声明,在编译时和运行时进行重复类型检查(以防止版本不匹配问题),具有自动边界检查功能的真实数组以及省略指针。

Java的健壮性的另一个方面是,循环必须由布尔表达式而不是整数表达式(其中0为false和非零值)来控制。例如,Java不允许出现C风格的循环,例如while (x) x++;因为循环可能不会在预期的地方结束。取而代之的是,必须显式提供一个布尔表达式,例如while (x != 10) x++;(这意味着循环将运行到x等于10)。

Java是一种安全的语言

Java程序用于联网/分布式环境。由于Java程序可以迁移到网络的各种平台上并在网络的各种平台上执行,因此保护这些平台免受可能传播病毒,窃取信用卡信息或执行其他恶意行为的恶意代码很重要。支持健壮性(如省略指针)的Java语言功能可与安全功能(如Java沙箱安全模型和公共密钥加密)一起使用。这些功能共同防止病毒和其他危险代码在毫无戒心的平台上造成严重破坏。

从理论上讲,Java是安全的。实际上,已经检测出了并被利用了各种安全漏洞。现状就是,当时的Sun Microsystems和Oracle现在继续发布安全更新。

Java是与体系结构无关的语言

网络基于各种微处理器和操作系统将具有不同体系结构的平台连接起来不能期望Java生成特定于平台的指令,并使这些指令被网络中各种平台“理解”。取而代之的是,Java生成与平台无关的字节码指令,每个平台都易于理解(通过JVM的实现)。

Java是一种可移植的语言

架构中立有助于可移植性。但是,与平台无关的字节码指令相比,Java的可移植性更多。考虑到整数类型的大小不能改变。例如,无论在何处处理32位整数(例如,具有16位寄存器的平台,具有32位寄存器的平台或平台),都必须始终对32位整数类型进行签名并占用32位。与64位寄存器)。Java的库也有助于可移植性。必要时,它们提供了类型,这些类型以最可移植的方式将Java代码与特定于平台的功能连接起来。

Java是一种高性能语言

解释产生的绩效水平通常绰绰有余。对于非常高性能的应用程序场景,Java使用即时编译,该编译可以分析解释的字节码指令序列,并将经常解释的指令序列编译为平台特定的指令。随后尝试解释这些字节码指令序列将导致执行等效的平台特定指令,从而提高性能。

Java是一种多线程语言

为了提高必须一次完成多个任务的程序的性能,Java支持线程执行的概念。例如,在等待来自网络连接的输入时管理图形用户界面(GUI)的程序使用另一个线程来执行等待,而不是对这两个任务都使用默认的GUI线程。这样可以使GUI保持响应状态。Java的同步原语允许线程在它们之间安全地通信数据而不会破坏数据。(请参阅Java 101系列中其他地方讨论的Java 线程编程。)

Java是一种动态语言

由于程序代码和库之间的互连是在运行时动态发生的,因此无需显式链接它们。结果,当某个程序或其一个库发展时(例如,为了修复错误或提高性能),开发人员只需要分发更新的程序或库。尽管动态行为导致发生版本更改时要分发的代码较少,但是此分发策略也可能导致版本冲突。例如,开发人员从库中删除类类型,或对其重命名。当公司分发更新的库时,依赖于类类型的现有程序将失败。为了大大减少此问题,Java支持接口类型,就像两方之间的合同一样。

彻底弄清楚定义会教会我们很多有关Java的知识。最重要的是,它揭示了Java实际上既是语言又是平台的事实,这无疑为我们将来学好学精Java打下了坚实的基础。

0人推荐
共同学习,写下你的评论
0条评论
爱读书的姑娘
程序员爱读书的姑娘

12篇文章贡献56281字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消