Java
05-JDK、JRE、JVM
2021-05-19 149 5
简介 05-JDK、JRE、JVM的详细介绍
1. JVM与垃圾回收机制
因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性
Java两种核心机制
Java虚拟机 (Java Virtal Machine)
垃圾收集机制 (Garbage Collection)
核心机制—Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
对于不同的平台,有不同的虚拟机。
只有某平台提供了对应的java虚拟机, java程序才可在此平台运行
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
Java程序的编译、执行过程
核心机制—垃圾回收
不再使用的内存空间应回收—— 垃圾回收。
在C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
Java程序还会出现内存泄漏和内存溢出问题吗?
很多程序员还是不了解这个,说Java程序不会溢出,溢出主要在什么方面呢? 比如文件打开后没有关闭、数据库连接没有关闭、套接字(其实也是文件)打开没有关闭、递归调用时没有递归终止函数等等都会导致Stack Overflow
2. JDK JRE JVM的关系
什么是JDK和JRE?
JDK(Java Development Kit Java开发工具包)
1. JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。
2. 所以安装了JDK,就不用在单独安装JRE了。
3. 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe) 生成网页文档的工具(javadoc.exe) 等
JRE(Java Runtime Environment Java运行环境)
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等
如果想要只运行一个开发好的Java程序,计算机中只需要安装JRE即可
简单来说就是
• JDK = JRE + 开发工具集(例如Javac编译工具等) 很多高级的Java工程师, JDK包含JRE都不知道(^_^)
• JRE = JVM + Java SE标准类库
官方详细的介绍
3.JDK和JRE的安装
官方网址:
www.oracle.com
java.sun.com
安装JDK
傻瓜式安装,下一步即可。
建议:安装路径不要有中文或者空格等特殊符号。(作为IT人员,以后安装任何开发工具,都要使用英文路径,这是常识,养成这样的习惯)
如果操作系统是64位的,软件尽量选择支持64位的(除非软件本身不区分) 。
当提示安装 JRE 时,正常在JDK安装时已经装过了,但是为了后续使用Eclipse等开发工具不报错,建议也根据提示安装JRE(重复安装了JRE为了使用Eclipse时不报错,Eclipse运行时,需要识别到一个独立安装的JRE)
我的安装路径是
环境变量的配置
3.1. 配置JAVA_HOME环境变量
新建一个系统环境变量 JAVA_HOME ,值配置为 C:\Program Files\Java\jdk1.8.0_151 ,注意我这里的JDK安装在 C:\Program Files\Java\目录下。
3.2. 配置PATH环境变量
注意步骤5, 将新建的环境变量上移到最上方, 然后一路确定,关闭配置窗口。
3.3. 验证PATH环境变量配置是否成功
在命令行窗口任意目录下,输入任意的javabin下的命令,看是否能识别到命令。
前几天遇到一个Java老手,问了一个问题, 电脑上可以装多个JDK的?那使用的是哪个呢?
如果这样的问题还需要问,那说明Java基础太差了,毋庸置疑吧。 电脑上可以装多个JDK的,至于使用的哪个版本,跟你的环境变量有关,在一个跟你使用IDE的时候,选择的JDK有关。
建议看到这篇文章的Java爱好者,好好学好Java基础。