当前位置: 首页 > wzjs >正文

连云港网站制作公司哪家好网络培训学校

连云港网站制作公司哪家好,网络培训学校,软件开发模型比较,做软件贵还是做网站贵Runtime 说明: Runtime表示当前虚拟机的运行环境 获取Runtime对象的方法是静态的,可以用类名调用 不能用new关键字创建Runtime对象,只能调用获取Runtime对象的方法获取对象 其他的方法不是静态的,不能直接用类名调用,…

Runtime

说明:

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

获取Runtime对象的方法是静态的,可以用类名调用

不能用new关键字创建Runtime对象,只能调用获取Runtime对象的方法获取对象

其他的方法不是静态的,不能直接用类名调用,需要用Runtime的对象去调用

常用方法:

方法名说明
public static Runtime getRuntime ()获取当前系统的运行环境对象
public void exit (int status)停止虚拟机
public int availableProcessors ()获得CPU的线程数
public long maxMemory ()JVM能从系统中获取总内存大小(单位byte)
public long totalMemory ()JVM已经从系统中获取总内存大小(单位byte)
public long freeMemory ( )JVM剩余内存大小(单位byte)
public Process exec (string command)运行cmd命令

代码演示:

public class Test4 {public static void main(String[] args) throws IOException {//public static Runtime getRuntime()	获取当前系统的运行环境对象//public void exit (int status)	停止虚拟机//public int availableProcessors ()	获得CPU的线程数//public long maxMemory ()	JVM能从系统中获取总内存大小(单位byte)//public long totalMemory ()	JVM已经从系统中获取总内存大小(单位byte)//public long freeMemory ( )	JVM剩余内存大小(单位byte)//public Process exec (string command)	运行cmd命令//获取Runtime的对象,不管获取几个对象,指的都是同一地址值//因为一台电脑只有一个系统运行环境Runtime r1 = Runtime.getRuntime();Runtime r2 = Runtime.getRuntime();System.out.println(r1 == r2);//trueSystem.out.println(r1.availableProcessors());// 1GB = 1024MB = 1024×1024 KB = 1024×1024×1024 bytesSystem.out.println(Runtime.getRuntime().maxMemory() / 1024 / 1024);System.out.println(Runtime.getRuntime().totalMemory() / 1024 / 1024);System.out.println(Runtime.getRuntime().freeMemory() / 1024 / 1024);//shutdown:关机//参数://-s:默认1分钟后关机//-s -t:指定关机时间 单位:秒//-a:取消关机操作//-r:关机并重启Runtime.getRuntime().exec("shutdown -s -t 3600");Runtime.getRuntime().exit(0);}
}

Object

说明:

Object是Java中的顶级父类。所有的类都直接或间接的继承于Object类。
Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。

构造方法: 

方法名说明
public Object ()只有空参构造

常见成员方法:

方法名说明
public string toString ( )返回对象的字符串表示形式
public boolean equals (0bject obj)比较两个对象是否相等
protected object clone (int a)对象克隆

toString()方法详解:

介绍:

因为

Object类中的toString方法返回的是对象的地址值

打印一个对象的时候,底层默认调用toString方法
所以

默认情况下,打印一个对象打印的就是该对象的地址值
但是

地址值对于我们是没什么意义的
想要看到对象内部的属性值,需要重写父类object类中的toString方法

代码演示: 

测试类

public class Test {public static void main(String[] args) {//Object的toString()方法返回的是对象地址值Object o = new Object();String str1 = o.toString();System.out.println(str1);//java.lang.Object@776ec8dfStudent stu = new Student("zhangsan", 23);String str2 = stu.toString();System.out.println(str2);//包名.Student@3b07d329//打印一个对象的时候,底层默认调用toString()方法,所以结果也为地址值System.out.println(stu);//包名.Student@3b07d329//重写toString()方法后,打印对象System.out.println(stu);//zhangsan,23}
}

 Student类

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;}//重写toString()方法@Overridepublic String toString() {return getName() +","+getAge();}
}

equals()方法详解:

介绍:

Object中的equals方法比较的是地址值是否相等
一般来讲地址值对于我们意义不大,所以需要重写,比较对象内部的属性值是否相等

代码演示:

测试类

public class Test {public static void main(String[] args) {Student stu1 = new Student("zhangsan",23);Student stu2 = new Student("zhangsan",23);boolean flag = stu1.equals(stu2);//Object中的equals()方法比较的是两个对象的地址值是否相同System.out.println(flag);//false//重写equals方法后,比较对象内部的属性值是否相等System.out.println(flag);//true}
}

Student类

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;}@Overridepublic 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);}}
面试题分析:

String s = "abc";
StringBuilder sb = StringBuilder("abc");

判断 s.equals(sb) 和 sb.equals(s) 的结果

System.out.println(s.equals(sb)); // false
因为 equals 方法是被 s 调用的,s 是字符串
所以 equals 方法要看 String 类中的
String 重写了 equals 方法,该方法先判断参数是否为字符串
如果是字符串,再比较内部的属性是否相同,如果参数不是字符串,直接返回 false

sb 是 StringBuilder 类型,不是字符串,所以直接返回 false

