星空网 > 软件开发 > Java

jvm运行时内存解析

一、jvm的概念

  在了解jvm的概念之前,我们先来了解java平台的逻辑结构,图片来自《深入java虚拟机》

  jvm运行时内存解析

 

  从图中我们可以看到jdk包含了jre,java语言和java开发工具和Api,jre包含了java运行的基础类库和java虚拟机,java虚拟机支撑着java程序的运行。

  jvm(java virtual machine)翻译为java虚拟机,从字面上来理解,jvm就是一个虚拟的机器,其实类似于一个操作系统,通过软件去虚拟出一个虚拟机,帮助我们管理计算机的内存和调用计算机的硬件等等。而jvm就是java程序运行时的虚拟机,在java程序运行时,jvm将java字节码文件转换成当前物理机认识的机器语言并且管理程序运行时候的内存,执行当前程序的代码,调用相关的硬件,从而得到程序运行的结果。

二、java程序的工作原理。

  java程序源文件(.java)由java编译工具编译成.class文件,jvm中的类加载器读取.class中的字节码内容,并执行其中的字节码指令,在此期间,jvm还兼顾着管理java程序的运行内存,通过操作系统来调用相关硬件。

  jvm运行时内存解析

三、jvm运行时内存分布

  jvm的运行过程中将java程序运行时数据区分为以下几个部分:

   jvm运行时内存解析

  

  (1)程序计数器:存储虚拟机字节码执行的地址
  (2)java虚拟机栈:java方法运行时的局部变量表,操作数栈,方法出口等
  (3)本地方法栈:类似于java虚拟机栈,运行Native本地方法时存储局部变量表,操作数栈,方法出口等
  (4)方法区:存放程序的常量,静态变量,类加载后的信息,即时编译器编译后的代码。
  (5)java堆:是虚拟机中最大的一块内存,用于存放对象实例
  (6)运行时常量池:方法区的一部分,存放程序运行时的常量和符号引用。




原标题:jvm运行时内存解析

关键词:jvm

jvm
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

广州空派美国专线:https://www.goluckyvip.com/tag/32162.html
广州跨境电商产业园:https://www.goluckyvip.com/tag/32163.html
广州跨境电商大卖家:https://www.goluckyvip.com/tag/32164.html
广州跨境电商培训:https://www.goluckyvip.com/tag/32166.html
广州跨境电商实体店:https://www.goluckyvip.com/tag/32167.html
广州跨境电商学校:https://www.goluckyvip.com/tag/32168.html
深圳玉龙公园簕杜鹃花海花期时间+门票+交通:https://www.vstour.cn/a/365174.html
出境旅游预订须知:https://www.vstour.cn/a/365175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流