学习java的同学都知道java是一门跨渠道的言语。
  常常会听到“一次编译,处处运转”这句话。
  那java是怎样就能完成这样的跨渠道功用了。
  要弄清楚这个,咱们先来看看什么是JDK,什么是JVM吧。
  JDK
  JDK:英文全称为(JavaDevelopmentKit),中文意思是Java开发东西包。顾名思义,便是供给给开发人员使用的东西包。
  和咱们这个问题相关的一个东西javac,便是包含在JDK这个东西包中的了。
  JVM
  JVM:英文全称为(JavaVirtualMachine),便是咱们常常提到听到的java虚拟机了。java能够跨渠道的关键便是在这儿了。
  弄清楚JDK和JVM之后,咱们就来聊聊java是怎样完成“一次编译,处处运转”这样的跨渠道功用的。
  咱们到官网下载jdk时一定有注意到相同版本号的jdk针对不同的操作系统,供给了不同的文件供咱们下载。
  为什么会是这样的呢,其实这是给咱们装备了不同的翻译官。
  这些翻译官都会两种言语。
  一种言语是这些翻译官都会的,便是用来读懂javac东西编译出来的.class文件的言语。
  而另一种言语是每个翻译官区别于其他翻译官的,只有自己会的言语。这个言语便是针对不同操作系统的可履行指令。
  提到这儿,咱们应该现已了解java是怎样完成“一次编译,处处运转”这个跨渠道功用了吧。
  “一次编译”便是咱们开发好功用之后,通过javac这个东西,将咱们写好的代码编译成了.class文件。这个时分咱们不必考虑咱们的代码功用是要放在什么渠道环境去履行。
  这些编译好的.class文件是操作系统无法识别运转的。这时就该咱们的翻译官JVM出马了。
  要在什么渠道履行,只要把这些.class文件交给咱们的翻译官JVM(在要运转的渠道提早安装好)。咱们的翻译官就会把这些.class解释成翻译官服务的渠道能够履行的可履行指令了。
  因为针对不同渠道有不同的翻译官,这样java就完成了“一次编译,处处运转”这样的跨渠道功用了。
  想要深入了解java虚拟机的同学,能够看看。

posted on 2020-06-28 15:54  林口  阅读(202)  评论(0编辑  收藏  举报