1 Math
package com.bjpowernode.Test11;
public class MathDemo1 {
public static void main(String[] args) {
//abs 获取参数绝对值
System.out.println(Math.abs(88));
System.out.println(Math.abs(-88));
//-2147483648没有正数与之对应,所以abs结果产生bug
System.out.println(Math.abs(-2147483648)); //-2147483648
}
}
运行结果:
2 System
System 也是一个工具类,提供了一些与系统相关的方法
public static void exit(int status) 终止当前运行的 Java 虚拟机
public static long currentTimeMillis() 返回当前系统的时间毫秒值形式
public static void arraycopy(数据源数组,起始索
引,目的地数组,起始索引,拷贝个数) 数组拷贝
3 Runtime
Runtime 表示当前虚拟机的运行环境
public staticRuntime getRuntime() 当前系统的运行环境对象
public voidexit(int status) 停止虚拟机
public intavailableProcessors() 获得CPU的线程数
public longmaxMemory() JVM能从系统中获取总内存大小(单位byte)
public longtotalMemory() JVM已经从系统中获取总内存大小(单位byte)
public longfreeMemory() JVM剩余内存大小(单位byte)
public Process exec(String command) 运行cmd命令
package com.bjpowernode.test12;
import java.io.IOException;
public class RuntimeDemo1 {
public static void main(String[] args) throws IOException {
//1.获取Runtime的对象
Runtime r1 = Runtime.getRuntime();
//2.exit停止虚拟机
//r1.exit(0);
//3.获得CPU的线程数
System.out.println(r1.availableProcessors());
//4.总内存大小,单位byte字节
System.out.println(r1.maxMemory() / 2024 / 2024); //单位是 M
//5.已经获取的总内存大小,单位byte字节
System.out.println(r1.totalMemory() / 2024 / 2024); //单位是 M
//6.剩余内存大小
System.out.println(r1.freeMemory() / 2024 / 2024); //单位是 M
//7.运行cmd命令
//shutdown:关机
//加上参数才能执行
//-s:默认在1分钟之后关机
//-s-t指定时间:指定关机时间
//-a:取消关机操作
//-r:关机并重启
r1.exec("notepad"); //打开记事本
}
}
4 Object 和 Objects
Object 是 Java 中的顶级父类。所有的类都直接或间接的继承于 Object 类。
4.1 Object 构造方法
只有空参构造
public Object() 空参构造
4.2 成员方法
public String tostring() 返回对象的字符串表示形式 (一般会重写,为了看到对象的属性值,可以直接生成)
public boolean equals(object obj) 比较两个对象是否相等
protected object clone(int a) 对象克隆
4.2.1 equals
4.2.2 clone
把 A 对象的属性值完全拷贝给 B 对象,也叫对象拷贝,对象复制
实现接口
重写 clone 方法
在 User 类中重写 clone 方法
浅拷贝
即共用同一片内存
object 中的克隆是浅克隆
深拷贝
将 User 类的克隆重写为深克隆
总结
4.3 总结
- Object是Java中的顶级父类。所有的类都直接或间接的继承于object类。
- toString():一般会重写,打印对象时打印属性
- equals():比较对象时会重写,比较对象属性值是否相同
- clone():默认浅克隆。如果需要深克隆,则需要重写方法或者使用第三方工具类。
5 Objects
Objects 是一个工具类,提供了一些方法去完成一些功能
public static boolean equals(object a, Object b) 先做非空判断,比较两个对象
public static boolean isNull(object obj) 判断对象是否为null,为null返回true ,反之
public static boolean nonNull(object obj) 判断对象是否为null,跟isNull的结果相反
5.1 总结
Objects 是一个对象工具类,提供了一些操作对象的方法
equals(对象1,对象2):先做非空判断,比较两个对象
isNull(对象):判断对象是否为空
nonNull(对象):判断对象是否不是空
参考链接: