• java常见类的方法和使用


    一、Runtime类

    💡 每一个JVM进程里面都会存在一个Runtime类对象,它的主要功能是获取运行时的环境属性,或者创建新进程.

    Runtime类的常用方法:

    1. 内存空间

    代码:

     public static void main(String[] args) {
        Runtime runtime = Runtime.getRuntime();
        System.out.println("所有可用内存空间:"+runtime.maxMemory());
        System.out.println("最大可用内存空间:"+runtime.totalMemory());
        System.out.println("空余内存空间:"+runtime.freeMemory());
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    结果:

    1. GC(Garbage Collection) 垃圾收集器

    我们如果打开一个文件,忘记关闭,时间久了就会导致系统文件描述符表满,从而发生异常(记得close()).为了最大可能的回收垃圾,GC会由JVM不定期的进行自动回收.
    代码:

    public static void main(String[] args) {
            Runtime runtime = Runtime.getRuntime();
            System.out.println("所有可用内存空间:"+runtime.maxMemory());
            System.out.println("最大可用内存空间:"+runtime.totalMemory());
            System.out.println("空余内存空间:"+runtime.freeMemory());
            System.out.println("==========================");
            runtime.gc();
            System.out.println("所有可用内存空间:"+runtime.maxMemory());
            System.out.println("最大可用内存空间:"+runtime.totalMemory());
            System.out.println("空余内存空间:"+runtime.freeMemory());
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    结果:


    2. Random类,这两个类名字相似,干的活却不一样,Random类一般用于 随机数字的生成.
    代码:
     public static void main(String[] args) {
          Random random = new Random();
            for (int i = 0; i < 100; i++) {
                if(i % 10 == 0) {
                    System.out.println();
                }
                System.out.print(random.nextInt(100)+1+" ");
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    结果:

    二、System类

    💡 System类位于java.lang包中,它的构造方法是由private修饰的,所以无法实例化它的对象.

    System类的常用方法:
    1. currentTimeMillis()

    功能:

    返回以毫秒为单位的当前时间(注意返回类型long).

    代码:

    public class Test1 {
        public static void main(String[] args) {
            long start = System.currentTimeMillis();
            long a = 0;
            for (long i = 0; i < 20_0000_0000; i++) {
                a++;
            }
            long end = System.currentTimeMillis();
            System.out.println(end-start);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行结果:

    2. arraycopy()方法

    功能:

    拷贝数组,将原数组复制到目标数组中去.(注意:数组下标越界).

    代码:

    public class Test1 {
        public static void main(String[] args) {
        int[] arr1 = {12,23,34,45,56};
        int[] arr2 = new int[5];
        System.arraycopy(arr1,0,arr2,0,5);
        System.out.println(Arrays.toString(arr2));
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    运行结果:

    三、Math类

    💡 Math类提供了大量的数学方法,以便我们日常的使用.

    Math类的常用方法:


    Math类的使用相对来说是比较容易上手的,代码如下:
     public static void main(String[] args) {
            int a = -10;
            int b = 9;
            System.out.println("最大值: "+Math.max(a, b));
            System.out.println("最小值: "+Math.min(a, b));
            System.out.println("绝对值: "+Math.abs(a));
            System.out.println("开平方"+Math.sqrt(b));
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    结果:

    如上所有的方法,我们知道常用的即可,其他的方法需要是查看文档即可:
    https://www.matools.com/api/java8

  • 相关阅读:
    Anaconda 使用虚拟环境命令集合
    力扣101 对称二叉树 Java版本
    【ECMAScript6】模块化
    硒化镉量子点 CdSe QDs 的产品形态和产品规格描述
    【算法】搜索大法
    探秘小米增程汽车与仿生机器人的未来:AI大模型的潜在影响及苹果iPhone15Pro发热问题解决之道
    spfa求存在负权边的最短路
    利用深度学习进行组水平大脑解码
    着色器(Shader)
    每日算法刷题Day4-完全数、分情况输出、平方矩阵、斐波那契数列匹配输出
  • 原文地址:https://blog.csdn.net/qq_59854519/article/details/126700634