JAVA语言介绍是什么

JAVA语言介绍是什么,第1张

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。

Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java的特点:

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点;下面我们来具体介绍一下:

1、简单性

Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的 *** 作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。

2、面向对象

Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

3、分布性

Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。

4、编译和解释性

Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。

5、稳健性

Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

6、安全性

Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。

7、可移植性

Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。

Java环境本身对新的硬件平台和 *** 作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。

8、高性能

Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。

Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。

9、多线程

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:

1)、使用型构为Thread(Runnable)的构造子类将一个实现了Runnable接口的对象包装成一个线程,

2)、从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

10、动态性

Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

11、平台独立性

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

第一步(编译): 创建完源文件之后,程序会先被编译为class文件。Java编译一个类时,如果这个类所依赖的类还没有被编译,编译器就会先编译这个被依赖的类,然后引用,否则直接引用,这个有点象make。

如果java编译器在指定目录下找不到该类所其依赖的类的class文件或者java源文件的话,编译器话报“cant find symbol”的错误。

第二步(运行):java类运行的过程大概可分为两个过程:1、类的加载 2、类的执行。需要说明的是:JVM主要在程序第一次主动使用类的时候,才会去加载该类。也就是说,JVM并不是在一开始就把一个程序就所有的类都加载到内存中,而是到不得不用的时候才把它加载进来,而且只加载一次。

特别说明:java类中所有public和protected的实例方法都采用动态绑定机制,所有私有方法、静态方法、构造器及初始化方法<clinit>都是采用静态绑定机制。而使用动态绑定机制的时候会用到方法表,静态绑定时并不会用到。

扩展资料:

Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程。

Java代码编译:是由Java源码编译器来完成;

Java字节码的执行:是由JVM执行引擎来完成

Java程序从源文件创建到程序运行要经过两大步骤:

1、源文件由编译器编译成字节码(ByteCode)

2、字节码由java虚拟机解释运行。因为java程序既要编译同时也要经过JVM的解释运行,所以说Java被称为半解释语言( "semi-interpreted" language)。

它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。如果再加上万维网和公司内部网体系,你将会拥有一个标准的网络计算环境,Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。

如果在商业角度看待Java,Java是个时髦话。同不少已经有20年历史的其他程序设计语言相比,Java吸收了计算机科学领域的各种最新成果,另外一方面,由于Java还比较年轻,它缺少诸如Visual Basic 或C++那样的丰富的编程工具的支持。

同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。运行Java,不必非得在网络环境中进行,Java同其他传统的诸如COBOL或 Basic这样的程序设计语言一样,可以创建独立运行的应用程序。只不过Java对互联网上的应用开发更拿手。

Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,可以让Java在任何机器上运行,比如有运行在Mac或 UNIX下的虚拟机软件包。虚拟机并不是Java语言本身,它是个为特定机器编写的解释器软件。Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。

要称作一个通用的计算机语言,Java是最适合不过的,这意味着它可以在所有的计算机上运行,(尽管需要为各种机器编写Java虚拟机软件),可以根据需要提供软部件,并且具有内在的安全机制。

用Java编写的 *** 作系统,称为JavaOS,是个基于语言的 *** 作系统,它看起来似乎没有机会来占据PC市场。但是它为Microsoft Windows和MacOS未来的发展提供了线索。它也许将来会应用到各种仪器设备中,包括电视遥控器和温控器。

基于网络的内容供应商对Java技术很感兴趣,因为它增加了交互性和动画功能,这是吸引观众的关键因素。对于软件商来说, Java有希望可以让人们采用租用软件的方式,诸如字处理器或者电子表格软件,而无需购买软件,这就改变了目前的商业模式。

Java编译原理:

Java 虚拟机(JVM)是可运行Java 代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。

一Java源文件的编译、下载 、解释和执行

Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。Java编译程序将Java源程序翻译为JVM可执行代码字节码。这一编译过程同C/C++ 的编译有些不同。当C编译器编译生成一个对象的代码时,该代码是为在某一特定硬件平台运行而产生的。因此,在编译过程中,编译程序通过查表将所有对符号的引用转换为特定的内存偏移量,以保证程序运行。Java编译器却不将对变量和方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。这样就有效的保证了Java的可移植性和安全 性。

运行JVM字节码的工作是由解释器来完成的。解释执行过程分三部进行:代码的装入、代码的校验和代码的执行。装入代码的工作由"类装载器"(class loader)完成。类装载器负责装入运行一个程序需要的所有代码,这也包括程序代码中的类所继承的类和被其调用的类。当类装载器装入一个类时,该类被放在自己的名字空间中。除了通过符号引用自己名字空间以外的类,类之间没有其他办法可以影响其他类。在本台计算机上的所有类都在同一地址空间内,而所有从外部引进的类,都有一个自己独立的名字空间。这使得本地类通过共享相同的名字空间获得较高的运行效率,同时又保证它们与从外部引进的类不会相互影响。当装入了运行程序需要的所有类后,解释器便可确定整个可执行程序的内存布局。解释器为符号引用同特定的地址空间建立对应关系及查询表。通过在这一阶段确定代码的内存布局,Java很好地解决了由超类改变而使子类崩溃的问题,同时也防止了代码对地址的非法访问。

随后,被装入的代码由字节码校验器进行检查。校验器可发现 *** 作数栈溢出,非法数据类型转化等多种错误。通过校验后,代码便开始执行了。

