什么是跨平台性?
跨平台就是说同一个软件可以在不同的操作系统上执行,而不需要对软件做任务处理。即通过Java语言编写的应用程序在不同的系统平台上都可以运行。
跨平台的原理是什么?
Java应用程序为什么可以跨平台呢?其实只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
跨平台(图解)
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。
Java程序之所以能够实现跨平台运行,是因为它根本就不直接运行在任何底层平台上,而是需要在哪里运行,就在哪里(如Windows平台)事先准备好自己的Java平台,而这只是仅仅是安装和配置一个软件而已!
JVM介绍
Java Virtual Machine (简称JVM):它是运行所有Java程序的抽象计算机,是Java语言的运行环境,它是 Java 最具吸引力的特性之一,JVM读取并处理编译过的与平台无关的字节码(class)文件。
注意:Java语言是跨平台的,是因为Java应用程序需要Java虚拟机JVM负责运行。
而Java虚拟机JVM是不跨平台的,不同的操作系统需要安装与此对应的Java虚拟机JVM。
JAR、JDK区别
Jdk(java development toolkit ,java开发工具包)
是JAVA的核心,包括了JAVA运行环境,一堆JAVA工具(javac、java、jdb)和JAVA基础的类库(即 JAVAAPI包括rt.jar)。
可以认为JRE的bin目录里的就是JVM,lib中则是JVM工作所需要的类库 。
Jre(java runtime environmental,java运行时环境)
所有的JAVA程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比不包含开发工具(编译器、调试器、和其它工具)。
JVM(java virtual mechinal,java虚拟机)
JVM是JRE的一部分,它是一个虚拟出来的计算机。JVM的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或OS的系统调用。
简单而言:使用JDK开发完成的java程序,交给JRE去运行。
为什么JDK中包含一个JRE呢?
- 开发完的程序,总需要运行一下看看效果。
- 也是最重要的,JDK中的开发工具其实都是java语言编写的应用程序,为了方便使用才打包成exe文件。
- 如果没有JRE,那么这些工具是运行不了,因为都是使用JVM运行的。