java:是一种简单的,面向对象的,适用于网络应用得到,平台无关的,解释的,健壮的,安全的,结构自然的,可移植的,高性能的,多线程的,动态的语言.
为什么java是平台无关的
java开发人员一定非常熟悉Jdk(Java Development Kit),jre(Java Runtime Rnvironment,Java运行环境),jvm(Java Virtual Machine,即Java虚拟机).
Java的平台无关性就离不开 jvm(java虚拟机):
Jvm(java虚拟机)就是一个平台,是一种用于计算机设备的规范,他是一个虚拟出来的计算机,通过在实实在在存在的计算机上模拟真正的计算机的各种功能来实现的;
java虚拟机有一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个存储方法域.
Jvm屏蔽了与具体操作系统平台的相关信息,java程序只需要在jvm(java虚拟机)上生成jvm(java虚拟机)所能运行的字节码(目标代码),就可以在任何平台上执行java代码.实际上,jvm最终把字节码解释成具体的机器指令执行
也就是说当你执行java是程序时,由jvm帮我们编译和执行,jvm先将我们的java程序编译成.class文件,也就是字节码文件,在有jvm将字节码文件翻译成不同平台所支持的机器码然后运行,因为jvm(java虚拟机的存在,实现了java的平台无关性)