社区
Java SE
帖子详情
java 垃圾回收
veardn
2012-08-18 03:18:32
在java中如果一个对象不被引用,那么这个对象会被回收
那如果一个对象不被引用,但其内部成员对象还在被引用,那这时的回收机制是什么?我网上找了很久,没有相关资料
...全文
85
3
打赏
收藏
java 垃圾回收
在java中如果一个对象不被引用,那么这个对象会被回收 那如果一个对象不被引用,但其内部成员对象还在被引用,那这时的回收机制是什么?我网上找了很久,没有相关资料
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
syhc006
2012-08-18
打赏
举报
回复
垃圾回收是基于判断对象是否有引用存在。如果一个对象是活动的,一定能追溯到一个存活在堆栈或静态存储区域里的引用。所以判断一个对象是否会被回收,对象是否是活动的,可以从堆栈和静态存储区域出发,遍历所有引用,这些引用所指向的对象都是活动队。然后在从这些对象出发,遍历它们所包含的引用,这些也是活动的。重复上面的步骤,直到没有新引用被访问到。发现的这些引用所对应的对象都是活动的,不会被回收。
lywh348977787
2012-08-18
打赏
举报
回复
在java的学海里面,有着很多的东西,耐人寻味,引人入胜。
我在java里也工作3个年头了,不过我觉得自己学的东西仿佛只是java的冰山一角。
现在一直边工作边学习,在工作的过程中,学会了很多东西,这些都是在书上,在教程当中所学习不到的,特别在项目开发当中的话,觉得"交流"特别重要,不管你个人技术水平有多高,不管你个人全能否,都不外乎需要"交流"。
Struts1,Struts2,Spring,Hibernate,EJB,Ibabtis等项目经常需要用的框架,我们或者对其已经熟悉的不能再熟悉了,不过,在此又有个很大的弊端,有些工作了些许年的程序员,现在还依旧只知道这些框架怎么去用,但是不知道为什么可以这样去用。说一次我面试的经历,今天老大喊我帮忙去面试个人,我看了下来面试的人的简历,一看工作时间竟然有10年? 我但是心里一颤抖,尽然我这个刚工作3年面试一个10年经验的。。。不过,后面开始面试了,我也稍许淡定了些,不为什么,就因为我觉得对面的10年工作程序员也不过如此。因为,我问了他关于框架的东西,他无所不知,问他一个问题,他可以回答我3个出来,但是我一问java基础,反射,代理模式,单例模式,和这些框架一些底层实现的方法之类的,他竟然像个孩子一样无助的看着我。。。
我回去之后想了很多,10年的工作经验在开发生涯当中,已经算是"白骨精"(白领,骨干,精英)的境界了,可能说早已经成为管理层的一员了。不过,这位,还依旧在找着编码工作,我并不是有其他的想法,而是我觉得,在很多时候,一件事物的存在时有很多原因的,多方面去关注才能看清楚事物的本质。所以,我想到的就是为什么会这样?第一个,很简单很明显的就是,在工作中,还需要继续的学习。我记得我的以前的老大和我说过一个故事。
有个面包师,在麦当劳工作了有3年了,每天重复着单一的工作内容,但是在刚开始的觉得过得还不错,因为在那个时候工资待遇不错,工作要求水平也不高,也就这么不错的过着。但是就只在第三年,他的工资依旧没有涨过,他一次和老板提加薪要求,但是被老板一口回绝,并说着:你做的事情每一个不懂的人只需要稍微学习下就行了,你不做自然有人会来做。后来一了解,麦当劳面包师不能说是面包师,而是烹饪师,因为一切的原料都已经做好了,他只需要把那些面包和汉堡之类的放微波炉中,油锅里面热一热,炸一炸就可以出炉了。后来,经人介绍,买下了一个小小的面包作坊,他可能说是自己也了解到自己为什么做了这么久的时间还得不到老板加薪,自己刻苦的钻研着怎么让自己的面包更让顾客喜欢,更吸引别人,后来也就凭着自己的努力,终于做好了自己的品牌,成功了。
故事说了有点罗嗦,但是你看了之后应该会明白些什么,只有你成为了一个团队,一个生活圈不可或缺的人的时候,你才能活的自由,你才能获得你相应的报酬,如果你是那个获得或缺的人,那你的存在就显得不那么的重要,自然你就不会成为可以主宰的人。
第二个,怎么继续学习?就像我前面说的,不能只图方便,只图着一时的轻松,周而复始的这么做的,就像说的这个框架你使用的不能再熟练了,但是你还是一样,只是知道怎么使用,但是一个框架的最主要的不是怎么去使用,而是懂得其底层的思想。就想你熟悉的java,如果再让你去学习C#语言,可能不会像你刚学习java的时候那么困难了吧?但是从中,我又想起了一点,不知道是人性的问点,还是个别人的问题。在学习的时候,坚持不了,只会做三分钟先生。包括我,有的时候也有这些看似没多大问题,其实很严重的问题。
我很困扰,我真的很困扰自己该怎么解决这个问题,难道还请个人来一起学习自己才能学习的上心些么?因为自己在那个时候刚出来,心浮气躁的,根本来说静不下心来说去好好学习。后来由着朋友介绍了一些技术群,和大家一起讨论问题解决问题,我很享受这种感觉,和大家一起学习互相鼓励,后来也懂得一些做人,做事,做学问的方法和道理,就是一个人可能不那么强大,集所有人的力量一定能够解决看似很强大的bug.
现在我经过了那段热血的但是及其浮躁的年代,现在我想把自己的一些经验告诉大家,而且我也想让大家能够在一起学习,而且是一起互帮互助学习,不管是在工作当中还是在学习,都得明白和大家多交流,一起多学习,而且对于别人的建议和推荐一定要好好考虑!
我在很多技术论坛都学习过,不过我觉得在很多论坛中学习的资料是很多,但是在某些方面来说的话,并不是很适合每一个人,我觉得在很多时候有想学的但是没有肯教的,所以我想有个能让每一个人都有学的地方就好了,因为在群里聊天的话也只能不太固定的教些东西,而且也不能让所有人参与进来。所以我自己弄了个论坛,www.90cxy.com 90程序员,刚刚起步,不为了名,不为了利,只想有个可以和很多人一起学习的平台,虽然不说很好,但是我想,可以让每个人都不至于空手而归。
龙四
2012-08-18
打赏
举报
回复
《Java Performance》chapter 3
基于ssm线上
垃圾回收
平台(毕设)
(5)上门回收:主要实现上门回收功能 (6)回收订单管理:该模块只要实现垃圾物品回收订单的查看与修改功能 适合做毕业设计参考项目。 2,涉及技术:SSM框架,Tomcat 3,开发环境:IDEA...
java
垃圾回收
的方法_
java
垃圾回收
的方法都有哪些
我们在前几期的文章中曾经给大家讲解过
java
编程开发的
垃圾回收
机制问题,而今天我们就再来聊聊
java
垃圾回收
的方法都有哪些。1、标记清除法(Mark-Sweep)标记清除算法是现代
垃圾回收
算法的思想基础。它主要分为两个阶段:标记阶段和清除阶段。在标记阶段,先通过根节点,标记所有从根节点开始的可达队对象,因此未被标记的对象就是未被引用的垃圾对象。然后在清除阶段,清除所有的未被标记的对象。标记清除算法...
Java
垃圾回收
机制深入理解
Java
垃圾回收
机制是
Java
虚拟机(JVM)的核心组件之一,对于内存管理起到至关重要的作用。它能自动追踪并管理应用程序中创建的对象,当这些对象不再使用时,
垃圾回收
机制会自动回收其占用的内存,使这部分内存能够被再次利用。此机制极大地减少了开发者需要手动管理内存的负担,防止了因为疏忽导致的内存泄漏问题,是
Java
语言相较于C++等其他语言的一个显著优点。在
Java
中,对象的生命周期从创建(new)开始,到不再被其他对象引用结束。
Java
垃圾回收
机制(Garbage Collection)、
Java
垃圾回收
机制与C++
垃圾回收
机制的区别
Java
垃圾回收
机制1、当一个对象没有被任何引用的时候,
java
的
垃圾回收
机制就会自动回收这些对象。2、程序员可以调用System.gc(),来通知GC(
垃圾回收
器运行),但是并不会立马运行,就相当于我们通过System.gc()来建议GC运行,但GC具体什么时候运行由他自己说了算3、每个类都有一个finalize()方法,来释放对象的资源,但是不推荐使用,尽量少用
Java
垃圾回收
机制与C++垃圾回
【面试精讲】
Java
垃圾回收
算法分析和代码示例
垃圾回收
是
Java
内存管理中不可或缺的一部分,不同的
垃圾回收
算法各有优劣,适用于不同的场景和需求。现代JVM如HotSpot,提供了多种
垃圾回收
器,比如Serial、Parallel、CMS、G1等,它们背后的实现原理基本上是上述
垃圾回收
算法的变体或组合。理解这些算法的基本原理,可以帮助开发者更好地理解JVM的内存管理机制,从而写出更高效、更稳定的
Java
应用程序。如果本文对你有帮助 欢迎关注、评论, 博主才有动力持续记录遇到的问题!!!
Java SE
62,614
社区成员
307,319
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章