学习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
    }
}

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

相关推荐
Elias不吃糖9 小时前
Java Lambda 表达式
java·开发语言·学习
梨子串桃子_9 小时前
推荐系统学习笔记 | PyTorch学习笔记
pytorch·笔记·python·学习·算法
情缘晓梦.9 小时前
C语言指针进阶
java·开发语言·算法
jjjxxxhhh1239 小时前
spdlog介绍使用
学习
南知意-11 小时前
IDEA 2025.3 版本安装指南(完整图文教程)
java·intellij-idea·开发工具·idea安装
曾浩轩11 小时前
图灵完备Turing Complete 3
学习
天天睡大觉11 小时前
Python学习11
网络·python·学习
laplace012311 小时前
# 第六章 agent框架开发实践 - 学习笔记
人工智能·笔记·学习·语言模型·agent
码农水水12 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php
海边的Kurisu12 小时前
苍穹外卖日记 | Day4 套餐模块
java·苍穹外卖