在讲解 JVM 虚拟机知识之前,我们有必要先弄清它的概念。
很多程序员已经干了一段时间 Java 开发了依然不明白 JDK、JRE、JVM 的区别,现在我们就捋一捋:
概念:
JDK(Java Development Kit):Java 语言的软件开发工具包(SDK),是整个JAVA的核心,是面向 Java 程序的开发者,提供了 Java 的运行环境(Java Runtime Envirnment)和开发环境 -- 一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK在目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行 Java 时起作用的是以下四个文件夹:bin、include、lib、 jre。
- bin:最主要的是编译器(javac.exe)
- include:java和JVM交互用的头文件
- lib:类库
- jre:java运行环境
JRE(Java Runtime Enviroment):是指Java的运行环境,是面向Java程序的使用者,而不是开发者(若果只想运行 Java 的.class文件,只需要安装JRE就可以了)。它包含 JVM 标准实现及 Java 核心类库,因为并不是一个开发环境,所以没有包含任何开发工