码迷,mamicode.com
首页 > 其他好文 > 详细

jvm内存结构

时间:2019-06-12 00:58:16      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:ble   类信息   方法   数组   堆内存   img   内存管理机制   float   png   

java内存管理机制

Java采用了自动管理内存的方式

Java程序是运行在Jvm之中的

Java的跨平台的基于Jvm的跨平台特性

内存的分配和对象的创建是在Jvm中

用户可以通过一系列参数来配置Jvm

 

                jvm运行区域

技术图片

jvm运行 区域

技术图片

栈内存

线程私有

生命周期和线程相同

主要存放内容

  基本数据类型(int,char,float,double…)

  对象的引用,指向了对象在堆内存中起始地址

  通过-Xss参数配置大小(一个线程启动是申请的内存大小)

堆内存

 技术图片

堆内存是Jvm中空间最大的区域

所有线程共享堆

所有的数组以及内存对象的实例都在此区域分配

堆内存大小通过参数进行配置

  -Xmx:最大堆内存

  -Xms:最小堆内存

堆内存构成

  新生代:包括三块区域,eden、from survivor(s0)、to survivor(s1)

   老年代:old gen

Object o = new Object() 其中,o存放在栈内存中,new Object()存放在堆内存中,变量o是Object对象的引用,o上存放了Object对象占用内存的起始地址

 

永久代

永久代也叫(Method Area) 各线程共享,

主方法区要存放类信息、常量、静态变量,如 public static int a = 10

垃圾回收行为比较少见

 

jvm内存结构

标签:ble   类信息   方法   数组   堆内存   img   内存管理机制   float   png   

原文地址:https://www.cnblogs.com/dwdw/p/11007074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!