1.JVM概述
1.1为什么要学习JVM
通过学习JVM ( java Virtual Machine )可以帮助我们理解java程序运行的过程,了解虚拟机中各种机制的实现原理。为后期写出优质的代码做好准备,为向更高的层次提升打好基础。
1.2虚拟机
虚拟机的本质就是在windows中,虚拟一个运行的环境,分为系统虚拟机比如:VMware和程序虚拟机。程序虚拟机的典型代表就是java虚拟机,虚拟机是专门为执行某个单个计算机程序而设计。在java虚拟机中执行的指令我们称为java字节码指令。
1.3JVM作用
(1)负责将字节码加载到内存中(运行时数据区)
(2)负责存储数据
(3)把字节码翻译为机器码并执行
特点:一次编译到处运行——现在的JVM不仅可以执行java字节码,还可以执行其他语言编译后的字节码文件,是一个跨语言平台。自动的内存分配,自动垃圾回收功能。
1.4JVM整体组成
1.类加器(负责加载字节码文件)
2.运行时数据区(存储运时数据,堆,java虚拟机栈(运行java自己的方法),方法区,程序计数器,本地方法栈)
3.执行引擎(更底层,把字节码翻译为机器码)
4.本地方法接口