[1]オブジェクトクラス:祖先クラス、すべてのクラスの親クラス、間接親クラス
[2]ハッシュコード
[7] [8] GC:自動ガベージコレクション(プログラマーが要求したメモリスペースはJVMによって自動的に再利用されます)。ガベージコレクションはどのようなものになりますか?1.オブジェクトに到達できません2.参照できません3.範囲外です
ユーザークラス
package com.cao.lesson.test4;
public class User {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
//【6】
@Override
public String toString() {
return "name:"+name+"\t"+"age:"+age;
}
// 【7】垃圾回收的 方法 finalize() JVM会自动调用 所有java有自动垃圾回收的机制
@Override
protected void finalize() throws Throwable {
System.out.println("垃圾已经回收...");
super.finalize();
}
}
学生クラス
public class Student {
//【8】
@Override
protected void finalize() throws Throwable {
System.out.println("Student已经被回收...");
super.finalize();
}
}
package com.cao.lesson.test4;
public class Test {
public static void main(String[] args) {
//Object类:始祖类, 所有类的父类、间接父类
Object obj = new Object();
// getClass(); 获取类的全名称
System.out.println(obj.getClass());
User user=new User();
//【1】输出User类的父类(object类)
System.out.println(user.getClass().getSuperclass());
// int hashCode(); 获取对象的 hash值, hashCode (对象的JVM内存地址对应的 int 值)
/*
对于hash值的计算
整数类型(扩展、重写了 hashCode):它的字面量
float,double(扩展、重写了 hashCode): 其他算法, 确保同一类型下 不同的字面量具有不同的 hashCode值
String的hashCode比较特殊:存在hash碰撞
*/
System.out.println(user.hashCode());// 【2】调用了父类的 的 hashCode 方法
//【3】
System.out.println("aa".hashCode());
//【4】
System.out.println(Integer.hashCode(2));
//【5】
System.out.println(Double.hashCode(6.66));
// toString(); 看作是内存地址, 在对象输出的时候默认调用 toString()
//【6】重写toString方法
user.setName("cao");
user.setAge(22);
System.out.println(user.toString());
// 垃圾回收的 方法 finalize() JVM会自动调用 所有java有自动垃圾回收的机制
Test test=new Test();
test.show(); // 超出了作用域的范围就会被回收
// 【7】GC:自动垃圾回收(程序员申请的内存空间JVM会自动回收)
// 什么样对象会被垃圾回收: 对象不可达 ,无法引用
user=null;
System.gc();
}
//【8】 超出了作用域的范围就会被回收
public void show(){
Student student=new Student();
}
}
演算結果:
class java.lang.Object
【1】class java.lang.Object
【2】2133927002
【3】3104
【4】2
【5】1244124019
【6】name:cao age:22
【7】Student已经被回收...
【8】垃圾已经回收...