官方定义:简单,面向对象,结构中立,可移植,分布式,解释执行,动态,健壮,安全,高性能,多线程
1.简单
摒弃c++的指针计算,内存管理,多继成,Java有自己的垃圾回收机制。
2.面向对象
Every is object .万物皆对象,不是面向过程的语言
3.结构中立
Java语言编译后的字节码是相同的,仅需不同的虚拟机。所以java具有结构中立性。
4.可移植性
java 编译器会把java语言编译成与机器无关的字节码文件,被编译后字节码都是统一的,只要通过不同版本的虚拟机(JVM)进行解释就可实现跨平台
源文件(.java)-编译-> 字节码(.class)-虚拟机解释->机器码–>执行命令
·java虚拟机:
针对不同操作系统,硬件,Java有专属的虚拟机,针对不同的操作系统和cpu等,Java虚拟机有不同版本。
5.分布式
修房子,一个人负责搬砖运转,包工头嫌太慢请了一群人一起搬砖运砖。后来包工头让一群人负责搬砖,另一群人负责运砖。
一群人一起搬砖运砖叫集群,多个服务器支持一个项目
一群人搬砖,一群人运砖叫分布式, 多个干不同事的服务器协同支持一个
项目
类型分为:数据分布和操作分布
数据分布
功能:将数据分散储存在网络上的不同主机上
操作分布
功能:将计算分散在网络上的不同主机上
可以进行网络编程,程序既可以访问本地资源,也可以访问网络资源,访问网络上的其他java对象。
Java的jdk(开发工具包)中就包含一些支持分布式开发的内库,比如支持http协议的内库。 Java封装了一个url类,网络资源定位。
6.动态
7.健壮
8.安全
9.高性能
10.多线程