System.out.println(sb.equals(s)); // false
因为 equals 方法是被 sb 调用的,而 sb 是 StringBuilder类型
所以 equals 方法要看 StringBuilder 中的
StringBuilder 没有重写equals方法
默认使用的是 object 中的
在 object 中比较的是两个对象的地址值
而这里的 s 和 sb 记录的地址值是不一样的,所以结果返回 false

clone()方法详解:

介绍:

1.把A对象的属性值完全拷贝到B对象,也叫对象拷贝,对象复制

2.clone()方法是protected修饰的,所以A类需要重写该方法,方法调用父类Object的clone()方法,这样本包的其它类才能使用clone()方法

3.A类需要实现Cloneable接口,该接口里面没有抽象方法,表示这是一个标记性接口
实现了Cloneable接口,表示当前类的对象可以被克隆,没有实现,则当前类的对象不能克隆

 代码演示: 

测试类 

public class Test {public static void main(String[] args) throws CloneNotSupportedException {int[] arr = {1,2,3,4,5,6,7,8,9,10};User u1 = new User(1,"zhangsan",arr);//调用方法进行克隆User u2 = (User) u1.clone();System.out.println(u1);//User{id=1, userName='zhangsan', data=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}System.out.println(u2);//User{id=1, userName='zhangsan', data=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}}
}

User类

import java.util.Arrays;//Cloneable标记型接口
public class User implements Cloneable{private int id;private String userName;private int[] data;public User() {}public User(int id, String userName, int[] data) {this.id = id;this.userName = userName;this.data = data;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public int[] getData() {return data;}public void setData(int[] data) {this.data = data;}//重写toString方法返回属性值@Overridepublic String toString() {return "User{" +"id=" + id +", userName='" + userName + '\'' +", data=" + Arrays.toString(data) +'}';}//重写clone方法@Overrideprotected Object clone() throws CloneNotSupportedException {//调用父类的clone方法return super.clone();}
}
小扩展:

浅克隆:
不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来

注:Object 的 clone是浅克隆

深克隆:

基本数据类型拷贝过来
字符串复用
引用数据类型会重新创建新的


Objects

说明:

是一个对象工具类,提供了一些操作对象的方法 

 常用方法:

方法名说明
public static boolean equals(0bject a, object b)先做非空判断,
比较两个对象
public static boolean isNull(Object obj)

判断对象是否为null,

为null返回true ,反之返回false

public static boolean nonNull(Object obj)判断对象是否为null,跟isNul1的结果相反

代码演示:

public class Test {public static void main(String[] args) {//public static boolean equals(0bject a, object b)	先做非空判断,比较两个对象//public static boolean isNull(Object obj)	判断对象是否为null,为null返回true ,反之返回false//public static boolean nonNull(Object obj)	判断对象是否为null,跟isNul1的结果相反Student s1 = null;Student s2 = new Student("zhangsan", 23);boolean flag = Objects.equals(s1, s2);System.out.println(flag);//false// 先做非空判断 s1如果为空,直接返回false//s1不为空,则调用 s1.equals(s2)//s1如果重写了equals方法,则比较属性值//s1没有重写equals方法,则比较地址值System.out.println(Objects.isNull(s1));//trueSystem.out.println(Objects.isNull(s2));//falseSystem.out.println(Objects.nonNull(s1));//falseSystem.out.println(Objects.nonNull(s2));//true}
}

http://www.dtcms.com/wzjs/201055.html

相关文章:

  • 制作网站网页域名的公司爱站网
  • 祖传做网站企业培训心得
  • 网站顶部广告图片电商代运营十大公司排名
  • 我想要个网站自己想开个网站怎么弄
  • 网站建设公司不赚钱市场调研分析
  • 网站开发功能简介制作公司网站
  • 网络开发公司济南优化seo公司
  • 网站 做 专家问答产品怎么进行推广
  • 自己怎么建网站卖东西百度app客服人工在线咨询
  • 做网站用什么语言编写北京网站建设开发公司
  • 有免费做理化试验的网站吗最近的新闻热点时事
  • 网站创建需要什么淘宝推广平台
  • 可以做试卷网站数学试卷小学六营销策划经典案例
  • 算命网站开发电话宜昌网站seo收费
  • 厦门网站建设系统seo优化包括哪些内容
  • php网站开发框架搭建广告公司
  • 上什么网站做会计教育淄博网站制作
  • 网站设计大概多少钱百度登录入口百度
  • 工信部网站bbs备案以网络营销为主题的论文
  • 建设工程公司 网站百度升级最新版本
  • 手机网站制作推广定制百度资源站长平台
  • 网络规划设计师一本通seo网站内容优化有哪些
  • h5手机网站发展趋势厦门最好的seo公司
  • 怎么做博彩网站推广镇江抖音seo
  • 办公室装修效果图简约大气无锡优化网站排名
  • 最低成本做企业网站网络推广和网络营销的区别
  • 河北省政府建设厅网站百度竞价规则
  • 网络营销服务的特点有seo公司重庆
  • 中国正国级名单大丰seo排名
  • 公司网站建设工作重点网店运营公司