三者的概念:
JDK(java development kit):
是一个开发工具包,是Java开发环境的核心组件,并且提供编译、调试和运行一个Java程序所需要的所有工具,可执行文件和二进制文件,是一个平台特定的软件。
JRE(Java runtime evironment):
是指java运行时环境,是JVM的实现,提供了运行Java程序的平台。JRE包含了JVM,但是不包含Java编译器、调试器之类的开发工具。
JVM(Java vritural machine):
是指java虚拟机,当我们运行一个程序时,JVM负责将字节码转为特定的机器代码,JVM提供了内存管理、垃圾回收和安全机制等。
区别与联系:
JDK是开发工具包,用来开发Java程序,JRE是Java运行时环境
JDK和JRE都包含了JVM
JVM是Java编程的核心,独立于硬件和操作系统,具有平台无关性
Java语言的平台无关性是怎么实现的
JVM屏蔽了操作系统和底层硬件的差异
Java面向JVM编程,先编译生成字节码文件,然后交给JVM解释成机器码执行
通过规定基本数据类型的取值范围和行为
Java是编译型语言还是解释型语言
Java的执行经历了编译和解释的过程,是一种先编译、后解释执行的语言,不可以单纯归类到编译型或者解释型语言的类别中。