• 【从入门到起飞】JavaAPI—System,Runtime,Object,Objects类


    🎊专栏【JavaSE】
    🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
    🎆音乐分享【如愿】
    🎄欢迎并且感谢大家指出小吉的问题🥰


    在这里插入图片描述

    🍔System类

    ⭐exit()

    终止当前运行的Java虚拟机

    执行这段代码后,后面的代码都不再执行

    System.exit(0);
    
    • 1

    在这里插入图片描述

    ⭐currentTimeMillis()

    返回当前系统的时间(用毫秒表示)

    记录的是从1970.1.1 0时0分0秒 到现在有多长时间

    System.currentTimeMillis();
    
    • 1

    在这里插入图片描述

    🎄用处

    可以比较两个程序的运行时间,从而判断哪个程序效率更高

     long start=System.currentTimeMillis();
     //调用函数
     long end=System.currentTimeMillis();
     //获取程序运行的总时间
     System.out.println(end - start);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    ⭐arraycopy()

    数组拷贝

    System.arraycopy(num1,num2,num3,num4,num5);
    
    • 1

    num1:被拷贝的数组
    num2:从哪个索引开始拷贝
    num3:数据被拷贝到的数组(目标数组)
    num4:目标数组 开始的索引
    num5:拷贝长度
    在这里插入图片描述
    这种情况的也可以
    在这里插入图片描述

    🍔Runtime类

    可以用来监控虚拟机的内存

    ⭐创建对象

    错误写法
    Runtime r1=new Runtime();

    类 Runtime 是 Java 标准库中的一个类,用于与运行时系统进行交互,但它不允许通过 new Runtime() 的方式实例化对象,因为其构造函数是私有的(private)。这意味着不能直接使用 new 关键字来创建 Runtime 类的实例。
    在这里插入图片描述

    Java 中对于某些类,特意将构造函数设计为私有,这是为了确保该类只能通过特定的方法来获取其实例。对于 Runtime 类,获取其实例的方法是使用静态方法 Runtime.getRuntime()。

    正确写法
    Runtime r1=Runtime.getRuntime();

    ⭐exit()

    停止虚拟机

    Runtime.getRuntime().exit(0);
    
    • 1

    在这里插入图片描述

    ⭐availableProcessors()

    获取CPU的线程数

    Runtime.getRuntime().availableProcessors();
    
    • 1

    在这里插入图片描述

    ⭐maxMemory()

    虚拟机可以从系统中获取的总内存的大小

    Runtime.getRuntime().maxMemory();
    
    • 1

    单位为b
    在这里插入图片描述
    单位是kb
    在这里插入图片描述

    单位是mb
    在这里插入图片描述

    ⭐totalMemory()

    虚拟机已经获取的总内存的大小

    Runtime.getRuntime().totalMemory();
    
    • 1

    在这里插入图片描述

    ⭐freeMemory()

    虚拟机剩余内存大小

    Runtime.getRuntime().freeMemory();
    
    • 1

    在这里插入图片描述

    ⭐exec()

    运行cmd命令

    //打开记事本
    Runtime.getRuntime().exec("notepad");
    
    • 1
    • 2

    在这里插入图片描述

    //shutdown 关机
    //-s 默认1分钟后关机
    //-s -t 指定时间 : 指定关机时间
    //-a 取消关机操作
    //-r 关机并重启
    Runtime.getRuntime().exec("shutdown -s -t 3600");
    //3600秒后关机

    🍔Object类

    Object是Java的顶级父类,Java的所有类都直接或间接地继承于Object类

    ⭐toString()

    返回对象的字符串格式

    objects.toString();
    
    • 1

    在这里插入图片描述
    我们先把Student类中的toString()方法给注释掉
    在这里插入图片描述

    在这里插入图片描述

    ⭐equals()

    s1.equals(s2);
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    这里,我们重写equals方法,看看效果

    按快捷键Alt+insert
    在这里插入图片描述
    在这里插入图片描述
    运行,发现变成true了
    在这里插入图片描述
    在这里插入图片描述

    如果没有重写equals方法,默认使用Object的方法进行比较,比较的是地址值是否相等
    重写后,比较的就是对象内部的属性值了

    ⭐clone()

    🎈对象克隆
    就是把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。
    方法在底层会帮我们创建一个对象,并把原对象中的数据拷贝过去。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    🎈注意

    • 一定要重写Object中的clone方法

    因为我们通过看源码可以发现,clone方法是protected修饰的
    在这里插入图片描述
    由于protected修饰的成员在同一包内或子类中被访问,而对于其他包中的类,需要继承来实现
    在这里插入图片描述

    • 让Javabean类实现Cloneable接口

    🎄浅克隆

    不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来
    在这里插入图片描述

    🎄深克隆

    基本数据类型拷贝过来
    字符串复用
    引用数据类型会重新创建新的
    在这里插入图片描述
    在这里插入图片描述

    🍔Objects类

    ⭐isNull()

    Objects.isNull(s3);
    
    • 1

    在这里插入图片描述

    源码分析
    在这里插入图片描述

    ⭐nonNull()

    Objects.nonNull(s3)
    
    • 1

    在这里插入图片描述
    源码分析
    在这里插入图片描述

    🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

  • 相关阅读:
    opencv实现目标跟踪及视频转存
    【夯实Kafka知识体系及基本功】分析一下消费者(Consumer)实现原理分析「原理篇」
    LUCEDA IPKISS------Definition Properties 表格查询
    【JS 逆向百例】猿人学系列 web 比赛第二题:js 混淆 - 动态 cookie,详细剖析
    Nginx的root与alias终极用法+区别+案例
    旋转数组最小数字、数字在升序数组中出现的次数
    KNN算法
    高阶柱状图之极环图与极扇图
    [运维|数据库] mysql中的READS SQL DATA修饰符说明
    【Flutter】【widget】Table 表格widget
  • 原文地址:https://blog.csdn.net/m0_72853403/article/details/132918511