栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

System类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

System类

system系统类,主要用于获取系统的属性数据和其他操作,构造方法私有的。,用的时候不需要创建对象,他的属性和方法都是静态的,直接用System.就可以直接使用

方法名说明
static void arrarcopy(...);复制数组
static long currentTimeMillis();获取当前系统时间,返回毫秒值
static void gc();建议JVM赶快启动垃圾回收器回收垃圾
static void exit(int status)推出JVM(JAVA虚拟机),若参数是0则表示正常退出JVM,非0则是异常退出JVM。

示例

c

其中Object sec时你要从哪个数组当中复制,int strPos复制的数组从哪个位置开始复制,第一个位置是0,Object dest是目标数组,就是你要复制到哪个数组里面,int destPos是你要从哪个位置开始放,int length是复制的长度就是你要复制几个。

Arrays.copyOf(original,newLength)也可以复制数组,system.arraycopy他是本地方法,是没有方法体的,本地方法的方法体是由JVM来实现的,高效,Arrays.copyOf(original,newLength)里用的方法就是Arrays.copyOf(original,newLength)方法。

System.currentTimillis()方法用来计时,可以用来计算代码的用时。单位是毫秒。

System.gc();只是告诉垃圾回收器回收垃圾,回不回收是不确定的。想知道有没有被回收,就把对象改成不被引用,即例如  GC gc=new GC("fanfan",25);这样的例子全改为new GC("fan",25);这样的例子,即,使它们不被引用,就会被回收。

退出·JVM

System.exit(0);就是正常退出,括号里为非0就是不正常退出

垃圾回收

public class GC {
    private String name;
    private int age;
    //创建一个带参的构造方法


    public GC(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public GC() {
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "GC{" + "name='" + name + ''' + ", age=" + age + '}';
    }

    @Override
    protected void finalize() throws Throwable {
        super.finalize();
        System.out.println("回收了"+name+"   "+age);
    }
}

示例

public class systemLei {
    public static void main(String[] args) {
        //arraycopy数组的复制
        int[] arr1={59,45,87,48,87,45,34,84,45};
        int[] arr2=new int[8];
        System.arraycopy(arr1,0,arr2,0,arr2.length);
        //复制arr1的第0个位置到arr2中,从arr2的第0个位置开始放起,复制8个数
        //开始计时
        long start=System.currentTimeMillis();

        for (int i = 0; i < arr2.length; i++) {
            System.out.println(arr2[i]);

        }
        //回收垃圾
        long end=System.currentTimeMillis();
        //计时结束
        System.out.println(end-start);
       new GC("fanfan",18);
       new GC("fanfanfan",18);
       new GC("fanfanfanfan",18);
        System.gc();
        System.exit(0);//0是正常结束,只要是非0就是不正常结束
        System.out.println("程序结束了");//其实不会执行这句话,因为在执行完上一代码时,JVM就已经正常结束了
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号