易截截图软件、单文件、免安装、纯绿色、仅160KB

java static GC 回收问题

1)静态变量本身不会被回收
2)静态变量所引用的对象是可以回收的。
第一点大家应该没有疑问,下面我证明第2点:
看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:gc参数
java -verbose:gc TestStaticGc
// TestStaticGc.java
public class TestStaticGc {
    // ia是一个静态变量,在这里它作为一个int数组的引用。
    static int[] ia = new int[1024 * 1024];
    
    public static void main(String[] args) {
        int i = 0;
        // 为了清楚,我用了6次循环,每次都调用System.gc();
        // 在第3次循环时,我把ia的引用设为null。
    // 如果ia指向的对象能被回收的话,应该有明显的内存减少现象。
        do {
            if (3 == i++) {
                ia = null;
                System.out.println("release");
            }
            System.gc();
        } while (i<6);
    }
}
现在看结果:
---------- java ----------
// 前两次是每个应用初始化之后都要做的。
[GC 328K->162K(1984K), 0.0043279 secs]
[Full GC 162K->162K(1984K), 0.1501831 secs]
// 下面是调用System.gc()的结果
[Full GC 4267K->4258K(6084K), 0.0234695 secs]  // i =&n


相关文档:

Java的内存泄漏

Java的内存泄漏
===========================================================
作者: shwenwen(http://shwenwen.itpub.net)
发表于: 2009.06.04 10:38
分类: java开发技术
出处: http://shwenwen.itpub.net/post/34911/485404
---------------------------------------------------------------
不管用java C++ ......

java常用类 blobFileBean

package com.whlongyi.sys.blob.bean;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
im ......

收集到的java 正则验证 源码


import java.util.regex.*;   
  
public final class RegExpValidator   
{   
    /**  
     * 验证邮箱  
     * @param 待验证的字符串   ......

Java Reflect 反射机制 学习笔记 [万能toString方法]

利用Java Reflect机制编写万能toString()方法:
 
 
package com.accp.test.filed;

import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;

publ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号