linux怎么查看本机内存大小
248
2022-09-21
从头开始学JDK-------Object
目录
* Object #getClass
* Object #hashcode
* Object #equals
* Object #toString
* Object #clone
* Object #线程相关的方法
* Object #垃圾回收
* Object #getClass
获取每个类的字节码文件。返回Class类。static synchronize的锁就是这个类的字节码文件Class对象
final方法,不能够被重写的方法
* 衍生 Class类可以用于反射创建无参的对象
List
* 衍生 判断某个类的Clazz是另外一个类的Clazz的衍生类
this.getClass()返回这个类的Class文件
field.getType()拿到的也是这个Field代表的对象的Class文件
private List
* Object #hashcode
本地方法,public,高频重写的方法。为什么要使用String类的hashcode作为Key,因为String是不可变类,线程安全,并且hashcode在String类中有缓存功能,计算一次即可。
* Object #equals
public,高频重写的方法。默认比较的是两个对象的引用地址。
public boolean equals(Object obj) { return (this == obj); }
* Object #toString
源代码中默认展示了 类的全限定名,以及它的hashcode的十六进制表示。
public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); }
* Object #clone
本地方法,public。源代码注释上表示如果没有实现Cloneable接口,要求抛出异常。
根据面向对象的里氏替换原则,子类重写的时候应该要求返回一个原来对象的副本。源代码注释表示子类依旧可以抛出异常。
* Object #线程相关的方法
wait 、 notify 、notifyAll 都是final的,不得重写。操作的锁是调用的这个对象本身
* Object #垃圾回收
finalize ,protected属性,一般不重写,由JVM自己调用。为了迎合C++程序员做的方法。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~