【JVM】学习JVM的总纲

本文是开篇,不涉及技术层面的知识。

一、jvm是什么

1. 百度百科上的概念

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
——百度百科

2.作用

  1. 实现一处编译到处运行

这是java语言能够一处编译到处运行的根本,一般不同操作系统都会对应一个jvm,我们只需要编写好java源代码,编译成class文件,就可以放到任意一种的操作系统上已经安装好的jvm中运行。
jvm在各种操作系统中的存在相当于一个进程,它的底层是调用操作系统的指令实现的。

  1. 执行class文件
    jvm有自己完善的硬件架构,能够帮我们实现类加载,将class文件转换成操作系统的指令,优化class文件。

3.特性

  1. 移植性。上面也有讲到,就不重复了。
  2. 成熟性。Java,诞生于1995年,原属于SUM公司,在1996,JDK1.0正式发布,jvm就诞生了,时间越长成熟性就越高。
  3. 覆盖面。

4.jvm中的程序执行流程

在这里插入图片描述

二、JVM的五大模块

1.类装载器子系统

用来将.class文件装载到内存中

在这里插入图片描述

2.*运行时数据区

这个是我们应该了解的重点。
这一模块讲的是jvm在运行时,它所占据的内存结构
在这里插入图片描述

3.执行引擎

执行引擎是jvm核心组成部分之一,建立在物理器,硬件和操作系统层面之上,引擎在执行代码时会有解释执行和编译执行两种选择,输入字节码文件,字节码解析输出结果.

就是将.class文件转换为操作系统的指令。

4.本地方法接口

这里涉及到本地方法栈,本地方法库

5.*垃圾回收机制

GC策略/算法、GC分析、JVM调优等,这也是我们要学习的重点。

三、最后

以后关于【JVM】的文章都会围绕这五个模块来讲,争取精通JVM。

 

posted @ 2020-05-13 16:37  程序员徐小白  阅读(69)  评论(0)    收藏  举报