东莞个人免费建网站,网站html静态化解决方案,dw做的静态网站怎么分享链接,河北工程大学事件一、Java Virtual Machine #xff08;JVM#xff09;概述
Java Virtual Machine 虚拟机 #xff08;JVM#xff09; 是一种抽象的计算机。JVM本身也是一个程序#xff0c;但是对于编写在其中执行的程序来说#xff0c;它看起来像一台机器。对于特定的操作系统#xff…一、Java Virtual Machine JVM概述
Java Virtual Machine 虚拟机 JVM 是一种抽象的计算机。JVM本身也是一个程序但是对于编写在其中执行的程序来说它看起来像一台机器。对于特定的操作系统每个 JVM 实现都将 Java 编程指令转换为在本地操作系统上运行的指令和命令。这样Java程序就实现了平台独立性。第一个JVM的实现就是Hotspot
二、Hotspot Architecture
The HotSpot JVM的逻辑结构图如下
Hotspot虚机机主要的组件包括the classloader类加载器, the runtime data areas运行时数据区, and the execution执行引擎
1、 the runtime data areas运行时数据区
1、1 The pc Register program counter registers 程序计数寄存器
JVM可以支持同时多线程运行每一个JVM线程都会有它自己的pc Register pc Register 中存储的其实就是当前被执行的代码的地址。如果一个方法method不是native方法那么pc Register 中存储的其实就是当前被执行的代码的地址如果一个方法method是native方法那么pc Register 是无值的
1、2 Heap堆
在JVM中有一个区域被叫做Heap堆该区域被所有的JVM线程所共有所有的java类的实例对象 class instances和数组arrays的内存申请都会被分配allocated在这个区域中。
1、3 Java Virtual Machine Stacks栈
每一个JVM线程都会有一个私有的栈private Java Virtual Machine stack与该线程一同被创建出来。
1、4 Method Area 方法区
在JVM中有一个区域被叫做Method Area方法区该区域被所有的JVM线程所共有。
1、5 Run-Time Constant Pool