Java虚拟机(JVM)

前言:为什么要学习java虚拟机?

所有Java的技术问题,都可以追溯到JVM内部。一个程序员Java的水平的高低可以根据他对JVM了解的程度来看。

一、什么是Java

Java虚拟机(JVM)

二、什么是JVM?

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

JVM有什么作用?

JVM 由 三个主要部件构成 : ① 类加载器 ② 运行时数据区 ③ 执行引擎

类加载器 [ClassLoader] :
        它负责在运行时查找和装入类文件的类 , JVM里有多个类加载器 , 每个类加载器负责加载特定位置的类.(如下图:) 例如
    引导类加载器(bootstrap) : 负责加载 jre/lib/rt.jar 中的类
    扩展类加载器(extclassloader) : 负责加载 jre/lib/ext/*.jar 中的类
    系统类加载器(appclassloader) : 负责 classspath 指定的目录或 jar 中的类

JVM的总体结构

Java虚拟机(JVM)

JVM方法区

Java虚拟机(JVM)

 

三、启动JVM

Java虚拟机(JVM)