易截截图软件、单文件、免安装、纯绿色、仅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中List效率的比较

  inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish
)。
  Java Collections Framework(JCF)
是Java SE中一个基本的类集,几乎所有的项目都会用到,其中的List
则是JCF中最最常用的一个接口。围绕List
接口,有很多实现,诸如常用的ArrayList
、LinkedList
、Vector
、Stack
, ......

java优化占用内存的方法(二)


垃圾收集几乎是每个开发人员都喜爱的一个 Java™ 平台特性,它简化了开发,消除了所有种类的潜在代码错误。可尽管垃圾收集一般来说可以让您无需进行资源管理,有时候您还是必须自己进行一些内务处理。
显式地释放资源
Java 程序中使用的绝大多数资源都是对象,垃圾收集在清理对象方面做得很好。因此,您可以使用任 ......

java代码连接到oracle数据库

package com.deng.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestOracle {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriv ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号