Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性:

●  语法简单易学

Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面:

语法规则和C++类似。从某种意义上讲,Java语言是由C和C++语言转变而来的,所以C程序设计人员可以很容易地掌握Java语言的语法。(C和C++属于高级语言,是最接近人类的语言,而不是像机器码和汇编语言那样生涩难以理解的语言)

Java语言对于C++进行了简化和提高。例如,Java使用接口取代多继承,并且取消了指针,因为指针和多继承通常使程序变得复杂。java语言还通过实现垃圾自动回收,大大简化了程序设计人员的资源释放管理工作(令人头疼的操作)。

此外Java还提供了丰富的类库(API)和文档以及大量的第三方开发包,另外还有大量的高质量的基于Java的开源项目,另外,JDK(Java开发者工具包)也开放了源代码,大家可以通过分析Java的源代码来提高自己的编程水平。

●  纯面向对象

面向对象是Java语言的基础,也是目前编程中最流行的编程方法,是Java语言的重要特性。java语言本身就是一种纯面向对象的程序设计语言。Java中提倡万物皆对象,语法中不能在类定义外定义单独的数据和方法,也就是说,Java语言最外部的数据类型就是对象(类是对象的模板,通过类来实例化对象),所有的元素都需要通过类和对象来访问。

●  解释性

运行Java程序需要使用解释器来运行,任何安装了Java解释器的计算机或设备都可以使用Java的字节码文件进行解释执行。字节码文件独立与平台,它本身携带了很多编译时的信息,使得连接过程更加简单,开发过程更加迅速。

●  分布性

Java是针对Internet的分布式环境而设计的,因为它能处理TCP/IP协议。实际上,使用URL(统一资源定位符)访问资源与访问文件没有多大区别。Java还支持远程方法调用(Remote Method Invocation,RMI)。这个特性允许程序通过网络调用方法。

●  安全性

Java语言中删除了类似C语言中的指针和内存释放等操作语法,有效地避免了非法的操作内存。Java程序代码经过代码校验、指针校验等很多测试步骤才能够运行,所以未经允许的Java程序不可能运行也不可能出现损害系统平台的行为,而且使用Java可以编写防病毒和防篡改的系统应用程序。

●  健壮性

Java语言的设计目的之一,就是编写多方面的、可靠的应用程序,Java将检查程序在编译和运行时出现的错误,并消除和预防错误的发生。类型检查能够帮助用户检查出许多在开发阶段出现的错误。而现代化的集成开发环境(IDE)的出现也使编译和运行Java程序更加简单容易。

●  多线程

Java原生支持的多线程机制能够使应用程序在同一时间内并行(同时执行)多项任务,而且相应的同步机制可以保证不同线程之间能够正确地共享同一份数据。使用多线程,可以为程序带来更好的交互能力和实时行为。

●  高性能

Java编译后生成的字节码文件是在解释器中运行的,所以它的速度较多数交互式应用程序提高了很多,另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。现在,通过对解释器的不断优化,使Java语言和C、C++等语言相比在运行速度上没有差别,在某些方面甚至要快过其他语言编写的程序。

●  动态性

Java程序本身带有大量的运行时类型信息,这些信息可以用于在运行时验证和解决对象访问问题。这使得以一种安全、方便的方式动态地链接代码成为可能。对于那些可以在运行的系统中动态更新小段字节码的Java环境的健壮性来说,这一特性也是很关键的。

IT兄弟连 Java语法教程 Java语言的其他特性的更多相关文章

  1. IT兄弟连 Java语法教程 Java语言入门 典面试题

    1.请说明JVM.JRE和JDK是什么?它们有什么关系? JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实 ...

  2. IT兄弟连 Java语法教程 Java的发展历程

    只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...

  3. IT兄弟连 Java语法教程 Java平台的版本划分

    自从Sun公司推出Java以来,就力图使之无所不能.Java发展至今,按应用范围划分为3个版本,即Java SE.Java EE和Java ME,也就是SunOne(Open Net Environm ...

  4. IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK

    要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...

  5. IT兄弟连 Java语法教程 Java语言的跨平台特性

    什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命 ...

  6. IT兄弟连 Java语法教程 Java语言背景

    驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变.Java也不例外.在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华.针对在线环境的蓬勃发展(In ...

  7. IT兄弟连 Java语法教程 Java语法基础 经典面试题

    1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...

  8. IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量

    在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12  未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...

  9. IT兄弟连 Java语法教程 Java开发环境 安装JDK

    因为我们要开发Java程序,所以必须在我们的计算机中安装Sun(Oracle)公司提供给我们的JDK.目前最新版本的JDK是JDK 10,但是我们以学习JDK 8为主,所以我们要安装的版本是JDK 8 ...

随机推荐

  1. 使用electron静默打印

    1.使用electron打印的理由 很多情况下程序中使用的打印都是用户无感知的.并且想要灵活的控制打印内容,往往需要借助打印机给我们提供的api再进行开发,这种开发方式非常繁琐,并且开发难度较大. e ...

  2. 20145239 杜文超 实验四 Android开发基础

    20145239实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试 了解Android组件.布局管理器的使用 掌握Android中事件处理 ...

  3. 《avascript 高级程序设计(第三版)》 ---第三章 基本概念2

    1.乘性操作符: 1)*法操作法: Infinity * 0 = NaN  Infinity * 非零 = Infinity 或 - Infinity   2)/法操作符: Infinity / In ...

  4. Sprin Boot2.0之整合Mybatis整合分页插件

    pageHelper PageHelper 是一款好用的开源免费的 Mybatis 第三方物理分页插件 物理分页 支持常见的 12 种数据库.Oracle,MySql,MariaDB,SQLite,D ...

  5. Java接口 详解(二)

    上一篇Java接口 详解(一)讲到了接口的基本概念.接口的使用和接口的实际应用(标准定义).我们接着来讲. 一.接口的应用—工厂设计模式(Factory) 我们先看一个范例: package com. ...

  6. BZOJ(begin) 1328 [Usaco2003 Open]Jumping Cows:贪心【波峰波谷模型】

    题目链接:http://begin.lydsy.com/JudgeOnline/problem.php?id=1328 题意: 给你一个长度为n的正整数序列. 可以选任意个数字,只能从左往右选. 偶数 ...

  7. T58

    他们投产的新轿车广获传媒报道.The launch of their new saloon received much media coverage.法律规定禁止近亲结婚.Marriages in p ...

  8. listen 59

    Different Brain Regions Handle Different Music Types (Vivaldi) versus (the Beatles) . Both great. Bu ...

  9. 机器学习:朴素贝叶斯--python

    今天介绍机器学习中一种基于概率的常见的分类方法,朴素贝叶斯,之前介绍的KNN, decision tree 等方法是一种 hard decision,因为这些分类器的输出只有0 或者 1,朴素贝叶斯方 ...

  10. darknet YOLOv2安装及数据集训练

    一. YOLOv2安装使用 1. darknet YOLOv2安装 git clone https://github.com/pjreddie/darknetcd darknetmake或到网址上下载 ...