java语言的特点
1.面向对象
* 两个基本概念:类,对象
* 三大特性:封装,继承,多态
2.健壮性
* 吸收了C/C++语言的的优点,但去掉了其影响程序健壮性的部分(如指针,内存的申请与释放 等),提供了一个相对安全的内存管理和访问机制
3.跨平台性
* 跨平台性:通过java语言编写的应用程序在不同的系统平台上都可以运行。“Write once,Run Anywhere” 一次编译,到处运行。
* 原理:只要在需要运行的java应用程序的操作系统上,先安装一个java虚拟机(JVM java Virtual Machine)即可,由jvm来负责java程序在该系统中的运行。
Windows操作系统 Windows版本的JVM Linux操作系统 Linux版本的JVM Mac操作系统 Mac版本的JVM
JVM装在不同的操作系统, java跑在JVM上,
有了JVM,同一个java程序在不同的操作平台中都可以执行。这样就实现了java程序的跨平台性
自我理解:将java语言比作歌手 ,Windows操作系统比作沙漠 ,Linux操作系统比作湖水,Mac操作系统比作山丘 ,JVM就是一个提供给沙漠,湖水,山丘的一个舞台,让歌手能安稳的在各种场景下演出,也就是让java程序在不同的操作平台都能运行。
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域,负责执行指令,管理数据,内存寄存器。
对于不同的平台,有不同的虚拟机
只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
*.java
↓编译
*.class
↓执行
↙ ↓ ↘
JVM for UNIX JVM for Windows JVM for other
用户user→字节码文件→JVM→操作系统→硬件