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

板城一摄郎

板城一摄郎

2016-02-19 10:31

今天图老师小编给大家精心推荐个基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

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

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

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

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

#. java中的垃圾回收机制

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

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

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

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

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

eg:

Text t = new Test();

t.someAction();

//all done

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

t = null;

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍

全面分析Java的垃圾回收机制

编程语言 网络编程 语言程序设计
全面分析Java的垃圾回收机制

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

基于java中BlockingQueue的使用介绍

编程语言 网络编程
基于java中BlockingQueue的使用介绍

java中String与StringBuilder的区别

编程语言 网络编程
java中String与StringBuilder的区别

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java基础 java中模式和框架的介绍和区别

编程语言 网络编程
java基础 java中模式和框架的介绍和区别

了解Java中的异常机制

编程语言 网络编程
了解Java中的异常机制

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

C# 参考之访问关键字:base、this

C# 参考之访问关键字:base、this

忘记当初 美好约定 - QQ伤感分组

忘记当初 美好约定 - QQ伤感分组
下拉加载更多内容 ↓