基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍

 更新时间:2013年04月17日 15:58:34   作者:  
本篇文章小编将为大家介绍,基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍,需要的可以参考一下

#. 在java中有两类内存。分别称为stack(堆栈)和heap(堆)。

stack是程序内存空间,因此所有的基本类型和对象的引用是存在stack中。

heap是java虚拟机储存对象的,它是一个巨大的内存,当你创造一个对象,java虚拟机把对象放入heap中,把创造的对象的地址放入stack中。

因此,基本类型、对象的引用储存在stack中;对象储存在heap中。

#. java中的垃圾回收机制

当你new一个新的对象,java分配必需的内存。当你用完一个对象时,java的垃圾回收器为你把内存收回。

垃圾回收以线程的形式在后台运行,寻找那些无有用引用(reference)的对象,发现之后便销毁对象,并收回内存。

垃圾回收是在java虚拟机间实现的,它们通常有相同的步骤,首先垃圾回收器获得正在运行的线程和所有已经加载的类的快照,

然后所有线程中涉及到的对象被标记为最近使用的,当可能涉及的对象都被标记的时候,剩下没标记的就被舍弃。

为了帮助虚拟机,我们主动移除一些不在需要的对象是一个不错的做法,可以通过将引用设置为null来实现。

eg:

Text t = new Test();

t.someAction();

//all done

t = null;

相关文章

  • java猜数字小游戏案例

    java猜数字小游戏案例

    这篇文章主要为大家详细介绍了java猜数字小游戏案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • MyBatis使用级联操作解决lombok构造方法识别失败问题

    MyBatis使用级联操作解决lombok构造方法识别失败问题

    这篇文章主要介绍了MyBatis使用级联操作解决lombok构造方法识别失败问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java基础篇之分布式版本控制工具Git

    Java基础篇之分布式版本控制工具Git

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件
    2021-10-10
  • java调用process线程阻塞问题的解决

    java调用process线程阻塞问题的解决

    这篇文章主要介绍了java调用process线程阻塞问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Git工具 conflict冲突问题解决方案

    Git工具 conflict冲突问题解决方案

    这篇文章主要介绍了Git工具 conflict冲突问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • springboot项目整合注册功能模块开发实战

    springboot项目整合注册功能模块开发实战

    这篇文章主要介绍了springboot项目整合注册功能模块开发实战,在用户的注册是首先需要查询当前的用户名是否存在,如果存在则不能进行注册,相当于一个查询语句,本文通过实例代码详细讲解,需要的朋友可以参考下
    2022-11-11
  • Java详解聊天窗口的创建流程

    Java详解聊天窗口的创建流程

    这篇文章主要介绍了怎么用Java来创建一个聊天窗口,聊天软件我们经常要用,但是你有想过自己怎么去实现它吗,感兴趣的朋友跟随文章往下看看吧
    2022-04-04
  • java计算π的多种方法

    java计算π的多种方法

    这篇文章主要介绍了使用java计算π的多种方法,代码详细,逻辑清晰,对于算法思路可能有所帮助,需要的朋友可以参考下
    2021-04-04
  • 解决gateway报netty堆外内存溢出io.netty.util.internal.OutOfDirectMemoryError

    解决gateway报netty堆外内存溢出io.netty.util.internal.OutOfDirectMemor

    这篇文章主要介绍了解决gateway报netty堆外内存溢出io.netty.util.internal.OutOfDirectMemoryError,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • java使用RandomAccessFile类基于指针读写文件实例代码

    java使用RandomAccessFile类基于指针读写文件实例代码

    这篇文章主要介绍了java使用RandomAccessFile类基于指针读写文件实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10

最新评论