展开全部
Java中的内存其实是java虚拟机帮助程序员管理的。。
笼统地去讲,java的内存分配分为两个部分,一个是数据堆,一个是栈
程序在运行的时候 一般分配数据堆,把局部的临时的变量都放进去,生命周期和进程有关系。但是如果程序员声明了static的变量,就直接在栈中运行的,进程销毁了,不一定会销毁static变量。
另外为了保证java内存不会溢出,java中有垃圾回收机制
System.gc()即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。
笼统地去讲,java的内存分配分为两个部分,一个是数据堆,一个是栈
程序在运行的时候 一般分配数据堆,把局部的临时的变量都放进去,生命周期和进程有关系。但是如果程序员声明了static的变量,就直接在栈中运行的,进程销毁了,不一定会销毁static变量。
另外为了保证java内存不会溢出,java中有垃圾回收机制
System.gc()即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。
展开全部
Java语言设计的初衷就是让你不用去管那复杂的内存,如果你的确想了解,知道内存的栈区和堆区也就够了,这个你上网去查一下,客观地讲,楼上的答案不怎么好。如果你还想了解得更复杂,可以看一下《Computer Systems, A Programmer's Perspective》这本书,我在这里就不跟你讲了,要讲的话就要一大篇。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
chelin_kaka 说的很明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询