Java字节码的执行有两种方式:

1即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码。

2解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有 *** 作。

通常采用的是第二种方法。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作

具有较高的效率。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能。

用给定密钥对文件进行加密,然后用对话框形式输出明文和密文

Text类

读三个String: code里放的密钥,originalText放明文,encryptedText放密文要求密钥定长26个字符

下面的get/set方法就不说了``

readText()里从文件里一行一行地读文本到临时变量text里,然后在最后处理一些格式上的问题,将text返回

这个函数在Text的构造函数里被调用了两次,分别将明文和密钥读进上面讲到变量中

接下来才是主要的:

encrypt()是对明文进行加密的函数

一个循环,对明文中的每一个字符进行如下 *** 作:

首先,判断当前字符是不是大写 big

获得当前字符的小写形式在字母表中(注意是字母表中,不是明文中)的位置,比如a的位置是0,z的位置是25

如果这个位置>-1(说明这个字符不是其他类型的字符,比如'&'什么的,即是说,这个字符是26个字母中的一个),那就用密钥中,相同位置处的字符替换之,如果原来是大写就用大写替换,如果原来是小写,无所谓然后,将结果追加到密文中

如果这个位置不是>-1的,那就直接将结果追加到密文中

然后,就是将这个结果输出到一个文件里面了

//将加密后的结果输出到文件

FileWriter resultConnection = new FileWriter(resultFileName, false);

PrintWriter resultWriter = new PrintWriter(

new BufferedWriter(resultConnection));

resultWriterprint(encryptedText);

resultWriterclose();

InputReader 类

一些辅助方法,处理输入的

inputText()的作用是d个框框来,让你输输文件名如果没有输文件名或者输了一堆的空格就点确定了,警告一下```这个函数在主函数里面调用的

inputInteger和inputDecimalNumeral是用来解析输入的字符串为整数和浮点的~MS,这个程序里还没用到``

下面有组测试,比如给的密文里只有S的位置变成了U其他的没变,于是,替换后的结果s/S都变成了U

Java手机软件平台采用的基本Java平台是CLDC (Connected Limited Device Configuration)和MIDP (Mobile Information Device Profile),是J2ME (Java 2 Micro Edition)的一部分,在中国一般称为“无线Java”技术。此前,有人把它叫做“K-Java”;其实,K-Java的叫法只是Sun公司在开发 KVM Java虚拟机时的项目代号,在该技术被正式命名为KVM后,就不再用K-Java了。

Java技术的开放性、安全性和庞大的社会已有资源,以及其跨平台性,即“编写一次,到处运行”的特点,使Java技术成为智能手机软件平台的事实标准。

Java,是一种可以编写跨平台应用软件的面向对象的程序设计语言,由升阳(太阳微电子,Sun Microsystems)公司的James Gosling等人于1990年代初开发

参考资料:

zhwikipediaorg/wiki/Java

Java好象随处可见 - 甚至在TV中。尽管如此,说清楚Java是什

么和它能做什么却不那么容易。刚开始接触Java的人通常有三

个问题:

什么是Java?

Java能做什么?

Java怎样改变我的生活?

让我们先回答第一个问题:什么是Java?

Java既是一种编程语言,又是一个平台。

Java程序语言

Java是具有以下特征的高级程序语言:

简单

面向对象

可分布

可解释

强壮

安全性

结构化

轻便

功能强大

多线程

动态

Java既可以被编译,也可以被解释。通过编译器,可以把Java

程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器

解释的独立于平台的代码。通过解释器,每条Java字节指令被

分析,然后在计算机上运行。只需编译一次,程序运行时解释

执行。下图说明了它是如何工作的:

1flowgif (3652 bytes)

可以把Java字节码看作运行在Java虚拟机(Java VM)上的机器

代码指令。每中Java解释器,不管是Java开发工具还是可以运

行Java小应用程序的Web浏览器,都是一种Java VM的实例。Java

VM也可以由硬件实现。

Java字节码使“写一次,到处运行”成为可能。可以在任何有

Java编译器的平台上把Java程序编译成字节码。这个字节码可以

运行在任何Java VM上。例如,同一个Java程序可以运行在Windows

NT、Solaris和Macintosh上。

2compgif (6076 bytes)

Java平台

平台是程序运行的硬件或软件环境。Java平台与大多数其它平台

不同之处在于它是运行于其它基于硬件平台的纯软件平台。大

多数其它平台是硬件和 *** 作系统的结合。

Java平台由两部分组成:

Java虚拟机(Java VM)

Java应用程序界面(Java API)

我们已经介绍了Java VM,它是Java平台的基础,可以移植到各

种基于硬件的平台上。

Java API是软件组件的集合,它们提供了很多有用的功能,如图

形用户界面(GUI)。Java API被分组为相关组件的库(包)。

下图描述了一个运行在Java平台上的Java程序,如应用程

序(application)或小应用程序(applet)。如图中显示的,Java

API和VM把Java程序从硬件依赖中分离出来。

3playgif (1479 bytes)

作为一种独立于平台的环境,Java比本地代码慢一些。然而,聪

明的编译器、很好地调制过的解释器和即时字节码编译器可以

在不牺牲可移植性的条件下使Java的表现接近本地代码。

以上就是关于JAVA语言介绍是什么全部的内容,包括:JAVA语言介绍是什么、简述JAVA程序的编辑编译和运行过程、什么是JAVA程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9769473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存