易截截图软件、单文件、免安装、纯绿色、仅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中的autoboxing和auto unboxing

  java 5开始引入了autoboxing 和auto-unboxing机制,方便了基本类型和其对应的wrapper类型的转换。比如我们可以直接把一个基本类型的值赋给其wrapper类型,反之亦然;可以把一个基本类型直接放入容器里,封装的过程由编译器来完成;调用方法的时候可以直接匹配参数autoboxing和auto-unboxing之后的版本。
 这个过程 ......

JAVA获得一个数组的指定长度的排列

import java.util.Stack;

/**
* JAVA获得一个数组的指定长度的排列组合。<br>
*
* @author JAVA世纪网(java2000.net, laozizhu.com)
*/
public class TestSequenceAll {
public static void main(String[] args) {
TestSequenceAll t = new TestSequenceAll();
Ob ......

收集到的java 正则验证 源码


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

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号