文档章节

关于java gc

William
 William
发布于 2010/09/15 10:23
字数 127
阅读 414
收藏 2

import java.util.ArrayList;
import java.util.List;

public class Test {
	{
		System.out.println("=================");
	}

	public void init() {
		tt t = new tt();
		t.run();
	}

	public static void main(String[] args) {
		Test t = new Test();
		t.init();
		t = null;//赋值为null表示此作用域下不用此对象了,告知gc可以回收内存了
		System.gc();///有了这句才会正式销毁对象,释放内存,并调用对象的finalize方法,
                ///但有点搞不清楚,对象已经为null怎么还可以调用finalize,暂时还没明白
		System.out.println('我');
	}

	public class tt {
		public void run() {
			System.out.println("run....");
		}
	}

	protected void finalize() {
		System.out.println("----");
	}
}

© 著作权归作者所有

William
粉丝 8
博文 26
码字总数 7874
作品 0
浦东
程序员
私信 提问
加载中

评论(4)

monkeyk
monkeyk
太简单了吧?
風雲
風雲
对象已经为null怎么还可以调用finalize,暂时还没明白??? t = null; 并不代表对象马上就回收了,什么时候回收还要让jvm决定,赋null值只是告诉虚拟机这个对象可以回收了 且System.gc();也不能确定马上就垃圾回收!
勇敢善良坚强的小海豚
勇敢善良坚强的小海豚
t是"new Test()"的引用, t = null之后"new Test()"如果没有其它对他的引用, "new Test()"就是一个不可获得的对象, 就可以被gc回收了, gc调用的是"new Test()"的finalize方法, 不是t的finalize方法...
答复哈
答复哈
我的理解: "t = null;" 只是说将t引用地址改为null,而"System.gc();","并调用对象的finalize方法"是说"t=null;"时,对象仍然存在的,只不过不是通过"t"的引用来调用,而是指要回收的对象自己调用的.
PerfMa给OpenJDK社区提交的第一个Patch

概述 前两天给openjdk gc-dev的email list提交了一个问题,主要是针对Full GC之后,GC日志里Metaspace的大小在GC前后都一直不变的问题,我在邮件里大概也提了下如何修复该问题,以及猜测了下...

你假笨
2018/09/25
0
0
10 个非常重要的 HotSpot JVM 参数

Sun的JDK包含了很多可以参数而且实际上你也不可能了解每一个JVM参数,从我的经验来看,除了那些和堆大小,打印GC信息和远程调试相关的参数以外,其他的参数你可能基本上都用不到。 即使这样,...

王振威
2012/11/26
9.1K
1
10 个非常重要的 HotSpot JVM 参数

1) 跟 Java 堆大小相关的 JVM 内存参数 下面三个 JVM 参数用来指定堆的初始大小和最大值以及堆栈大小 -Xms 设置 Java 堆的初始化大小 -Xmx 设置最大的 Java 堆大小 -Xss 设置Java线程堆栈大小...

红薯
2011/11/16
1K
7
Sun HotSpot JVM内存管理及垃圾收集

转自:http://blog.csdn.net/watchnight/archive/2009/12/11/4987065.aspx 内存模型(内存池) 从上图可以看出,一个java进程主要分为“Java Heap”和“C Heap”两个部分。只有“Java Heap”...

flynewton
2011/01/11
1K
0
《成神之路-基础篇》JVM——垃圾回收(已完结)

Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是[《成神之路系列文章》][1]的第一篇,主要是关于JVM的一些介绍。 持续更新中 Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收 ...

2018/05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

64.监控平台介绍 安装zabbix 忘记admin密码

19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

oschina130111
今天
13
0
当餐饮遇上大数据,嗯真香!

之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

数澜科技
今天
7
0
DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

红薯
今天
13
0
CC攻击带来的危害我们该如何防御?

随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

云漫网络Ruan
今天
12
0
实验分析性专业硕士提纲撰写要点

为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

论文辅导员
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部