Java教程

JAVA学习之JDK,JRE和JVM

本文主要是介绍JAVA学习之JDK,JRE和JVM,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 1.JVM--Java Virtual Machine(Java虚拟机)

1.1 定义 

 JVM提供了执行Java字节码的运行环境,它还可以运行用其他语言编写并编译成字节码的程序。它只是一组规范,在物理上并不存在。JVM能够:加载代码、验证代码、执行代码并提供运行环境。

1.2 JVM的结构

Classloader

类加载器是JVM的一个子系统,用于加载类文件。每当我们运行Java程序时,它首先由类加载器加载.

Class Area

Class Area存储每类结构,如运行时常量池、字段和方法数据、方法代码。

Heap 堆

它是在运行时存储对象的数据区域。

Stack 栈

栈在Java中用来保存局部变量和部分结果,并在方法调用和返回中发挥作用。每个线程都有一个私有JVM栈,与线程同时创建。

PC Register

PC(程序计数器)寄存器包含当前正在执行的Java虚拟机指令的地址。

Native Method Stack

它包含应用程序中使用的所有本机方法。

Execution Engine

它包含:

1.虚拟处理器

2.解释器(Interpreter):读取字节码流,然后执行指令。

3. 即时编译器(Just-In-Time compiler):它被用来提高性能.JIT同时编译具有类似功能的部分字节代码,从而减少编译所需的时间。

Java Native Interface

JNI是一个框架,它提供一个接口来与另一种语言(如C、C++、Assembly等)编写的应用程序进行通信。Java使用JNI框架将输出发送到控制台或与OS库交互。

 2.JRE--Java Runtime Environment

 JRE是为运行Java程序提供环境的安装包,它是JVM的实现。它在物理上是存在的。它包含一组库和JVM在运行时使用的其他文件。

3.JDK--Java Development Kit

3.1 定义

 JDK是为开发和运行Java程序提供环境的工具包,它仅被Java开发者使用,包括:

1. 开发工具(用来开发Java程序)

2.JRE (用来执行Java程序)

JDK分为三个版本:标准版(Java SE,用来做电脑上运行的软件),企业版(Java EE,用来做网站)和移动版(Java ME,用来做手机软件)。

jdk vs jre vs jvm - Java Beginners Tutorial

3.2 JDK中的部分组件的作用:

javac: 它指定Java编译器,它将源代码转换为Java字节码。

java: Java应用程序的加载程序。这个工具是一个解释器,可以解释javac编译器生成的类文件。

javadoc: 文档生成器,它从源代码注释自动生成文档。

jar: 指定归档程序,它将相关类库打包到单个JAR文件中。此工具还有助于管理JAR文件。

javap: 类文件反汇编程序。

JConsole: Java监控和管理控制台。

Java VirtualVM:它是一个可视化工具,集成了几个命令行jdk工具和轻量级性能和内存分析功能。

这篇关于JAVA学习之JDK,JRE和JVM的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!