生活小句子:我们总以为。。。总以为而已
JDK JRE JVM之间的关系
JDK
(Java Development Kit [Java开发者工具]) :包含JRE,以及增加编译器和调试器等用于程序开发的文件
含义:Java开发工具包
关于对JDK目录结构的分析
jdk1.8
___________|____________________
| | |
bin lib jre ------------------> JDK自己的工具,用于程序开发
| | __________|___________
java.exe tools.jar | |
javac.exe dt.jar bin lib
javap.exe _____|____ ________|________
javah.exe | | | | |
javadoc.exe java.exe classic rt.jar ext
....
security
java.dll | i18n.jar |
awt.dll jvm.dll iiimp.jar
JDK结构分析:在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre 。
在其目录下有五个文件夹 :一个src类库源码压缩包和几个声明文件(安装包的src.zip就是JDK的源码)
其他五个文件夹分别是 bin 、includ 、jre、lib、(db)这个文件夹看文件需求
bin:最主要的编译器(javac.exe):用于放一些可执行的程序 (javac\javap\java\jarjstat\jvadoc等),例如工具javac就是将.java源代码文件编译成.class文件
javac 编译来运行JAVA的
javadoc 可以把java的一些东西生成一篇文档
jar 把java打包成一个应用
... ...
include:由于jdk是由C和C++进行编写的,所以说在启动的时候需要引入C语言的头文件,include目录下面就是存放这些头文件,Java和JVM虚拟机交互用的头文件
lib:常用的类库
jre:Java运行时环境
(db):JDK从1.6之后内置了Derby数据库,它是一个纯用于Java实现的内存数据库,属于Apache的一个开源文件。用Java实现的 所以可以在任何平台上运行。另外一个特点是 提交小、免安装,是需要几个jar包即可以运行。
src.zip:存放的是一些资源文件,放了很多Java类,通过解压就可以看到java一些基础的源代码
jdk包括:运行时环境JRE+加载器/解释器+javac编译器+文档生成器Javadoc+归档器jar
jdk能完成:加载代码+验证代码+执行代码+提供运行时环境
JRE
(Java Runtime Environment):字面意思就是java运行时环境。只要安装了JRE,就可以运行JAVA程序了,包含:Java虚拟机,库函数,以及Java应用程序所必需的文件
JVM
(Java Virtual Machine):可以简单的把它当作一种规范,可以用软件来实现,也可以用硬件来实现,就是在所有的操作系统上模拟了一个小巧的CPU,去处理我们JAVA相关的东西。就是一个虚拟的用于执行bytecode字节码的"虚拟计算机" , JVM负责将Java字节码解析运行,边解析边运行。Java虚拟机机制屏蔽了底层运行平台差别,实现了"一次编译,随处运行",JVM就是实现JAVA跨平台的核心机制
总结:JDK是给开发人员用的,JRE和JVM是给普通成员用的
如果只是要运行java程序,只需要JRE就行。JRE通常非常小,其中包含JVM虚拟机
如果要开发Java程序,就需要安装JDK。
彻底卸载之前用过的JDK
- 查看此电脑是否安装了JDK Win+R 进入命令行,输入 java -version
2.此电脑右键 --->点击属性 ---> 点击高级系统设置 --->点击环境变量 --->系统变量那一栏找到 JAVA_HOME(后面的路径指的是当前安装jdk的路径,复制路径到此电脑,找到删除jdk,并选中JAVA_HOME直接点击删除),找到Path,找到关于jdk路径的删除
当前注意:Win10系统很友好,可以清晰的看到环境变量中Path路径的每一个的值,但是如果Path路径的第一个路径以%开头那么Path路径就会变成这样,此处新手注意,因此Path中的路径以%开头的要写到下面
此时删除jdk完成
当然有可能存在卸载不彻底的情况导致再次安装不成功
比如:
- Error opening registry key 'Software\JavaSoft\Java Runtime Environment'
- Failed reading value of registry key: Software\JavaSoft\Java Runtime Environment\1.8\JavaHom
- Error: could not open `D:\Java\jre1.8\lib\amd64\jvm.cfg'
- 等 ... ...
- 有可能是注册表有残留: Win+R--输入redegit进入注册表 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\这个注册表分支给删除
- 有可能是环境变量中Path路径的问题:把添加jdk环境的两个路径调节到 C:\Windows\system32 这个路径的上面
- 打开的你(Win+R输入control)控制面板 --- 卸载程序检查下是不是你之前的装的jdk 那个服务还在,若是在请卸载。
- 查看路径C:\Windows\System32和C:\Windows\SysWOW64 的路径下面有没有 java.exe,javaw.exe,javaws.exe,如果有请删除
安装JDK的步骤
1.百度搜索 JDK8 下载前需要登录Oracle,没有的自行注册一下
查看电脑系统类型(此电脑右键 点击属性 查看系统类型 我的电脑是64位)
下载完成后
2.双击安装 安装的默认路径是在C盘中,如果要更换位置,要复制或记住它安装的位置,安装成功后,配置环境变量。(计算机右键-点击属性-点击高级系统设置,点击环境变量),在下面的系统变量中点击新建 变量名:JAVA_HOME(以后环境变量名字要求这个名字,如果写成其他的有可能识别不到),变量值:输入刚才安装jdk的安装路径,点击确定
3.然后在系统变量中找到Path
在Path中添加路径%%表示应用的意思,%JAVA_HOME%,引用刚才添加的变量JAVA_HOME
%JAVA_HOME%\bin : D:\environment\Java\jdk1.8.0_271\bin
%JAVA_HOME%\jre\bin : D:\environment\Java\jdk1.8.0_271\jre\bin
4.查看我们安装的JDK是否安装成功
Win+R ---- 输入cmd 进入命令行 --- 输入java -version
安装成功!