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

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

相关推荐
num_killer8 小时前
小白的Langchain学习
java·python·学习·langchain
wdfk_prog8 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
期待のcode9 小时前
Java虚拟机的运行模式
java·开发语言·jvm
程序员老徐9 小时前
Tomcat源码分析三(Tomcat请求源码分析)
java·tomcat
a程序小傲9 小时前
京东Java面试被问:动态规划的状态压缩和优化技巧
java·开发语言·mysql·算法·adb·postgresql·深度优先
仙俊红9 小时前
spring的IoC(控制反转)面试题
java·后端·spring
阿湯哥9 小时前
AgentScope Java 集成 Spring AI Alibaba Workflow 完整指南
java·人工智能·spring
小楼v9 小时前
说说常见的限流算法及如何使用Redisson实现多机限流
java·后端·redisson·限流算法
与遨游于天地9 小时前
NIO的三个组件解决三个问题
java·后端·nio
czlczl2002092510 小时前
Guava Cache 原理与实战
java·后端·spring