java在sleep时,会进行垃圾回收吗

I_am_a_java_CaiNiao I_am_a_java_CaiNiao 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家好,我目前有一个POJO对象, 该对象中具有很多属性(会有对象属性及继续深入的嵌套):
class MyObject {
private String str1;
private String str2;
private Object obj1;
private List<Object> objList;
....
}
当该对象初始化,进行一系列操作后,有一些属性,程序已不再需要,因此我希望能将这些属性占用的内存回收。如:我不再需要objList这个对象属性。
以下代码,表示最终将MyObject的一个对象的objList属性置null,但JVM不会马上回收
MyObject myobj = new MyObject();
// ... business logic
myobj.setObjList(null);
问1:
System.gc(); // 假设加了这一句,效果会比不加好吗?
问2:
// 以下情况会比“问1”中的好吗?
Thread.sleep(2000L);
System.gc();

谢谢~
...全文

相关推荐

Java9垃圾回收方法finalize() 原理解析

主要介绍了Java9垃圾回收方法finalize() 原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

weixin_38696339

Java面试题集(面试时技术部面试官一般会问的技术题)

最近面试了几家公司,都是java题,然后在面试过程中发现一般面试官会问的技术问题都可以在本文档找得到,一般会问servlet的生命周期、Struts和struts2的区别,hibernate、spring的认识、对象、修饰符的作用域、OOP的如接口、抽象、JSP的内置对象等。(仅供参考,希望能帮到你)

_Elang

Java面试笔试题集

经过本人精心收集的java面试题集。喜欢能给你带来帮助。你的快乐就是我最大的心愿。

木塔酷派

java基础考试题

是关于java的一些面试题,用于练习和面试时做参考的。

qq_22333931

详解JVM的垃圾回收算法来做细节.docx

我们知道目前的JVM的垃圾回收器都是采用 可达性分析算法 标记存活对象,该算法首先需要找到GC Roots,然后通过这些根节点向下搜索,能搜索到的就标记为存活对象,未被标记的最后就会被垃圾回收器回收。那你是否想过垃圾回收器怎么找到GC Roots呢?对于在方法区的根节点难道需要将方法区中的类、常量等信息一个不漏的都扫描一遍么? 虚拟机当然不会这么做,否则即使CMS和G1在初始标记这个环节都会停顿较长时间。实际上虚拟机在类加载完成后就会将对象引用维护到一组成为OopMap的数据结构中,在GC进行初始标记这个环节时直接从该数据结构中获取根节点即可。 另外在进行根节点枚举时,这些根节点必然是不能变化的(不可能为每条指令都生成对应的OopMap),即必须冻结在开始扫描之前的某个时间点,这也是为什么初始标记时都会需要STW的原因。

小兔子平安
评论 9
收藏 已收藏
分享
返回顶部
I_am_a_java_CaiNiao
Java SE 62,620 成员 307,251 内容