Android面试题JVM的垃圾回收之判断哪些内存需要回收
我们只有在程序运行期间才知道创建了哪些对象,这部分的内存的分配和回收是动态的。垃圾回收也是关注这部分的内存。了解内存回收我们主要从这几个方面入手:
1。哪些内存需要回收。
2。什么时候回收。
3。怎么回收。
也是说who,when,how。
先说第一个,哪些内存需要回收。
当然是不再使用的内存需要回收。我们主要是了解怎么判断,哪些对象占用的内存不再使用呢?使用下面这几个方法:
1。引用计数法
就是在对象被引用的时候,引用计数加一,引用失效的时候减一。当为0的时候就说明没有再被引用。可以回收。听上去很好,可惜不能解决循环引用的问题。所以JAVA中没有使用。
2。根搜索法
这个也叫可达性分析。这个算法的思路就是通过一些列名为GCROOts的对象作为起始点,向下搜索。所有走过的路径,叫做引用链。当一个对象,他没有在任何GCROOTS引用链的时候,那就是不可达。所以就是无用对象,可以被回收。
上面两种方法,都说到了引用。这里引用也有几种情况:
1。强引用
比如:StudentsnewStudent();只要强引用还在,GC就永远不可能回收他。
2。软引用
用来描述一些有用,但并非的对象。在即将发生OOM的时候,回收这些软引用的对象,但是回收之后还是不够内存,就会发出OOM。JAVA中有softrefrence类实现。
3。弱引用
也是用来描述一些非必须的对象,但是他比软引用要弱一些。在GC工作的时候,无论内存是否够用,都给他回收掉。WeakReferece类实现。
4。虚引用
从名字也可以看出,这是最弱的引用关系。为一个对象赋予虚引用不会影响这个对象的生存时间,也无法通过虚引用得到这个对象的实例。使用他的唯一目的就是希望这个对象被GC回收的时候,我们收到一个系统通知。PhantomReference类来实现。
王一博事件新进展,女孩发床照后发大肚视频,不料评论区翻车3月17日上午8点25分9点07分,微博用户晗晗qvq先后发了两条视频,镜头直接对准她的肚子,能明显看出肚子挺大的。女演员拍怀孕戏为了让肚子鼓起来,剧组道具会给准备孕垫,针对怀孕不
美人图集Angelababy(杨颖)白色卫衣搭配黑色裤子,稍加修饰的妆容,还有随意慵懒的卷发,抓起,放下,又俏皮又灵动,真是符合春天的季节!让人瞬间感受到了春的温和与生机!三月baby又放出在新加坡版本ELLA的za
白衣红裙,绝美仙姿她的身影如同一道白色的光芒,从画卷中缓缓飘出。她如梦似幻,身着一袭洁白的上衣,轻盈飘逸,仿佛从梦境中走出来的仙女,洁白的上衣轻柔地呈现出她身体的柔嫩和优美。下面则是一条红色的裙子,
地方财政缓慢修复经济观察报记者杜涛以前单位是每个月10号发工资,现在是月底前的最后一天发工资,已经都习惯了。一位地方财政人士对记者表示。进入2023年,疫情影响渐渐散去,各地财政正在缓慢开启修复状
千年运河润京城丨一河阅千载,一河览古今近日,央视八套正在热播情满九道弯,这是一部描述老北京生活的影视作品。其实剧中的九道弯胡同应该写作九道湾,这片区域就在现在北新桥路口的东南,其周边有着非常悠久的历史,在明代这里还曾是
考古改写中国史三千年前,是召公奭建造了最早的北京城北京琉璃河遗址博物馆召公奭,又称作召公召伯召康公,姬姓,与周武王同辈,是周朝重要的开国功臣之一。生卒年不详。关于他的出身,文献说法不一,大多认为他是姬周的近支,但白虎通王者不臣章记
家里有白酒要留心!最好不要在3个地方存酒,不然酒越存越差随着白酒在大家生活中的应用范围越来越广,现在谁家里还不存上几瓶白酒啊?不管是平时自己喝,还是哪天家里来客人了都需要一瓶好酒来撑场面,可以说成年人的世界离不了白酒。但是,随之而来的还
我发明了一种自由朱显荣心理咨询朱显荣心理咨询我发明了一种自由,在我三十四岁的时候。人们可能很难想象,有种关于自由的梦想是恸哭的自由。之前我也没听说过,就勉强算是我发明的了。我打小爱笑,哭的时候很少。我的妈妈是一
真心诚心奉献之心很多人都不知道有这么回事,做事情特别积极,就是把所有私心都去掉,只留下奉献之心,这样做事特别卖力,从来就没有叫苦不迭,总是使出万分之力,很美丽,很动人的就是付出所有汗水与泪水,从来
王宝强与新女友领证,马蓉发文公然挑衅,并认为自己是个好妻子头条创作挑战赛王宝强与新女友私下领证,马蓉却在社交平台发文公然挑衅,但他的挑衅阻挠在许多网友看来是一种笑话,自从和王宝强宣布分手之后,马蓉就在社交平台上各种找存在感,就比如马蓉有一
冰下潜水52。1米!吉尼斯世界新纪录在2021年创下80。9米长的男子冰下游泳吉尼斯世界纪录后,40岁的捷克自由潜水员大卫文克尔又创下了冰下潜水52。1米深的吉尼斯世界纪录。据英国卫报14日报道,当日,文克尔在没有穿