学习java时候的笔记(十七)

Runtime

  • Runtime表示当前虚拟机的运行环境
方法名 说明
getRuntime() 当前系统的运行环境对象
exit(int status) 停止虚拟机
availableProcessors() 获得CPU的线程数
maxMemory() JVM能从系统中获取总内存的大小(单位byte)
totalMemory() JVM已经从系统中获取的总内存大小(单位byte)
freeMemory() JVM剩余内存大小
exec(String command) 运行cmd命令

Demo:

复制代码
public class RuntimeDemo1 {
    public static void main(String[] args) throws IOException {
        // 1.获取Runtime的对象
        Runtime r1 = Runtime.getRuntime();
        Runtime r2 = Runtime.getRuntime();
        System.out.println(r1 == r2);//true r1和r2获取的是同一个对象,即只存在一个虚拟机

       //获取当前CPU的线程数
        System.out.println(r1.availableProcessors());

        //查看虚拟机能获得的总内存的大小, 单位byte
        System.out.println(r1.maxMemory());

        //查看虚拟机已经获取的内存大小, 单位byte
        System.out.println(r1.totalMemory());

        //查看虚拟机剩余内存的大小, 单位byte
        System.out.println(r1.freeMemory());

        //运行cmd命令  用不了dir
        //shutdown : 关机
        //加上参数才能运行
        // -s : 默认在一分钟后关机
        // -s -t 指定时间 : 指定关机时间, 如果"指定时间是3600"则在一小时后关机
        // -a : 取消关机操作
        // -r : 关机并重启
        r1.exec("shutdown -s -t 0");

        //exit 可以停止虚拟机
        //状态码
        //0: 正常停止
        // 非 0 ;异常停止
        r1.exit(0);
        System.out.println("看看我执行了吗?");
    }
}

Object

  • Object是Java中的顶级父类。所有的类都直接或间接的继承于Object类。

  • object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。

构造方法名 说明
Object() 空参构造
  • Object中只有空参构造
成员方法名 说明
toString() 返回对象的字符串表示形式
equals(Object obj) 比较两个对象是否相等
clone(int a) 对象克隆

Demo:

复制代码
public class ObjectDemo1 {
    public static void main(String[] args) {
        //toString 返回对象的字符串表示形式
        Object obj = new Object();
        Object obj1 = new Object();
        String str1 = obj.toString();
        String str2 = obj1.toString();
        System.out.println(str1);//java.lang.Object@4eec7777     "@"前是包名+类名 后面是对象的地址值
        System.out.println(str2);
        //equals
        String s = "abc";
        String b = "abc";
        StringBuilder sb = new StringBuilder("abc");
        StringBuilder sb2 = new StringBuilder("abc");
        System.out.println(s.equals(b));
        System.out.println(s.equals(sb));
        //因为equals方法是被s调用的,而s是字符串所以equals要看string类中的
        //字符串中的equals方法,先判断参数是否为字符串'如果是字符串,再比较内部的属性
        //但是如果参数不是字符串,直接返回false
        System.out.println(sb.equals(s));
        System.out.println(sb.equals(sb2));
        ///因为equals方法是被sb调用的,而sb是stringBuilder所以这里的equals方法要看stringBuilder中的equals方法
        // 那么在StringBuilder当中,没有重写equals方法
        ///使用的是object中的
        ///在object当中默认是使用==号比较两个对象的地址值
        ///而这里的s和sb记录的地址值是不一样的,所以结果返回false
    }
}

最后 :欢迎大家关注我的公众号

相关推荐
Kuo-Teng2 分钟前
LeetCode 206: Reverse Linked List
java·算法·leetcode·职场和发展
yaoxin5211233 分钟前
237. Java 集合 - 对 List 元素进行排序
java·windows
yaoxin5211238 分钟前
236. Java 集合 - 使用索引访问 List 元素
java·windows·list
GLAB-Mary13 分钟前
HCIE最优规划路线:如何系统性学习华为认证?
学习·华为·华为认证·hcie·数通
月下倩影时18 分钟前
视觉学习——卷积与神经网络:从原理到应用(量大管饱)
人工智能·神经网络·学习
Elias不吃糖32 分钟前
NebulaChat项目构建笔记
linux·c++·笔记·多线程
d111111111d37 分钟前
STM32外设学习-串口数据包笔记-(程序)
笔记·stm32·单片机·嵌入式硬件·学习
humors22138 分钟前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel
百***68041 小时前
JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)
java·tomcat
庸子1 小时前
Kubernetes调度器深度解析:从资源分配到亲和性策略的架构师之路
java·算法·云原生·贪心算法·kubernetes·devops