Runtime&Object

runtime表示当前虚拟机的运行环境。

常用的方法:

Runtime&Object_第1张图片

package MyApi.a03runtimedemo;

import java.io.IOException;

public class RuntimeDemo01 {
    public static void main(String[] args) throws IOException {
      //1.获取runtime对象
      Runtime r1=Runtime.getRuntime();
      //2.exit 停止虚拟机
       Runtime.getRuntime().exit(0);
        System.out.println("看看我执行了吗");
   //3.获取cpu的线程数
        System.out.println(Runtime.getRuntime().availableProcessors());
   //4.总内存大小,单位byte字节
        System.out.println(Runtime.getRuntime().maxMemory());
   //5.已经获取的总内存大小,单位byte字节
        System.out.println(Runtime.getRuntime().totalMemory());
   //6.剩余内存的大小
        System.out.println(Runtime.getRuntime().freeMemory());
  //7.运行cmd命令
        //shutdown:关机
        //加上参数才能执行
        //-s :默认在1分钟之后关机
        //-s-t 指定时间:指定关机时间
        //-a:取消关机操作
        //-r:关机并重启
        Runtime.getRuntime().exec("notpad");
    }
}

Object

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

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

    构造方法:只有无参构造

    成员方法:Runtime&Object_第2张图片

    package MyApi.a04objectdemo;
    
    import java.util.Objects;
    
    public class Student {
        private String name;
        private int age;
    
        public Student() {
        }
    
        public Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "Student{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    
        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            Student student = (Student) o;
            return age == student.age && Objects.equals(name, student.name);
        }
    
    }
    package MyApi.a04objectdemo;
    
    public class Objectdemo1 {
        public static void main(String[] args) {
         Object obj=new Object();
         String st1=obj.toString();
            System.out.println(st1);
            Student stu=new Student();
            String st2=stu.toString();
            System.out.println(st2);
            //细节;
            //System:类名
            //out:静态变量
            //System.out:获取打印的对象
            //println():方法
            //参数:表示打印的内容
            //核心逻辑:
            //当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串
            //然后再打印在控制台上,打印完毕换行处理
    //默认情况下,因为Object类中的toString方法返回的是地址值
            //如果我们要看到对象内部的属性值时,我们需要重写父类的toString方法
    
        }
    }
    
    package MyApi.a04objectdemo;
    
    public class ObjectDemo02 {
        public static void main(String[] args) {
         //equals
         Student s1=new Student();
            Student s2=new Student();
            boolean result=s1.equals(s2);
            System.out.println(result);
            Student s3=new Student("张三",23);
            Student s4=new Student("张三",23);
       boolean r=s3.equals(s4);
            System.out.println(r);
            //结论;
            //1.如果没有重写equals方法,那么默认使用object中的方法进行比较,比较的是地址值是否相等
            //2.一般来讲地址值对于我们意义不大,所以我们会重写,重写之后比较的就是对象内部的属性值了。
        }
    }
    

你可能感兴趣的:(java,jvm,开发语言)