Java 虚拟机JVM

Posted 行之间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 虚拟机JVM相关的知识,希望对你有一定的参考价值。

定义

Java Virtual Machine:Java程序的运行环境(Javae二进制字节码的运行环境),相比C++有以下好处:

  • 一次编写,到处运行
  • 自动内存管理,垃圾回收功能
  • 数组下标越界检查
  • 多态

    学习JVM有什么用?

  • 帮助我们理解底层实现原理,例如:foreach是如何实现的?动态代理又是如何实现的?等等

常见的JVM

JVM是一套规范,可以有不同的实现(HotPot)

学习路线

  • 类加载器:ClassLoader
  • JVM内存结构:Method Area(方法区)、Heap(堆)、JVM Stacks(虚拟机栈)、PC Register(程序计数器)、Native Method Stacks(本地方法栈)
  • 执行引擎:解释器(Interceptor)、JIT Compiler(即时编译器)、GC(垃圾回收器)

内存结构

1.程序计数器

  • 定义:Program Counter Register,程序计数器(寄存器)
    Java源代码->二进制字节码(一堆JVM指令)->通过解释器->机器码->交给CPU执行

其实程序计数器的作用就是:记住下一条JVM指令的地址。

  • 特点:程序计数器是线程私有的
  • 不会存在内存溢出

以上是关于Java 虚拟机JVM的主要内容,如果未能解决你的问题,请参考以下文章

jvm系列-01初识虚拟机与java虚拟机

Java虚拟机(JVM)

Java虚拟机(JVM)

Java虚拟机(JVM)

深入理解Java虚拟机:JVM高级特性与最佳实践的内容简介

JVM学习资料