袁艺

个人站

欢迎来到我的个人站~


JDK介绍

JDK与JRE

​ jdk是Java开发的运行环境,如果不需要开发只需要运行Java程序那么就可以只安装jre。jdk中包含了jre。

​ jre是Java运行时环境,Java文件被javac编译后形成字节码文件,这个文件是计算机不能理解和处理的,需要jvm处理后形成机器语言在传递给计算机处理。

安装目录介绍

安装目录

bin:主要存放的是Java的编译器、解析器等工具

jre(Java runtime environment):Java运行时环境

​ jre/bin:Java平台所使用的工具或者可执行程序

​ jre/lib:jre在运行时需要的一些类库、属性设置、资源文件

lib:Java开发工具的一些类库、包含了JDK工具的核心类库。

src:源码

注意:jdk文件夹内部和外部同时存在两个jre文件夹

内部jre:当你开发Java程序时,需要用到一下javac之类的命令,就会调用jdk内部的jre

外部jre:当你是需运行一个Java程序而不是开发时,就会调用外部的jre。

外部jre中,在其client文件夹中有个jvm.dll;内部jre中,多了一个server文件夹其中也有jvm.dll文件,主要两个jvm的区别,使得内外部的jre有不同的分工,并且能在各自的分工上做到最好(提高各自的效率和性能)

附上oracle官网截图:

oracle官网截图

从图中可以看出JVM< JRE< JDK

环境变量解释

path:与其值相对应的路径下面是一些Java的程序命令,如javac;

classpath:对应路径下时程序需要使用到的一些Java提供的jar包

JAVA_HOME:指向jdk的安装目录,各种编程软件就是通过其找到并使用安装好的jdk

JDK、JRE和JVM的关系

JDK = 常用的Java命令(bin)+jre(类库+jvm)

JRE = 类库 +JVM

JVM = Java虚拟机(实现跨平台、实现类的加载)

在实际开发中,Java程序通过JDK的编译工具将Java程序编译成字节码文件,在jre上运行字节码文件,jvm解析这些字节码文件,再将结果映射到cpu指令,最终显示到显示器上面

jvm

详细介绍

Java虚拟机是运行Java程序必不可少的机制。jvm实现了Java语言的最主要的特征:平台无关性。##原理:编译后的Java程序指令并不直接在硬件系统的cpu上执行,而是由jvm执行。jvm屏蔽了与具体平台相关的信息,使得Java语言编译程序只需要生成在jvm上运行的目标字节码文件,就可以在多种平台上不加修改的运行。Java虚拟机在执行字节码文件时,把字节码解释成具体平台上的机器指令执行——作用1。##

作用:

  1. 可以实现Java的跨平台作用1

  2. 加载字节码文件作用2