Java是一种面向对象的编程语言,以下为有关Java语言特性的一些整理。
1. 简单性:在Java的语言中,程序员不需要直接操作内存,所有的Java程序都是运行在Java虚拟机(JVM Java Virtual Machine)中运行,通过Java虚拟机执行过程中再去操作内存,虽然开发人员本身失去了像C或者C++那样可以直接操作内存的驾驭感,但开发人员基本上不需要再去关心内存泄漏等问题,可以将更多的经历放在coding。
2. 面向对象:
Java是一种完全面向对象变成的语言,所谓万物皆对象,面向对象更容易让人理解,开发人员只需要操作对象开发即可。而面向对象又具有封装、继承、多态以及面向对象变成的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了挨罚时间,从根本上使程序设计更加完善和强大。
3. 分布性:
Java设计成支持在网络上应用,它是分布式语言。Java可以支持各种层次的网络连接,又可以以Socket类支持可靠的流网络连接,所以用户可以产生分布式的客户机和服务器。同时Java的分布性又可以区分为操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据的分布是将数据分别部署在不同的机器上,这些主机是网络中的不同成员。Java可以凭借URL对象访问网络对象,访问方式与访问本地方式相同。
4. 编译和解释性:
Java编译器将Java源文件(.java文件)编译成字节码文件(.class)文件,这种字节码就是Java虚拟机的机器语言,这些字节码文件在经过虚拟机的解释器转换为机器码并在特定的平台进行运行。Java的解释器其实只是一个基于虚拟机平台的程序,即jdk或jre目录下bin目录中的java.exe文件。
5. 稳健性:
Java有一种自动垃圾回收机制使得Java不容易导致内存泄漏,这个自动垃圾回收机制由JVM负责调度GC机制,不需要开发人员进行干涉。
6. 安全性:
Java的安全性有以下几点体现,首先在运行环境提供了四级安全性保障机制:
字节码校验器、类装载器、运行时内存布局、文件访问限制;
同时Java取消了指针,由于指针是可以移动运算、指向任何一个内存区域,而不管这个区域是不是可以使用都是很危险的操作,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的数据。
JVM的自动垃圾回收机制又可以避免开发人员忘记及时回收内存造成的内存泄漏而引起系统崩溃。
7. 可移植性:
Java语言只需要一次编写就可以到处运行,使得开发人员无需关心自己的开发机器是什么操作系统,也不用操心将要部署的服务器是什么系统。
Java语言的可移植由JVM实现,首先Java代码都运行在Java虚拟机之上,而任何的软件都必须运行在操作系统之上,不同的操作系统都有不同版本的虚拟机,所以只要在相应系统下载对应的JDK即可。
8. 多线程行:
Java是多线程语言,他提供支持多线程的执行,这些多线程能处理不同的任务。
9. 动态性:
Java是一个动态的语言,Java中的类都是根据需要才加载的,甚至有些类是通过网络获取的。



