垃圾回收
- 垃圾回收机制只回收VM堆内存里的对象空间 。
- 对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力
- 现在的JVM有多种垃圾回收实现算法,表现各异 。
- 垃圾回收发生具有不可预知性,程序无法精确控制垃圾回收机制执行 。
- 可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象 。
- 程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收依然不确定 。
- 垃圾回收机制回收任何对象 之前 ,总会先调用它的finalize方法(如果覆盖该方法,让一个新的引用变量重新引用该对象,则会重新激活对象) 。|
- 永远不要主动调用某个对象的finalize方法,应该交给垃圾回收机制调用 。
文章插图
equals()方法
文章插图
==与equals()区别?
文章插图
==运算符
- 可以使用在 基本数据类型 变量和 引用数据类型 变量中
- 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等(不一定类型相同)
如果比较的是引用数据类型变量:比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体
- 是一个方法,而非运算符
- 只使用于引用数据类型
- object类中equals()的定义
public boolean equals (Object obi){return (this == obj);}
说明: Object类中定义的equals()和==的作用是相同的:比较两个对象的地址值是否相同.即两个引用是否指向同一个对象实体- 像String,Data,File,包装类等都重写了Object类中的equals()方法 。重写后,比较的不是两个引用的地址是否相同,而是比较两个对象的“实体内容”是否相同
public static void main(String[] args) {Date data1 = new Date(32432525324L);Date data2 = new Date(32432525324L);System.out.println(data1.equals(data2));//trueString str1 = new String("hello");String str2 = new String("hello");System.out.println(str1.equals(str2));//trueSystem.out.println(str1 == str2);//false}
- 通常情况下,我们自定义的类如果使用equals()的话,也通常是比较两个对象的“实体内容”是否相同 。那么我们就需要对Object类中的equals()方法重写.重写的原则:比较两个对象的实体内容是否相同
文章插图
toString()
- 当我们输出一个对象的应用时,实际上就是调用当前对象的toString()方法
- 像String,Date,File,包装类等都重写了Object类中的toString()方法使得在调用对象的toString()时,返回“实体内容”信息
- 自定义类也可以重写toString()方法,当调用此方法时,返回对象的“实体内容”
文章插图
Java中的JUnit单元测试步骤;
1.创建Java类,进行单元测试 。
此时的Java类要求:
①此类是public的 ②此类提供公共的无参的构造器
2.此类中声明单元测试方法 。
此时的单元测试方法: 方法的权限是public,没有返回值,没有形参
3.此单元测试方法上需要声明注解:@Test,并在单元测试类中导入:import org.junit.Test;
4.声明好单元测试方法以后,就可以在方法体内测试相关的代码 。
包装类(Wrapper)的使用
文章插图
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
2.掌握的:基本数据类型、包装类、String三者之间的相互转换
基本数据类型—>包装类:调用包装类的构造器 (对象参数)
包装类—>基本数据类型:调用包装类x×x的x×xValue() (方便做±*/运算)
推荐阅读
- 非常实用的 Python 库,推一次火一次
- App制作的流程是什么?如何制作App开发流程?
- Python中的菜单驱动程序
- 从啃PS到啃C4D,我的动态设计之路
- 国企岗位推荐,程序员求职速来看
- 小种红茶简介,红茶的种类价格
- 川红茶真假,川宁红茶种类
- 红茶的种类及产地,红茶的种类及特征
- windows cmd 环境下载文件的几种方法
- 红茶的种类功效,泡红茶种类