当前位置: 首页 > 图灵资讯 > 技术篇> 10个java语言基本术语的介绍

10个java语言基本术语的介绍

来源:图灵教育
时间:2023-03-24 10:11:42

Java的设计师已经编写了非常有影响力的作品“白皮书”,在这个“白皮书”本文解释了设计的初衷和完成情况,并在摘要中提出了10个java语言基本术语,下面给出白皮书中的每一个java语言基本术语的概述是java零基础新手朋友们对这些术语给出了理解。

1、简单性

人们希望建立一个编程系统,不需要深奥的专业培训,并符合今天的标准实践。因此,尽管人们发现C++它不适用,但在设计java时,它仍然尽可能接近C++,以便易于理解系统历史。Java消除了C++中很少使用、难以理解和混淆的许多特性。目前,这些特性带来的麻烦远远大于好处。

的确,java语法是C++语法之一“纯净”版本。这里没有头文件,指针操作(甚至指针语法)、结构、联合、操作符重载、虚基等。然而,设计师并没有试图去除C++中所有不恰当的特征。例如,java中switch语句的语法没有改变。如果你熟悉C++,你会发现它可以很容易地转换成java。

2、面向对象性

简单地说,面向对象的设计是一种程序设计技术,它专注于数据(即对象)和对象的接口。用木匠做一个例子,一个“面向对象的”木匠总是关注制作的椅子,第二个是使用的工具;一个“非面向对象”木匠首先考虑的是所使用的工具。本质上,java的面向对象能力与C++相同。

3、分布式

Java 有一个用于处理图像的扩展例程库HTTP协议TCP/像FTP这样的TCP/IP 协议。Java应用程序可以像访问本地文件系统一样,通过URL打开和访问网络上的对象。Java网络能力强,使用方便,人们已经看到。任何曾经试图使用其他语言进行网络编程的人都会惊呼Java使得像打开socket连接这样繁重的任务变得如此简单。此外,远程调用机制使分布式对象能够通信。

现在有一个独立的系统结构,Java 企业版(J2EE),它支持大规模分布式应用。

4、健壮性

这一特点非常有用。 Java编译器可以检测到许多只能在其他语言中运行时才能检测到的问题。至于第二点,对于那些花了几个小时检查指针错误引起的内存冲突的人来说,他们必须非常喜欢Java的特征。

假如曾经只用过Visual 像Basic这样没有显式指针的语言,会觉得这样说似乎有些小题大做。然而, 程序员就没那么幸运了。他们需要使用指针来访问串、数组、对象,甚至文件。Visual 在Basic中,没有必要使用指针来访问这些实体,也没有必要关心内存分配。另一方面,许多数据结构很难在没有指针的语言中实现。Java有双方的优势。它不需要使用串、数组等指针结构。如果需要,也可以有指针能力,比如链表。 Java绝对安全,因为它永远不会存取一个“坏的”指针导致内存分配错误,无需防止内存泄漏。

5、安全性

Java适用于网络/分布式环境。为了实现这一目标,我们在安全方面投入了大量精力。Java可用于构建防病毒和防篡改系统。

从一开始, Java被设计成防止各种攻击,包括:(1)禁止堆栈溢出。例如,蠕虫和其他病毒常用的攻击手段;(2)禁止在自己的处理空间之外损坏内存;(3)未经授权禁止阅读和撰写文件。

许多安全特征不断被加入java中。自从Java 1.1 问世以来java有数字签名类( digitally signed class)概念。类的作者可以通过数字签名类来确定。如果你信任这类作者,这类作者可以在你的机器上拥有更多的权限。

6、中立的系统结构

只要有编译代码,编译器就会生成系统结构中立的目标文件格式当java运行时,系统可以通过生成与特定计算机系统结构无关的字节码指令,在许多处理器上运行java编译器。精心设计的字节码不仅可以在任何机器上轻松解释和执行,还可以快速翻译本地机器的代码。

7、可移植性

C++和C不同,Java 规范中没有“依靠具体实现”明确说明了基本数据类型的大小和相关算法。

例如,java中的int总是32位的整数,而C//C++int可能是16位整数,32位整数,也可能是编译器提供商指定的其他大小。唯一的限制是int类型的尺寸不能低于short int ,不能高于long int,在java中,数据类型具有固定的尺寸,消除了代码移植中头痛的主要问题。二进制数据以固定的格式存储和传输,消除了字节顺序的麻烦。使用标准Unicode字符串 格式存储。

对于许多应用问题来说,可移植性比花枝招展的用户界面更重要。而这些应用程序从java的早期版本受益匪浅。现在,用户界面工具箱已经完全重写,不再依赖于主机的用户界面。现在的java版本比早期版本更稳定、更有吸引力。

8、解释型

java解释器可以在任何移植解释器的机器上执行java字节码。由于链接是一个历史增长和简单的过程,开发过程变得更快、更具探索性。

增量链接有其优势,但对开发过程的好处显然是言过其实的。在任何情况下,你都会觉得java开发工具相当慢。如果你习惯了经典的Microsoft Visual C++环境的速度会让java开发环境的性能失望。(但是, Visual Studio 目前的版本不像经典环境那么快。无论你用什么语言编写程序,你都需要向老板申请更快的计算机来运行最新的开发环境。)

9、高性能

使用解释器执行字节码是不可能的“高性能”。然而,在许多平台上,还有另一种编译形式,即即即即时编译器(JIT编译器)。它的基本工作方法是一次将字节码编译成本地代码,并缓存结果。必要时重新调用。因为这种方法只需要解释一次,从而大大提高了常用代码的运行速度。虽然即时编译器仍然比真正的本地代码编译器慢,但它可以改进一些程序 速度是10倍甚至20倍,几乎在任何情况下都是如此 它们都比解释器快得多。该技术一直在不断完善,也许有一天它能达到传统编译系统无与伦比的性能。例如,即时编译器可以监控哪些代码被频繁执行并优化,以提高程序的运行速度。

10、多线程

多线程可以带来更好的交互响应和实时行为(behavior)。

如果使用其他语言编写多线程应用程序,它将是正确的Java 多线程处理的便利性令人惊叹。java中的线程可以使用多个处理器,只要操作系统支持。在底层,主流平台的线程实现机制不同,java没有花太多精力实现平台无关。在不同的机器上,调用多线程的代码完全相同;java将多线程的实现交给底层操作系统或线程库。尽管如此,多线程的简单性是Java成为服务器端开发语言的主要原因之一。

以上是Java语言基本术语的概述和介绍不仅是Java语言的基本术语,也是Java的特点。因此,在理解了以上内容后,您将对Java语言有更深入的了解,并在未来学习java培训课程时间会更得心应手。