虚拟机结构

简介: 虚拟机

1、类加载器
类加载器用来加载Java类到JVM虚拟机中,源代码程序.java文件在经过编译器编译之后就被转换成字节代码.class文件,类加载器负责读取字节代码,并转换成java.lang.Class类的一个实例。

2、运行时数据区
元数据区

JDK1.8开始的说法,之前称为方法区Method-Area,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

堆区

所有线程共享的一块内存区域,虚拟机启动时被创建用来存放对象实例。

JVM栈

可以参考了解栈的数据结构,存放Java方法执行的内存模型,在Java开发中,一个功能实现需要多个子程序方法配合,程序执行时跳往子程序前,会将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,退回到原来的程序中。

本地方法栈

本地方法栈和虚拟机栈的功能类似,为JVM调用native方法时服务。

程序计数器

相对较小的一块内存空间,作用可以理解是当前线程所执行的字节码的行号指示器。

3、执行引擎
Java虚拟机最核心的组成部分,输入的是字节码,处理过程是字节码解析,输出执行结果。

目录
相关文章
|
1月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
39 0
|
2月前
|
存储 安全 Java
深入理解Java内存模型(JMM)与虚拟机的内存结构(JVM)
深入理解Java内存模型(JMM)与虚拟机的内存结构(JVM)
|
3月前
|
存储 Java 索引
《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,夯实底层基础 —— 吃透class字节码文件技术基底和实现原理(核心结构剖析)
《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,夯实底层基础 —— 吃透class字节码文件技术基底和实现原理(核心结构剖析)
60 0
|
3月前
|
存储 安全 搜索推荐
虚拟桌面基础结构(VDI)和虚拟机技术的区别和联系
虚拟桌面基础结构(VDI)和虚拟机技术的区别和联系
|
安全 Java Linux
08-JVM的内存结构之程序计数器和虚拟机栈
接下来我们继续深入第二个环节,也就是JVM的内存结构,很多人想到BAT等大厂去面试,但是现在互联网大厂面试几乎都会考核JVM相关知识的积累,所在在了解完了JVM的类加载机制之后,我们有必要一起来学习下JVM的内存区域划分。
74 0
08-JVM的内存结构之程序计数器和虚拟机栈
|
存储 Java 编译器
一篇文章快速搞懂Java虚拟机的栈帧结构
栈帧(Stack Frame),就是Java虚拟机中的虚拟机栈(Virtual Machine Stack)的基本元素,它也是用于支持Java虚拟机进行方法调用和方法执行背后的数据结构,了解了它就可以更好地理解Java虚拟机执行引擎是如何运行的。
888 0
|
存储 安全 Java
《Java 虚拟机》 基本概念与内存结构
《Java 虚拟机》 基本概念与内存结构
26233 0
《Java 虚拟机》 基本概念与内存结构
|
存储 Oracle Java
《Java 虚拟机》类文件结构与字节码技术
《Java 虚拟机》类文件结构与字节码技术
《Java 虚拟机》类文件结构与字节码技术
|
存储 JavaScript 安全
jvm(16) -- 虚拟机字节码执行引擎(运行时栈帧结构)
jvm(16) -- 虚拟机字节码执行引擎(运行时栈帧结构)
158 0
jvm(16) -- 虚拟机字节码执行引擎(运行时栈帧结构)
|
Ubuntu NoSQL 关系型数据库
微服务【Docker容器解决项目部署问题&Docker和虚拟机的区别&系统结构】第5章
本篇主要是:Docker解决项目的部署问题,比如:依赖兼容问题,跨系统环境问题。以及介绍了Docker和虚拟机之间的区别对比
 微服务【Docker容器解决项目部署问题&Docker和虚拟机的区别&系统结构】第5章