1 / 8
文档名称:

JVM内存分配(栈堆)与JVM回收机制.doc

格式:doc   大小:21KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JVM内存分配(栈堆)与JVM回收机制.doc

上传人:文库旗舰店 2019/9/26 文件大小:21 KB

下载得到文件列表

JVM内存分配(栈堆)与JVM回收机制.doc

相关文档

文档介绍

文档介绍:Java中的堆和栈简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。堆内存用来存放由new创建的对象和数组。在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。引用变量就相当于是为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来访问堆中的数组或对象。具体的说:栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(,int,short,long,byte,float,double,boolean,char)和对象句柄。栈有一个很重要的特殊性,就是存在栈中的数据可以共享。假设我们同时定义:inta=3;intb=3;编译器先处理inta=3;首先它会在栈中创建一个变量为a的引用,然后查找栈中是否有3这个值,如果没找到,就将3存放进来,然后将a指向3。接着处理intb=3;在创建完b的引用变量后,因为在栈中已经有3这个值,便将b直接指向3。这样,就出现了a与b同时均指向3的情况。这时,如果再令a=4;那么编译器会重新搜索栈中是否有4值,如果没有,则将4存放进来,并令a指向4;如果已经有了,则直接将a指向这个地址。因此a值的改变不会影响到b的值。要注意这种数据的共享与两个对象的引用同时指向一个对象的这种共享是不同的,因为这种情况a的修改并不会影响到b,它是由编译器完成的,它有利于节省空间。而一个对象引用变量修改了这个对象的内部状态,会影响到另一个对象引用变量。String是一个特殊的包装类数据。可以用:Stringstr=newString("abc");Stringstr="abc";两种的形式来创建,第一种是用new()来新建对象的,它会在存放于堆中。每调用一次就会创建一个新的对象。而第二种是先在栈中创建一个对String类的对象引用变量str,然后查找栈中有没有存放"abc",如果没有,则将"abc"存放进栈,并令str指向”abc”,如果已经有”abc”则直接令str指向“abc”。比较类里面的数值是否相等时,用equals()方法;当测试两个包装类的引用是否指向同一个对象时,用==,下面用例子说明上面的理论。Stri

最近更新

2020年中级注册安全工程师《安全生产专业实务.. 175页

综合解析重庆市北山中学数学七年级上册整式的.. 20页

2023年全国统一高考生物试卷(北京卷)含答案 12页

肾上腺肿瘤影像学诊断策略 73页

肺间质纤维化的护理查房 16页

2023年监理工程师之交通工程目标控制能力测试.. 17页

创伤救护概要 42页

肺结节的CT诊断和鉴别诊断 99页

肺结核影像表现 36页

综合解析福建厦门市翔安第一中学数学七年级上.. 21页

肺栓塞课件 69页

《商不变的性质》教学设计 6页

综合解析湖南长沙市实验中学数学七年级上册整.. 20页

综合解析湖南长沙市实验中学数学七年级上册整.. 20页

2024年其他非金属矿项目发展计划 70页

2024年屏蔽泵合作协议书 51页

综合解析湖南张家界民族中学数学七年级上册整.. 22页

世界历史全局概览 8页

综合解析河南开封市金明中学数学七年级上册整.. 21页

五年级数学学习方法5篇 11页

综合解析河南周口淮阳第一高级中学数学七年级.. 23页

劳务服务框架协议 11页

动脉血气分析在肺康复治疗中的应用 7页

企业转型发展调研报告 9页

侵入岩主要岩石类型的结构特征及照片图版 7页

2024年农业工程设施与设备项目建议书 41页

综合解析江苏南通市田家炳中学数学七年级上册.. 21页

八木天线的方向图及阻抗匹配和极化匹配 4页

综合解析广西钦州市第一中学数学七年级上册整.. 21页

冀教版七年级下册英语单元测试 Unit 2 It's S.. 10页