Java运行准备JDR JRE JVM知识和环境变量的作用
JDK、JRE、JVM简介
JDK:Java Development Kit Java开发者工具包
JRE:Java runtime environment Java运行环境
JVM:Java Virtual Machine Java虚拟机
JDK 中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre
JRE 中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
JVM 就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
只有JVM还不能完成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
JVM 屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JDK = JRE + BIN(常用的开发工具)
JRE = JVM + API(应用程序编程接口 核心类库 语言厂商提供的内容)
JVM = ClassLoader + Bytecode Verifier + Interpreter
类加载器 + 字节码校验器 + 解释执行器
环境变量设置的作用
path 是针对操作系统而言的。设置path之后,在DOS任何盘符任何目录下,都可以直接使用JDK和JRE下的工具程序。
classpath 是针对ClassLoder(类加载器)的,作用是当你通过网络下载了别人写好的class.jar包后通过设置CLASSPATH直接使用
java_home 它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

Java运行准备JDR JRE JVM知识和环境变量的作用的更多相关文章
- 一个大浪Java罢工(一个)安装JDK和环境变量配置
一个.基础知识 (一)什么是Java? Java是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台( ...
- 彻底搞懂Java开发工具包(JDK)安装及环境变量配置
一.Java 和 JDK 是什么 Java:Java是一种优秀的程序设计语言,它有非常多的语言特性,如简单性.面向对象.可移植性等.Java 并不只是一种语言,而是一个完整的平台,它有一个庞大的库,其 ...
- JAVA中常用需要设置的三个环境变量(JAVA_HOME、CLASSPATH、PATH)
JAVA中常用需要设置的三个环境变量: JAVA_HOME.CLASSPATH.PATH (一) 配置环境变量:(相对路径) 1. JAVA_HOME=x:/jdk1.6.0 2. 用%JAVA_HO ...
- 【Java】移动JDK路径后,修改环境变量不生效 Error: could not open `C:\Program Files\Java\jre1.8.0_131\lib\amd64\jvm.cfg'
场景: JDK原先装在C盘的,现在移动到了D盘,并在环境变量修改了%JAVA_HOME%的新路径,但是CMD中输入java后依然报错. Error: could not open `C:\Progra ...
- Java用System读取系统相关信息、环境变量——(六)
package Java_Test; public class System1 { public static void main(String[] args) { // TODO Auto-gene ...
- JDK(Java SE Development Kit)的安装与环境变量的配置
本文参考于:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 感谢作者的贡献~ 首先,进入网址下载JDK:http://ww ...
- Java学习笔记一——安装JDK并配置环境变量
下载安装JDK1.8 在官网上下载JDK,官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...
- java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘
java+hadoop+spark+hbase+scala 在/etc/profile 下面加上如下环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_102 expor ...
- Java、Apache Tomcat下载与安装及环境变量配置
1.Java JDK 与 Apache Tomcat 下载 JDK 下载 Apache Tomcat 下载 2.安装与环境变量配置 关于 JDK 的安装挺简单的,网上教程也挺多,Tomcat 下载免安 ...
- Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决
问题描述: mac笔记本本身会自带几个python版本,比如python2.7版本,我没有改动mac默认的python版本,只是安装了python3.7版本. 使用Pycharm开发Python项目没 ...
随机推荐
- python 实现视频流下载保存MP4
# -*- coding:utf-8 -*-import sysimport osfrom glob import globimport requests reload(sys)sys.setdefa ...
- jsp第9个作业
regist.jsp <%@ page language="java" import="java.util.*" pageEncoding="U ...
- react 收集表单数据 react-hook-form
import React from 'react' import ReactDOM from 'react-dom' import { useForm } from 'react-hook-form' ...
- echarts数据过小,log类型无法出现刻度线,并将y轴转为科学计数法
方法仅供参考 可以更改logBase的值,数值越小刻度线越多,但也会出现,刻度值重复的问题,看各自需要,其次是对数据进行处理,全部变成大于1的数,最后在echarts的图表显示设置中更改回来 注意:对 ...
- scrapy框架中的pipelines没有成功调用process_item方法
提示报错 原因: items没有接收到Spider的返回值,导致pipelines没有接收到items模块的返回值,检查Spider模块是否正确返回值,我这里的原因是,数据解析完成后没有yield i ...
- 复制文本到粘贴板 (vue3)(兼容ios)
// 点击复制到剪贴板 const copyToClipboard = (content)=> { if (window.clipboardData) { window.clipboardDat ...
- git Permission denied, please try again.
博主在github上下载tiny face的的源代码的时候,遇到git clone命令为:git clone --recursive git@github.com:peiyunh/tiny.git 而 ...
- DeepMind公司最新ai技术参加Codeforces击败大部分选手
著名的编程竞赛网站Codeforces发布了一篇名为<AlphaCode(DeepMind) Solves Programming Problems on CodeForce>的文章,将阿 ...
- 日常笔记-VS
VS快捷键 按键 作用 CTRL+R,CTRL+W 以点显示空格 CTRL+L 删除当前行 CTRL+D 重复当前行 CTRL+K,D 格式化代码 CTRL+M 展开代码
- C#的Event事件
一直不明白事件,今天写了一下,做个笔记吧. 先建一个类,里面有一个方法,返回bool型 public class Subject { public bool IsPass(int x) { Conso ...