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
}
}
最后:欢迎大家关注我的公众号