和其他编译型以及解释性语言相仳Java语言比较特殊,它的编译过程比较特殊并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是*.class文件)
当然,這种字节码不是可执行性的必须使用Java解释器来解释执行。
因此可以认为:Java语言既是编译型语言也是解释性语言。Java程序执行过程必须经過先编译后解释的步骤。
Java语言里负责解释执行字节码文件的是Java虚拟机即JVM(Java Virtual Machine)。所有平台上的JVM向编译器提供相同的编程接口因此编译後的Java字节码就可以在该所有平台上运行,做到平台无关 与JVM经常混淆的两个概念是JDKjvm和jdk的关系RE:
JRE包含了JVM。JVM是运行Java程序的核心虚拟机而运行Java程序不仅需要核心虚拟机,而运行Java程序不仅需要核心虚拟机还需要其他的 类加载器、字节码校验器以及大量的基础库类。JRE除了包含JVM之外还包含了运行Java程序的其他环境支持。
一般而言如果只是运行Java程序,只需要安装JRE,无需安装JDK
喜欢的话请扫码支持一下~~