平台无关性

为什么需要平台无关性

用一句话来阐述就是 Write once, run anywhere (即书写一次,到处运行),平台无关性有以下几个优点

  • 支持多变的网络环境
  • 支持网络化嵌入式设备
  • 减少开发和在多个平台部署应用程序的成本和时间

为什么Java被称作是平台无关的编程语言

各个不同平台的虚拟机与所有平台都统一使用的程序存储格式 ──字节码是构成平台无关性的基石。Java的平台无关性很大程度上依赖于JVM(Java Virtual Machine),Java虚拟机是可以执行Java字节码的虚拟进程。准确的来说,Java语言的跨平台指Java源文件经过javac编译器成的字节码(.class)的跨平台。不同的平台安装不同的JVM,,字节码(.class)运行在JVM上,而JVM能够将相同的字节码翻译成与平台相关的机器码,从而进一步再执行。

Java是如何支持平台无关性

  • Java平台本身。Java平台扮演Java程序和所在的硬件与操作系统之间的缓冲角色,这样Java程序只与Java平台打交道,不需要和具体的操作系统打交道
  • Java语言保证了基本数据类型的至于和行为都是由语言自己定义的。
  • Java class文件。Java程序经过javac命令被编译成二进制class文件。class文件按可以在任何平台创建,也可以被任何平台的JVM装载运行。class文件有着严格的定义,与平台无关
  • 可伸缩性

JVM还支持哪些语言

JVM除了支持java外,还支持其他语言,比如Kotlin、Groovy、JRuby、Jython、Scala

参考<<深入理解Java虚拟机>>

posted @ 2019-03-02 10:34  小永coding  阅读(453)  评论(0编辑  收藏  举报