• 如果我们要运行java程序,我们的电脑上就必须有java环境,即JRE(包含了JAVA虚拟机和一些库包);如果我们要开发java程序,就必须有JDK(包含了JRE和开发工具,所以下载了JDK,就不需要下载JRE了)。为什么我们需要java环境呢?还要配置环境变量呢?
  • java是一个跨平台性的语言。跨平台就是在一个计算机上编译的字节码文件可以复制到任何一个安装了java环境的计算机上直接使用。
  • 我们首先要知道的是所有编程语言编写的应用程序都是先编译为字节码,再由计算机,或者更准确的说,是程序所在的平台,去运行这些字节码才能呈现出最后的结果。
  • 平台是由操作系统(OS)和处理器(CPU)构成的,每个平台都会形成自己独特的机器指令,即该平台可以直接识别,执行的一种由0,1组成的序列代码。因为平台会因为操作系统或者处理器的不同,导致相同的0,1序列表示不同的指令,所以只要OS 或者CPU不同,机器指令就会发生改变。也就是说,在一台机器上编译好的字节码,可能因为机器换了另一种CPU的芯片,使得平台可识别的机器指令发生改变而无法运行,必须重新进行编译。
  • 而我们都了解过c/c++,它是不需要安装配置环境的,因为c/c++ 直接对当前所在的平台进行编译,它所编译好的字节码就是当前平台可识别的机器指令。这也是c/c++ 的缺点,编译好的程序并不能跨平台使用。
  • java则不同,只要平台包含java运行环境,编译好的java程序就可以在这个平台上运行。因为java的运行环境中带有java虚拟机,它可以识别java编译好的字节码文件,并把它转换为当前平台可识别的机器码。
  • 这里需要注意的一点是,编译好的字节码文件不能在不同的平台使用,并不代表程序无法运行,只是需要重新编译。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