一、 JDK是什么
JDK :Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment),Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
JRE:Java Runtime Environment,它为Java提供了运行环境,其中重要的一环就是通过JVM将字节码解释成可执行的机器码。JRE由JVM,Java运行时类库,动态链接库等组成。
JVM:Java Virtual Machine,Java虚拟机,一台抽象化的计算机,包括处理器、堆栈 、寄存器等。
也就是说:
JDK = JRE + 开发工具
JRE = JVM + 类库
官网地址:https://docs.oracle.com/javase/8/docs/index.html
其中:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具
二、jdk安装目录介绍
如图所示:
bin:主要存放的是java的编译器、解析器等工具
jre:java runtime environment ——java运行时环境
jre/bin:java平台所使用的的工具或者可执行程序
jre/lib:jre在运行的时候需要的一些类库、属性设置、资源文件
lib:java开发工具要是用的一些类库,包含了支持JDK工具的核心类库,tools.jar、dt.jar……
src.zip:源码
三、java程序运行过程
(1)我们利用 JDK (调用 Java API)编写出 Java 源代码,存储于 .java 文件中;
(2)JDK 中的编译器 javac 将 Java 源代码编译成 Java 字节码,存储于 .class 文件中;
(3)JRE 加载、验证、执行 Java 字节码
(4)JVM 将字节码解析为机器码并映射到 CPU 指令集或 OS 的系统调用。
(5)Java源文件在通过编译器之(javac.exe)后被编译成相应的.Class文件(字节码文件),这一步在所有平台上都是相同的;所以java是跨平台的。