Android基础Java 基础

Java 常用类 10. Java System类

2021-12-19  本文已影响0人  yjtuuige

简介:

常用方法:

方法名 说明
static void arraycopy(...); 复制数组
static long currentTimeMillis(); 获取当前系统时间,返回毫秒值 (常用来计算一个程序执行时间)
static void gc(); 建议 jvm 赶快启动垃圾回收期器回收垃圾
static void exit(int status); 退出 jvm 如果参数是 0 表示正常退出 jvm 非 0 表示异常退出
getProperties(); 确定当前的系统属性。
getProperty(String key); 获取系统某一属性。key - 系统属性的名称。
相关值的描述
java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录
package com.base.demo05;

import java.util.Arrays;

public class Demo07 {
    public static void main(String[] args) {
        // 1.arraycopy(src, srcPos, dest, destPos, length)
        /*
        src-原数组
        srcPos-从哪个位置开始复制0
        dest-目标数组
        destPos-目标数组的位置
        length-复制的长度
        */
        // 原数组
        int[] arr = {12, 6, 30, 18, 22, 55, 98, 3, 36};
        // 目标数组
        int[] dest = new int[9];
        // Arrays.copyOf(original, newLength); 实际调用 System.arraycopy();
        System.arraycopy(arr, 0, dest, 0, arr.length);  // 本地方法,效率高

        for (int i = 0; i < dest.length; i++) {
            System.out.println(dest[i]);
        }
    }
}
package com.base.demo05;

public class Demo08 {
    public static void main(String[] args) {
        // 开始时间
        long begin = System.currentTimeMillis();
        int sum = 0;
        for (int i = 0; i < 100000; i++) {
            sum += i;
        }
        // 结束时间
        long end = System.currentTimeMillis();
        // 循环所用时间
        System.out.println("用时:" + (end - begin) + "ms");
        // 获取本机操作系统
        System.out.println("操作系统的名称:" + System.getProperty("os.name"));
        // 获取本机的全部环境属性
        System.out.println(System.getProperties());
    }
}

垃圾对象的回收

什么是垃圾对象?

package com.base.demo05;

public class Demo10 {
    public static void main(String[] args) {
        Student a = new Student("xiaoming", 10);
        // 断开引用释放空间
        a = null;
        // 直接new,没用引用
        new Student("lihua", 11);
        // 进行垃圾回收
        System.gc();
        // 退出 JVM
        System.exit(0);
         // 已经退出 JVM,不会被执行
        System.out.println("程序结束了!");
    }

    static class Student {
        private String name;
        private int age;

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

        public String toString() {
            return "姓名:" + name + " 年龄:" + age;
        }
        // 对象释放空间时默认调用此方法
        // finalize() Java 8 以后弃用
        public void finalize() throws Throwable {
            // 直接打印对象调用toString
            System.out.println("对象被释放:" + this);
        }
    }
}

总结

上一篇 下一篇

猜你喜欢

热点阅读