每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文怎么写才能发挥它最大的作用呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧
java语言的特点篇一
学习java语言,不仅要了解java语言特点,同时还要有程序设计基础和面向对象的概念。下面java语言的11大特点你知道吗?一起来看看。
java 语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c++中很少使用的、很难理解的、令人迷惑 的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。java语言全面支持动态绑定,而c++语言只对虚函数使用动态绑定。总之,java语言是 一个纯的面向对象程序设计语言。
java 语言支持internet应用的.开发,在基本的java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包 括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。
java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。
java 通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以 外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安 全管理机制(类securitymanager)让java应用设置安全哨兵。
java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
这种可移植性来源于体系结构中立性,另外,java还严格规定了各个基本数据类型的长度。java系统本身也具有很强的可移植性,java编译器是用java实现的,java的运行环境是用ansi c实现的。
如前所述,java程序在java平台上被编译为字节码格式,然后可以在实现这个java平台的任何系统中运行。在运行时,java平台中的java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c++。
在 java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 thread(runnable)的构造子将一个实现了runnable接口的对象包装成一个线程,其二,从thread类派生出子类并重写run方法, 使用该子类创建的对象即为线程。值得注意的是thread类已经实现了runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含 了线程所要运行的代码。线程的活动由一组方法来控制。java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。
java语言的设计目标之一是适应于动态变化的环境。java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
java语言的特点篇二
java是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。下面小编整理了java语言的特点,希望对大家有帮助!
java 语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
java 语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。java语言全面支持动态绑定,而c++语言只对虚函数使用动态绑定。总之,java语言是 一个纯的面向对象程序设计语言。
java 语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包 括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。
java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。
java 通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵。
java程序(后缀为java的文件)在java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
如前所述,java程序在java平台上被编译为字节码格式,然后可以在实现这个java平台的任何系统中运行。在运行时,java平台中的java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
与那些解释型的高级脚本语言相比,java的确是高性能的。事实上,java的.运行速度随着jit(just-in-time)编译器技术的发展越来越接近于c++。
在 java语言中,线程是一种特殊的对象,它必须由thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为thread(runnable)的构造子将一个实现了runnable接口的对象包装成一个线程,其二,从thread类派生出子类并重写run方法, 使用该子类创建的对象即为线程。值得注意的是thread类已经实现了runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含 了线程所要运行的代码。线程的活动由一组方法来控制。java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
java语言的设计目标之一是适应于动态变化的环境。java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
java语言的特点篇三
1.简单性
java看起来设计得很像c++,但是为了使语言小和容易熟悉,设计者们把c++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,java不支持go to语句,代之以提供break和continue语句以及异常处理。java还剔除了c++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为java没有结构,数组和串都是对象,所以不需要指针。java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2.面向对象
java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。java程序是用类来组织的。
java还包括一个类的扩展集合,分别组成各种程序包(package),用户可以在自己的程序中使用。例如,java提供产生图形用户接口部件的类(包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(包)和支持网络功能的类(包)。
3.分布性
java设计成支持在网络上应用,它是分布式语言。java既支持各种层次的网络连接,又以socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。java程序只要编写一次,就可到处运行。
4.编译和解释性
java编译程序生成字节码(byte-code),而不是通常的机器码。java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。java程序可以在任何实现了java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
5.稳健性
java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。java消除了某些编程错误,使得用它写可靠软件相当容易。
java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。java要求显式的方法声明,它不支持c风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。
可靠性方面最重要的增强之一是java的存储模型。java不支持指针,它消除重写存储和讹误数据的可能性。类似地,java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
异常处理是java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
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是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。java的lang包提供一个thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。
java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。
10.动态性
java语言设计成适应于变化的环境,它是一个动态的语言。例如,java中的类是根据需要载入的,甚至有些是通过网络获取的。
java语言的特点篇四
1) java的风格类似于c++,因而c++程序员是非常熟悉的。从某种意义上讲,java语言是c及c++语言的一个变种,因此,c++程序员可以很快就掌握java编程技术。
2) java摒弃了c++中容易引发程序错误的地方,如指针和内存管理。
3) java提供了丰富的类库。
2.面向对象
面向对象可以说是java最重要的特性。java语言的设计完全是面向对象的,它不支持类似c语言那样的面向过程的程序设计技术。java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,java类似于small talk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了small talk。
3.分布式
java包括一个支持http和ftp等基于tcp/ip协议的子库。因此,java应用程序可凭借url打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。为分布环境尤其是internet提供的动态内容无疑是一项非常宏伟的任务,但java的语法特性却使我们很容易地实现这项目标。
4.健壮
java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。java自已操纵内存减少了内存出错的可能性。java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大缩短了开发java应用程序的周期。java提供null指针检测数组边界检测异常出口字节代码校验。
5.结构中立
另外,为了建立java作为网络的一个整体,java将它的程序编译成一种结构中立的中间文件格式。只要有java运行系统的机器都能执行这种中间代码。现在,java运行系统有solaris2.4(sparc),win32系统(windows95和windowsnt)源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。
6.安全
java的安全性可从两个方面得到保证。一方面,在java语言里,象指针和释放内存等c++功能被删除,避免了非法内存操作。另一方面,当java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。
7.可移植的
这句话一直是java程序设计师们的精神指标,也是java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是jvm的技术。大多数编译器产生的目标代码只能运行在一 种cpu上(如intel的x86系列),即使那些能支持多种cpu的编译器也不能同时产生适合多 种cpu的目标代码。如果你需要在三种cpu( 如x86、sparc 和mips)上运行同一程序, 就必须编译三次。
但java编译器就不同了。java编译器产生的目标代码(j-code) 是针对一种并不 存在的cpu--java虚拟机(java virtual machine),而不是某一实际的cpu。java虚拟机能掩盖不同cpu之间的差别,使j-code能运行于任何具有java虚拟机的机器上。
虚拟机的概念并不ava 所 特 有 的:加州大学几年前就提出了pascal虚拟机的概念;广泛用于unix服务器的perl脚本也是产生与机器无关的中间代码用于执行。但针对internet应用而设计的java虚拟机的特别之处在于它能产生安全的不受病毒威胁的目标代码。正是由于internet对安全特性的特别要求才使得jvm能够迅速被人们接受。 当今主 流的操作系统如os/2、macos、windows95/nt都已经或很快提供对j-code的支持。
作为一种虚拟的cpu,java 虚拟机对于源代码(source code) 来说是独立的。我们不仅可以用java语言来生成j-code,也可以用ada95来生成。事实上,已经有了针对若干种源代码的j-code 编译器,包括basic、lisp 和forth。源代码一经转换成j-code以后,java虚拟机就能够执行而不区分它是由哪种源代码生成的。这样做的结果就是cpu可移植性。 将源程序编译为j-code的好处在于可运行于各种机器上,而缺点是它不如本机代码运行的速度快。
同体系结构无关的特性使得java应用程序可以在配备了java解释器和运行环境的任何计算机系统上运行,这成为java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。例如在windows3.1中整数(integer)为16bits,在windows95中整数为32bits,在decalpha中整数为64bits,在intel486中为32bits。通过定义独立于平台的基本数据类型及其运算,java数据得以在任何硬件平台上保持一致。java语言的基本数据类型及其表示方式如下:byte8-bit二进制补码short16-bit二进制补码int32-bit二进制补码long64-bit二进制补码float32-bitieee754浮点数double32-bitieee754浮点数char16-bitunicode字符在任何java解释器中,数据类型都是依据以上标准具体实现的。因为几乎目前使用的所有cpu都能支持以上数据类型、8~64位整数格式的补码运算和单/双精度浮点运算。java编译器本身就是用java语言编写的。java运算系统的编制依据posix方便移植的限制,用ansic语言写成。java语言规范中也没有任何"同具体实现相关"的内容。
8.解释的
java解释器(运行系统)能直接运行目标代码指令。链接程序通常比编译程序所需资源少,所以程序员可以在创建源程序上花上更多的时间。
9.高性能
如果解释器速度不慢,java可以在运行时直接将目标代码翻译成机器指令。sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与c/c++的性能没什么区别。
10.多线程
多线程功能使得在一个程序里可同时执行多个小任务。线程--有时也称小进程--是一个大进程里分出来的小的独立的进程。因为java实现的多线程技术,所以比c和c++更键壮。多线程带来的更大的好处是更好的交互性能和实时控制性能。当然实时控制性能还取决于系统本身(unix,windows,macintosh等),在开发难易程度和性能上都比单线程要好。任何用过当前浏览器的人,都感觉为调一副图片而等待是一件很烦恼的事情。在java里,你可用一个单线程来调一副图片,而你可以访问html里的其它信息而不必等它。
11.动态
java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是c++语言进行面向对象程序设计所无法实现的。在c++程序设计过程中,每当在类中增加一个实例变量或一种成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。java从如下几方面采取措来解决这个问题。java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。这样,一个在存储器生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定的。这样,对类中的变量和方法进行更新时就不至于影响现存的代码。解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。java还简化了使用一个升级的或全新的协议的方法。如果你的系统运行java程序时遇到了不知怎样处理的程序,没关系,java能自动下载你所需要的功能程序。四.与c和c++语言的异同 java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。c++安全性不好,但c和c++还是被大家所接受,所以java设计成c++形式,让大家很容易学习。java去掉了c++语言的许多功能,让java的语言功能很精炼,并增加了一个很有用的功能,java去掉了以下几个c和c++功能和特征:指针运算结构typedefs#define需要释放内存全局变量的定义这个功能都是很容易引起错误的地方。
12. unicode
java使用unicode作为它的标准字符,这项特性使得java的程序能在不同语言的平台上都能撰写和执行。简单的说,你可以把程序中的变量、类别名称使用中文来表示注,当你的程序移植到其它语言平台时,还是可以正常的执行。java也是目前所有计算机语言当中,唯一天生使用unicode的语言。
java语言的特点篇五
想要学好java,首先要先了解这个语言的编程特点。也存在很多编程特点,分享5个最常见的java语言特点。
java语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。java培训讲师表示,java语言全面支持动态绑定,而c++语言只对虚函数使用动态绑定。总之,java语言是一个纯的`面向对象程序设计语言。
java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。
java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。
java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。java培训讲师表示,除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵。
java的语言的特点特性很多,以上只是取其很小的部分为大家作为参考列举。
java语言的特点篇六
java是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。下面小编为大家介绍的是java语言特点,欢迎阅读!
java看起来设计得很像c++,但是为了使语言小和容易熟悉,设计者们把c++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,java不支持go to语句,代之以提供break和continue语句以及异常处理。java还剔除了c++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为java没有结构,数组和串都是对象,所以不需要指针。java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。java程序是用类来组织的。
java还包括一个类的扩展集合,分别组成各种程序包(package),用户可以在自己的程序中使用。例如,java提供产生图形用户接口部件的类(包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(包)和支持网络功能的'类(包)。
java设计成支持在网络上应用,它是分布式语言。java既支持各种层次的网络连接,又以socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。java程序只要编写一次,就可到处运行。
java编译程序生成字节码(byte-code),而不是通常的机器码。java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。java程序可以在任何实现了java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。java消除了某些编程错误,使得用它写可靠软件相当容易。
java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。java要求显式的方法声明,它不支持c风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。
可靠性方面最重要的增强之一是java的存储模型。java不支持指针,它消除重写存储和讹误数据的可能性。类似地,java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
异常处理是java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
java的存储分配模型是它防御恶意代码的主要方法之一。java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的java代码中的存储引用在运行时由java解释程序决定实际存储地址。
java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准java类。
java使得语言声明不依赖于实现的方面。例如,java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由java语法描述)。
java环境本身对新的硬件平台和操作系统是可移植的。java编译程序也用java编写,而java运行系统用ansic语言编写。
java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,java设计者制作了“及时”编译程序,它能在运行时把java字节码翻译成特定cpu(中央处理器)的机器代码,也就是实现全编译了。
java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。
java是多线索语言,它提供支持多线索的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。java的lang包提供一个thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。
java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。
java语言设计成适应于变化的环境,它是一个动态的语言。例如,java中的类是根据需要载入的,甚至有些是通过网络获取的。
java语言的特点篇七
java是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解的多继承、指针等概念,下面是小编分享的java语言特点总结,一起来看一下吧。
java的简单首先体现在精简的系统上,力图用最小的系统实现足够多的功能;对硬件的要求不高,在小型的计算机上便可以良好的运行。和所有的新一代的程序设计语言一样,java也采用了面向对象技术并更加彻底,所有的java程序和applet程序均是对象,封装性实现了模块化和信息隐藏,继承性实现了代码的复用,用户可以建立自己的类库。而且java采用的是相对简单的面向对象技术,去掉了运算符重载、多继承的复杂概念,而采用了单一继承、类强制转换、多线程、引用(非指针)等方式。无用内存自动回收机制也使得程序员不必费心管理内存,是程序设计更加简单,同时大大减少了出错的可能。java语言采用了c语言中的大部分语法,熟悉c语言的程序员会发现java语言在语法上与c语言极其相似。
java语言在编译及运行程序时,都要进行严格的检查。作为一种强制类型语言,java在编译和连接时都进行大量的类型检查,防止不匹配问题的发生。如果引用一个非法类型、或执行一个非法类型操作,java将在解释时指出该错误。在java程序中不能采用地址计算的方法通过指针访问内存单元,大大减少了错误发生的可能性;而且java的数组并非用指针实现,这样就可以在检查中避免数组越界的发生。无用内存自动回收机制也增加了java的鲁棒性。
作为网络语言,java必须提供足够的安全保障,并且要防止病毒的侵袭。java在运行应用程序时,严格检查其访问数据的权限,比如不允许网络上的应用程序修改本地的数据。下载到用户计算机中的字节代码在其被执行前要经过一个核实工具,一旦字节代码被核实,便由java解释器来执行,该解释器通过阻止对内存的直接访问来进一步提高java的安全性。同时java极高的鲁棒性也增强了java的安全性。
网络上充满了各种不同类型的机器和操作系统,为使java程序能在网络的任何地方运行,java编译器编译生成了与体系结构无关的字节码结构文件格式。任何种类的计算机,只有在其处理器和操作系统上有java运行时环境,字节码文件就可以在该计算机上运行。即使是在单一系统的计算机上,结构中立也有非常大的作用。随着处理器结构的不断发展变化,程序员不得不编写各种版本的程序以在不同的处理器上运行,这使得开发出能够在所有平台上工作的软件集合是不可能的'。而使用java将使同一版本的应用程序可以运行在所有的平台上。
体系结构的中立也使得java系统具有可移植性。java运行时系统可以移植到不同的处理器和操作系统上,java的编译器是由java语言实现的,解释器是由java语言和标准c语言实现的,因此可以较为方便的进行移植工作。
虽然java是解释执行的,但它仍然具有非常高的性能,在一些特定的cpu上,java字节码可以快速的转换成为机器码进行执行。而且java字节码格式的设计就是针对机器码的转换,实际转换时相当简便,自动的寄存器分配与编译器对字节码的一些优化可使之生成高质量的代码。随着java虚拟机的改进和"即时编译"(just in time)技术的出现使得java的执行速度有了更大的提高。
为易于实现跨平台性,java设计成为解释执行,字节码本身包含了许多编译时生成的信息,使连接过程更加简单。而多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,互不干涉,不会由于某一任务处于等待状态而影响了其它任务的执行,这样就可以容易的实现网络上的实时交互操作。java在执行过程中,可以动态的加载各种类库,这一特点使之非常适合于网络运行,同时也非常有利于软件的开发,即使是更新类库也不必重新编译使用这一类库的应用程序。
a. 全局变量
java程序不能定义程序的全局变量,而类中的公共、静态变量就相当于这个类的全局变量。这样就使全局变量封装在类中,保证了安全性,而在c/c++语言中,由于不加封装的全局变量往往会由于使用不当而造成系统的崩溃。
b. 条件转移指令
c/c++语言中用goto语句实现无条件跳转,而java语言没有goto语言,通过例外处理语句try、catch、finally来取代之,提高了程序的可读性,也增强了程序的鲁棒性。
c. 指针
指针是c/c++语言中最灵活,但也是最容易出错的数据类型。用指针进行内存操作往往造成不可预知的错误,而且,通过指针对内存地址进行显示类型转换后,可以类的私有成员,破坏了安全性。在java中,程序员不能进行任何指针操作,同时java中的数组是通过类来实现的,很好的解决了数组越界这一c/c++语言中不做检查的缺点。
d. 内存管理
在c语言中,程序员使用库函数malloc()和free()来分配和释放内存,c++语言中则是运算符new和。再次释放已经释放的内存块或者释放未被分配的内存块,会造成系统的崩溃,而忘记释放不再使用的内存块也会逐渐耗尽系统资源。在java中,所有的数据结构都是对象,通过运算符new分配内存并得到对象的使用权。无用内存回收机制保证了系统资源的完整,避免了内存管理不周而引起的系统崩溃。
e. 数据类型的一致性
在c/c++语言中,不同的平台上,编译器对简单的数据类型如int、float等分别分配不同的字节数。例如:int在ibm pc上为16位,在vax-11上就为32位,导致了代码数据的不可移植。在java中,对数据类型的位数分配总是固定的,而不管是在任何的计算机平台上。因此就保证了java数据的平台无关性和可移植性。
f. 类型转换
在c/c++语言中,可以通过指针进行任意的类型转换,不安全因素大大增加。而在java语言中系统要对对象的处理进行严格的相容性检查,防止不安全的转换。
g. 头文件
在c/c++语言中使用头文件声明类的原型和全局变量及库函数等,在大的系统中,维护这些头文件是非常困难的。java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止非法的访问。同时,java中用import语句与其它类进行通信,以便访问其它类的对象。
h. 结构和联合
c/c++语言中用结构和联合来表示一定的数据结构,但是由于其成员均为公有的,安全性上存在问题。java不支持结构和联合,通过类把数据结构及对该数据的操作都封装在类里面。
i. 预处理
c/c++语言中有宏定义,而用宏定义实现的代码往往影响程序的可读性,而java不支持宏定义。
java语言的特点篇八
1、简单性
java看起来设计得很像c++,但是为了使语言小和容易熟悉,设计者们把c++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,java不支持goto语句,代之以提供break和continue语句以及异常处理。java还剔除了c++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为java没有结构,数组和串都是对象,所以不需要指针。java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2、面向对象
java是一个面向对象的语言。对程序员来说,这意味着要注意其中的数据和操纵数据的方法(method),而不是严格地用过程来思考。在一个面向对象的系统中,类(class)是数据和操作数据的方法的集合。数据和方法一起描述对象(object)的状态和行为。每一对象是其状态和行为的封装。类是按一定体系和层次安排的,使得子类可以从超类继承行为。在这个类层次体系中有一个根类,它是具有一般行为的类。java程序是用类来组织的。
java还包括一个类的扩展集合,分别组成各种程序包(package),用户可以在自己的程序中使用。例如,java提供产生图形用户接口部件的类(java、awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(java、io包)和支持网络功能的类(java、net包)。
3、分布性
java设计成支持在网络上应用,它是分布式语言。java既支持各种层次的网络连接,又以socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。java程序只要编写一次,就可到处运行。
4、编译和解释性
java编译程序生成字节码(byte-code),而不是通常的机器码。java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。java程序可以在任何实现了java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
5、稳健性
java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。java消除了某些编程错误,使得用它写可靠软件相当容易。
java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。java要求显式的方法声明,它不支持c风格的隐式声明。这些严格的要求保证编译程序能捕捉调用错误,这就导致更可靠的程序。
可靠性方面最重要的增强之一是java的存储模型。java不支持指针,它消除重写存储和讹误数据的可能性。类似地,java自动的“无用单元收集”预防存储漏泄和其它有关动态存储分配和解除分配的有害错误。java解释程序也执行许多运行时的检查,诸如验证所有数组和串访问是否在界限之内。
异常处理是java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
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是多线程语言,它提供支持多线程的执行(也称为轻便过程),能处理不同任务,使具有线索的程序设计很容易。java的lang包提供一个thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。
java的线索支持也包括一组同步原语。这些原语是基于监督程序和条件变量风范,由c、a、r、haore开发的广泛使用的同步化方案。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。
10、动态性
java语言设计成适应于变化的环境,它是一个动态的语言。例如,java中的类是根据需要载入的,甚至有些是通过网络获取的。
java语言的特点篇九
java是一门面向对象编程语言,不仅吸收了c++语言的各种优点,还摒弃了c++里难以理解的多继承、指针等概念,想要学好java,首先要先了解这个语言的编程特点。
java语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用java。另一方面,java丢弃了c++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的.单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。java培训讲师表示,java语言全面支持动态绑定,而c++语言只对虚函数使用动态绑定。总之,java语言是一个纯的面向对象程序设计语言。
java语言支持internet应用的开发,在基本的java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括url、urlconnection、socket、serversocket等。java的rmi(远程方法激活)机制也是开发分布式应用的重要手段。
java的强类型机制、异常处理、废料的自动收集等是java程序健壮性的重要保证。对指针的丢弃是java的明智选择。java的安全检查机制使得java更具健壮性。
java通常被用在网络环境中,为此,java提供了一个安全机制以防恶意代码的攻击。java培训讲师表示,除了java语言具有的许多安全特性以外,java对通过网络下载的类具有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵。

一键复制