IT兄弟连 Java语法教程 Java语言的其他特性
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语言的其他特性的更多相关文章
- IT兄弟连 Java语法教程 Java语言入门 典面试题
1.请说明JVM.JRE和JDK是什么?它们有什么关系? JVM是Java虚拟机,Java Virtual Machine的缩写,是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实 ...
- IT兄弟连 Java语法教程 Java的发展历程
只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...
- IT兄弟连 Java语法教程 Java平台的版本划分
自从Sun公司推出Java以来,就力图使之无所不能.Java发展至今,按应用范围划分为3个版本,即Java SE.Java EE和Java ME,也就是SunOne(Open Net Environm ...
- IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK
要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...
- IT兄弟连 Java语法教程 Java语言的跨平台特性
什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台. CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种零部件的命 ...
- IT兄弟连 Java语法教程 Java语言背景
驱使计算机语言革新的因素有两个:程序设计技术的改进和计算环境的改变.Java也不例外.在大量继承C和C++的基础之上,Java还增加了反应当前程序设计技术状态的功能与精华.针对在线环境的蓬勃发展(In ...
- IT兄弟连 Java语法教程 Java语法基础 经典面试题
1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...
- IT兄弟连 Java语法教程 Java开发环境 配置Java环境变量
在安装完JDK后,我们需要配置系统的环境变量,否则在控制台中使用JDK为我们提供的工具时将出现如图12所示的错误信息. 图12 未配置环境变量时执行java命令提示的错误信息 当出现这样的提示信息时 ...
- IT兄弟连 Java语法教程 Java开发环境 安装JDK
因为我们要开发Java程序,所以必须在我们的计算机中安装Sun(Oracle)公司提供给我们的JDK.目前最新版本的JDK是JDK 10,但是我们以学习JDK 8为主,所以我们要安装的版本是JDK 8 ...
随机推荐
- Java for LeetCode 090 Subsets II
Given a collection of integers that might contain duplicates, nums, return all possible subsets. Not ...
- 简单的C++程序题总结
1.求一个数的二进制中1的个数. 思想的关键在于x=x&(x-1)这里,例如二进制为0x0729,即x=0000 0111 0010 1001,那么x-1=0000 0111 0010 100 ...
- BZOJ 1640 [Usaco2007 Nov]Best Cow Line 队列变换:贪心【字典序最小】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1640 题意: 给你一个长度为n的字符串. 你可以将原串的首字母或尾字母移动到新串的末尾. ...
- Elasticsearch mapping文档相似性算法
Elasticsearch allows you to configure a scoring algorithm or similarity per field. The similarityset ...
- 在Tabbed Activity(ViewPager)中切换Fragment
我用Android Studio的向导新建了一个Tabbed Activity,里面是ViewPager样式的,有三个tabs.如下: 但是我尝试在第一个tab中设置一个按钮,打开其他tab的时候,却 ...
- ZJOI2012题解
t1灾难 给一个食物网 如果一个生物吃的所有东西都灭绝了 它也跟着灭绝 求每个生物灭绝时跟着灭绝的生物数量 支配树裸题,我们先拓扑排序,然后建立一棵树满足一个点灭绝时,有且仅有它的子树跟着灭绝 考虑如 ...
- CodeForces -163E :e-Government (AC自动机+DFS序+树状数组)
The best programmers of Embezzland compete to develop a part of the project called "e-Governmen ...
- javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片
javacpp-ffmpeg系列: javacpp-FFmpeg系列之1:视频拉流解码成YUVJ420P,并保存为jpg图片 javacpp-FFmpeg系列之2:通用拉流解码器,支持视频拉流解码并转 ...
- Python手记
字符串的拼接 1.“+”,如果是字符和数字相连,要使用str()函数对于数字进行字符转化: 2.join() 3.",",链接的两个字符串之间用空格做关联 4.占位符 tmp += ...
- RT-Thread信号量使用(动态/静态信号量) 及 信号量的四种使用场合
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用.在进入一个关键代码段之前,线程必须获取一个信号量:一旦该关键代码段完成了 ...