Java内存空间的分配及回收

Posted 尐鱼儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java内存空间的分配及回收相关的知识,希望对你有一定的参考价值。

Java中内存分为:

栈:存放简单数据类型变量(值和变量名都存在栈中),存放引用数据类型的变量名以及它所指向的实例的首地址。

堆:存放引用数据类型的实例。

  • Java的垃圾回收

由一个后台线程gc进行垃圾回收。

虚拟机判定内存不够的时候会中断代码的运行,这时候gc才进行垃圾回收。

缺点:不能够精确的去回收内存。


    java.lang.System.gc();

上面代码会建议系统回收内存,但系统不一定回应,会先去看内存是否够用,够用则不予理睬,不够用才会去进行垃圾回收。

  • 内存中什么算是垃圾?

不在被引用的对象(局部变量,没有指针指向的)

以上是关于Java内存空间的分配及回收的主要内容,如果未能解决你的问题,请参考以下文章

JAVA虚拟机内存分配与回收机制

JVM内存模型及垃圾回收机制

不做标题党Java虚拟机何谓垃圾及垃圾回收算法

Node.js的内存分配和垃圾回收

Java 内存分配及垃圾回收机制初探

java中的内存分配