`

Java的特点

    博客分类:
  • java
阅读更多
Java是一种简单、动态、面向对象、分布式、解释执行、健壮、安全、结构中立、可移植、高效能、具有多线程能力的新一代语言。
Java是一种简单的语言
  Java删除了许多极少被使用、不容易理解和容易令人混淆的C++功能。剔除的功能主要包括运算符重载、多重继承以及广泛的自动强迫同型。与C++相比,Java语言也提供重载函数,不过它重载的对象是函数而非变量或是运算符。
  Java还增加了自动内存收集功能,从而简化了Java程序的工作,不过同时也让系统变得稍微复杂了一些。
  Java的目标之一是要协助开发能独立地在小型机器上顺利执行的软件。Java的基本解释器和对象类支持约占40KB空间,而若增加基本的标准程序库和线程支持则需增加约175KB。体积小对于在嵌入式系统中的使用是很重要的,正因为这样,Java才能够通过网络轻易下载。


Java是面向对象的语言
  面向对象是在业界中一度流行的术语之一。不过,它确定是一项很强的设计功能,它可以促成明确的接口定义,并允许开发人员建立可重复使用的软件部件。


Java是分布式语言
  Java拥有广泛的能轻易地处理TCP/IP协议的运行库,例如HTTP与FTP类库等等。这使得在Java中比在C或C++中更容易建立网络连接。Java应用程序可以借助URL通过网络开启和存取对象,就如同存取一个本地文件系统一样简单。  


Java是健壮的
  Java的目标是要协助开发人员建立各方面可靠的程序,Java强调:开发人员可在设计初期即检查可能存在的问题,其后则进行动态的检查,并排除容易出现的错误。C++语言的优点是允许在编译时进行深入的检查,以便提前发现错误。  
  Java与C/C++之间最大的不同点之一在于Java拥有一种模型,能排除内存被覆盖和毁损数据的可能性。Java不采用指针计算法,而是提供真正的数组阵列。这允许程序执行下标检查,但它不允许将一个整数转成指针的情形发生。


Java的安全性
  Java设计的目的是要能够使用于网络/分布式运算环境。为此,Java非常强调安全性,以确保建立无病毒且不会被侵入的系统。Java的验证技术是以公钥加密法为基础。 键壮性与安全性之间存在一种很强的相互作用关系。例如,指针语意的改变,让应用程序不可能伪造对象结构存取权,或存取它们在对象中没有存取权的? 数据。这等于关上大门,杜绝大多数病毒的侵入。


Java的中立性结构
   Java的设计目标是要支持网络应用程序。一般而言,网络是由许多不同的平台系统构成,包括各种CPU与操作系统结构。为了让Java应用程序能够在网络上任何地方执行,其编译器将会生成一种具备结构中立性的目标文件格式。编译后的程序码可以在提供Java运行系统的多种不同处理器上面执行。
  Java的这种中立性结构不仅对网络应用很有帮助,而且也很适合单一的系统软件流通。
  Java编译器是通过生成与某一特定电脑结构无关的字节代码指令,以达到上述功能的。这些字节代码指令能很容易在任何机器上解释执行。
  结构中立性是确保程序可移植的最重要部份,不过除此之外还需很多必须配合的条件和C与C++不同的是,Java规范中并无任何与机器结构相依存的陈述存在。它指定了基本数据类型的大小,及其算术运算元的执行行为。例如:“int”代表一个有符号的二进制补码32Bit整数,而“float”代表一个32BitIEEE754浮点数。这些选择在今天的环境很适用,因为几乎所有CPU都具备这些特性。
  程序运行库属于系统的一部份,它定义了一些可移植的程序接口。例如,它包括一个抽象的Windows类,并且提供了该类在Unix、Windows和Macintosh平台上的实现。


Java是解释执行的
  Java解决器可以直接在任何已移植该解释器的机器上解释、执行Java字节代码。再者,由于其链接过程比较倾向于逐步增量与轻量过程,因此程序开发更快、更精密。


高效能的Java程序

  虽然解决过的字节代码性能已相当不错,不过有些情形下还是要求程序达到更高执行效能。字节代码可以动态地解释为执行应用程序特定CPU的机器码。这对于习惯使用一般编译器与动态载人器的程序设计者而言,有点类似将最终的机器码生成器放到动态载入器之内。
  字节代码格式在设计上即已考虑了机器码的产生,因此实际的机器码生成程序相当简单。其生成的机器码是有效的,编译器自动分配寄存器,而在生成字节代码期间也会进行一些优化。
  我们以解决码在一台Sun Microsystem SPARC Station10上执行时,达到每秒三十万个函数调用速率。字节代码转换至机器码的速度性能,几乎和直接生成机器目标代码的C或C++没有什么两样。


Java对多线程的支持
  Java拥有一组复杂的同步化基本单元,它们是以广泛使用的C.A.R.Hoare监视器与条件变量图为基础的。将这些概念融合到语言中之后,它们就变得更容易使用且更为健壮。这种融合方式大部分来自Xerox的Cedar/Mesa系统。
  多线程所带来的其它好处包括更好的交互式回应能力与实时运行能力。然而这会受到底层平台的限制:独立执行的Java运行环境有着很好的实时执行能力,而若在其他系统例如Unix、Windows、Macintosh或WindowsNT等平台上执行时,则会由于底层平台的原因而使实时响应能力受到影响。


Java的动态特性
  就各方面而言,Java是一种比C或C++更具动态特性的语言。它在设计上强调为不断发展的运算环境提供支持。 Java能了解由Objective C引用过来的接口概念。简单地说,接口就是规范一组与对象相对应的成员函数,但对象如何实现这些成员函数则亟待解决。一个类实现一个接口是要提供这个接口所包含的所有成员函数的实现,与此相反,派生子类则从父类继承了一组成员函数以及它们的实现。一个Java类可以实行多个接口,但只能从一个父类继承。接口告诉连接对象它可以做什么而不是怎么做,使得它在代码上更具有灵活性和可复用性。 在C或C++程序中,如果你有一个指针指向一个对象,但你不知道该对象的类型是什么,那么你将没有办法找出它。然而,在Java中根据运行类型信息进行查找是很直截了当的,因为在编译阶段和运行阶段都会检查数据类型转换。所以你在Java中完全可以信任这种转换,而C与C++的编译器则只是相信你自己已做了正确的处理。
分享到:
评论

相关推荐

    jvm特性与java特性

    在深入探讨JVM(Java虚拟机)的特性之前,我们首先需要了解Java虚拟机在整个Java体系中所扮演的角色。Java虚拟机是运行Java字节码的抽象计算机,它使得Java语言具有“一次编写,到处运行”的特性。JVM的特性不但支撑...

    java代码,包括java特性、数据结构、算法、设计模式

    java代码,包括java特性、数据结构、算法、设计模式java代码,包括java特性、数据结构、算法、设计模式java代码,包括java特性、数据结构、算法、设计模式java代码,包括java特性、数据结构、算法、设计模式java代码...

    Java2Pas(Java代码转换成Delphi代码)

    然而,值得注意的是,Java2Pas可能无法完美地处理所有Java特性,比如泛型、反射、线程等高级特性,这些在转换后可能需要额外的代码调整。此外,由于Delphi的接口(interface)和Java的接口概念有所不同,转换后可能...

    C++转Java工具

    首先,我们需要理解C++和Java两种编程语言的特点。C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。它以其高效性和灵活性受到许多系统级和游戏开发者...

    计算机软件JAVA编程特点及技术分析

    ### 计算机软件JAVA编程特点及技术分析 #### 一、JAVA编程技术概述 JAVA作为一种广泛应用的程序设计语言,在计算机软件开发领域扮演着至关重要的角色。它以其强大的功能、简洁的语法和卓越的安全性而著称。JAVA...

    01-JavaSE-JAVA运行原理.ppt

    JAVA特点: 简单性:摒弃了C++中易引发错误的特性,如指针和内存管理; 面向对象性:支持代码继承及重用; 分布式:支持网络应用编程接口,并提供了相应的类库; 健壮性:强制型机制、异常处理、垃圾自动...

    java8_64bit.zip

    java8,64位是非常厉害的java编写开发工具。java8,64位主要是为64位java用户设计的,为用户提供易用性、多语种特色,使用户在...增加和修改了Java特性优化默认方法。 se平台新增预定义集,使应用无需部署在平台上。

    计算机软件Java编程特点及其技术分析 (1).pdf

    Java语言之所以能够得到如此广泛的应用,主要得益于其众多独特的优势和特点。 首先,Java语言是一种面向对象的编程语言。面向对象编程(OOP)是一种编程范式,它利用“对象”来表示数据和方法,使得软件设计更加...

    java 课件 ppt

    第一章 java特性--Features of Java 第二章 java编程规范--Coding Standards 第三章 java语言基础--Basic Syntax in Java Language 第四章 面向对象编程--Object Oriented Concepts using Java 第五章 接口--...

    java高级特性增强

    java多线程、反射、代理等基础知识详细介绍,通过此文档可快速进阶为中级工程师

    尚硅谷Java视频教程_Java11新特性

    00.尚硅谷_Java11_笔记、源码 01.尚硅谷_Java11_简介 02.尚硅谷_Java11_官方更新列表 03.尚硅谷_Java11_Shell 04.尚硅谷_Java11_集合中的新API1 05.尚硅谷_Java11_局部变量类型推断 06.尚硅谷_Java11_集合中的新API2...

    Java语言的特点

    ### Java语言的特点 Java作为一款跨平台、面向对象的编程语言,在软件开发领域拥有着广泛的应用。本文将根据提供的文件信息来深入解析Java语言的主要特点。 #### 一、简单性与面向对象 Java的设计初衷是简化C++的...

    Java编程语言特性及其应用领域详解

    Java作为一种广泛使用的高级编程语言,以其简单易学、面向对象、平台无关性、可靠性与安全性以及多线程支持等特点,成为多种应用开发的理想选择,包括企业级应用、Web开发、移动开发、大数据处理和分布式系统等领域...

    Java编程入门前言Java开发Java经验技巧共3页.p

    2. **Java特点**:Java具有面向对象、健壮性、安全性、高效性、可移植性、多线程、动态性等特点。它的类库丰富,能支持各种网络应用、数据库操作、图形用户界面(GUI)开发等。 3. **Java开发环境**:要开始Java...

    黑马程序员_java8新特性详解笔记和源码

    Java 8是Java语言发展的一个重要里程碑,引入了许多创新性的特性和改进,极大地提升了开发效率和代码质量。本文将深入探讨Java 8的三大关键新特性:接口的默认方法实现、Lambda表达式以及一系列相关的变化。 一、...

    《Java8新特性学习教程》-(Java8指南)带您玩转Java8!!!.zip

    《Java8新特性学习教程》-(Java8指南)带您玩转Java8!!!Java8 新功能教程本教程翻译整理自https://github.com/winterbe/java8-tutorial★★★如果本教程对您有帮助,星一下吧,您还可以访问 《Java8新特性指导...

    java8新特性

    本视频为java8新特性,百度云链接和密码,永久有效,失效联系我

    java手册中英文java8,java9手册

    Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易...

    Java生产实习报告模板 .doc

    2.1 Java特点 Java的特点决定了其在软件开发领域的广泛适用性: 2.1.1 跨平台 Java的“Write Once, Run Anywhere”理念,使得编写一次的代码可以在任何支持Java的平台上运行,这得益于Java虚拟机(JVM)的功劳,它...

    计算机软件Java编程特点及技术的探析.pdf

    Java语言的特点和优势主要体现在以下几个方面: 1. 面向对象编程:Java是一种面向对象的编程语言,这意味着在Java中,程序被看作是对象的集合,每个对象都含有其属性和方法。面向对象编程(OOP)强调了封装、继承和...

Global site tag (gtag.js) - Google Analytics