Java是一门很古老的开发语言,但是它的能力不容小觑,它几乎涉及到了开发个各个领域,各个层面和各个行业,其中包括前端,后台,移动端以及数据挖掘等等数不尽的行业和领域。
为什么做为这么古老的一门开发语言,这么长时间会都没有在历史的长河中淹没呢?那是因为Java语言自身的特性。
01
简单性
首先我们来说一下Java语言的简单性。虽然Java的设计在某些层面看起来和C++非常类似。但是为了让Java变得更加简单易懂,设计者把C++中的很多可用特性都去掉了。
例如:Java不支持goto语法,取而代之的是break和continue,操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用并提供了自动的废料收集,使得程序员不必为内存管理而担忧。因此开发者可以把更多的精力用在研发上面。
02
面向对象
Java是一门面向对象的语言。Java语言拥有提供类、接口和继承等面向对象语言的特性。为了简单起见,Java只支持类之间的单继承,单支持多接口之间的多继承,并支持类和接口之间的实现机制(关键字为implements)。Java还支持动态绑定,不像C++只虚函数使用动态绑定。
Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstract windowing toolkit)的缩写,处理输入输出的类(http://java.io包)和支持网络功能的类(http://java.net包)。
03
分布性
Java支持internet应用的开发,在基础的Java应用编程接口中有一个网络应用接口(Java net),了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等,这让Java既可以支持各种层次的网络连接,又可以以Socket来进行可靠的流连接。并且网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。
04
编译和解释性
Java编译程序生成的是字节码而不是机器码。Java字节码提供对体系结构中的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
05
稳健性
Java是一门强类型的语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显示的方法声明,不支持C风格的隐式声明。这就可以保证在编译程序时可以很快的找到错误。
Java不支持指针,它消除了存储和讹误数据的可能性。
异常处理是Java中使得程序更稳健的另一个特征。异常是某种类似于错误的异常条件出现的信号。使用try/catch/finally语句,程序员可以找到出错的处理代码,这就简化了出错处理和恢复的任务。
06
安全性
上面也讲到Java中不存在指针,更重要的是Java在编译程序时不存在处理存储安排决策,所以程序要不用通过查看声明去猜测实际的存储安排。
Java中的存储应用在运行时由Java解释程序决定实际存储地址。而且Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。并且,Java还提供了一个安全机制以防恶意代码的攻击。
Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
07
可移植性
Java严格的规定来各种数据类型的长度,而不依赖于实现的方面。Java环境本身对新的硬件平台和操作系统是可移植的,Java编译程序也是用Java写的,而Java运行系统用ANSIC语言编写的。
08
高性能
Java是一种先编译后解释的一门语言,虽然它不如全编译性的语言快。但是在有些情况下性能也是很重要的,为了这种情况,Java设计了及时编译程序,使Java可以在运行时把Java字节码翻译成特定的CPU的机器代码,从而达到全编译。Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
09
多线程性
在Java语言中,线程是一种特殊的对象,他由Thread类或者其子类来创建。Java提供支持多线程的执行,处理不同的任务,这样就让有多线程的程序设计起来更加容易。其中Java的lang包提供一个Thread类,它支持开始线索、运行线索、停止线索和检查线索状态的方法。用关键词synchronized,程序员可以说明某些方法在一个类中不能并发地运行。这些方法在监督程序控制之下,确保变量维持在一个一致的状态。
10
动态性
Java是一门动态语言,这样设计的目的是为来让Java来适应动态变化的环境。Java程序需要的类能够动态的被载入到运行环境,也可以通过网络载入所需要的类。这样很方便软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
上面就是小编对于Java语言特性的总结,希望可以帮助到你~
另外小编这里还有一些其他的干货,免费分享的哦,小编可不是抠抠索索的人,有想要的小伙伴可以找小编拿哦。