Java程序的运行过程:
1, 编译器将源代码编译成.class文件(对于虚拟机来说并不关心class文件的来源是什么,只要他符合java class文件的规则,就可以在jvm中运行,使用其它语言将其编译成class文件也是可以在jvm中运行的)
2,由ClassLoad(类加载器)将.class文件加载到内存
3, 由Execution Engine(执行引擎)解释命令,提交到操作系统
4, 若是需要调用其它语言的函数则由Native Method Interface(本地方法接口)完成,首先会在native method stack(本地方法栈)中登记函数,执行引擎执行是加载native libraries(本地方法库)
ClassLoad(类装载器):加载类文件到内存,并且只加载符合格式的class文件,并不负责是否能够运行
Runtime Data Area
Programme Counter Resister:每当启动一个线程时,都会为这个新线程创建一个自己的 pc寄存器。
Java Stack:Java栈是线程私有的。每当启动一个线程时,.Java虚拟机都会为他分配一个Java栈。以帧为单位进行压栈或者出栈。当线程调用Java方法时,虚拟机则压入一个新的栈政到该线程的Java栈中。当方法返回时,这个栈帧被从Java栈中弹出并被抛弃。其存储局部变量、操作栈、动态链接、方法出口。
Native Method Stack:本地方法栈则是为虚拟机使用的Native方法服务。某个虚拟机实现的本地方法接口是使用c连接模型的话,那么它的本地方法栈就是c栈
Heap:堆是Java虚拟机所管理的内存中最大的一块,Java堆是被所有的线程共享的一块内存区域,在虚拟机启动时创建。所有的对象实例都要以及数组都要在堆上分配,同时堆也是Java虚拟机主要管理的区域
Method Area:类加载器加载class文件到内存时,虚拟机会提取其中的类型信息,并将这些信息存储到方法区。方法区用于存储已被虚拟机加载的类信息、常量静态变量等数据。由所有的线程贡献方法区。
Execution Engine:执行引擎也叫解释器,负责解释命令,提交操作系统执行。
相关推荐
jvm内存结构
JVM内存结构,配置参数,JVM调优监控,待完善
详细的介绍了JVM内存结构和JVM的6大区域
JVM内存结构.zip
主要是JVM内存分配及简单的JVM性能调优
JVM内存结构-JVM体系结构 程序计数器 虚拟机栈 本地方法栈 堆 方法区
1.jvm内存结构及功能概述 2.Jvm Heap 内存结构 3.Jvm 的内存分配
Jvm性能优化-JVM内存结构原理分析03
java jvm内存结构 调优
(二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.(二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.
2019最新深入理解JVM内存结构及运行原理(JVM调优)高级核心课程视频教程下载。JVM是Java知识体系中的重要部分,对JVM底层的了解是每一位Java程序员深入Java技术领域的重要因素。本课程试图通过简单易懂的方式,系统...
jvm内存反洗工具:
JVM内存结构笔记 55M大文件,全面细致的涵盖所有JVM内存管理知识点,学习JVM,收藏只此一份文档即可
JVM内存结构 bin工具 jmap jstat
linux & JVM内存结构分析
idea插件JVM内存工具JProfiler11,下载完,即可导入idea,可idea快捷打开使用。
一文搞懂JVM内存结构。 一篇文章带你快速了解!
主要为大家讲解JVM内存模型|内存结构|内存屏障,他们的概念,有什么关联以及各种的功能
jvm内存模型,jvm脑图,jvm调优,jvm垃圾回收算法,jvm垃圾回收器,逃逸算法等总结。