1.getClass:

public final native Class<?> getClass();

返回当前对象运行时的类的对象。

2.hashCode:

public native int hashCode();

这个方法是为哈希表这种数据结构提供支持的。(例如HashMap)

hashcode 的通用约定为:

1)在一个java应用中在同一个对象上调用多次hashCode方法应该返回同样的int结果。

但是int结果不必保持一致性在同一个java应用的两次执行中。

2)如果两个对象是相等的(equals方法返回true),则hashCode方法必须返回相同的int结果。

3)如果两个对象通过equals方法不相等,不要求他们的hashCode方法必须返回不同的int结果,但是

不同对象上返回不同的hashCode可以提高哈希表的性能(缩短链表的长度)。

3.equals:

public boolean equals(Object obj) {
return (this == obj);
}

4.clone:

protected native Object clone() throws CloneNotSupportedException;

注意两点:第一此方法是protected,只有子类可以调用;第二,子类必须实现Cloneable接口,不然此方法会抛出CloneNotSupportedException异常。

所有数组默认为实现了Cloneable接口,所以数组都有clone方法。另外,这个方法是创建一个新的对象,并且使用被拷贝的对象的属性值来初始化新对象的属性。

而并不是将属性也拷贝一份。所以此方法是一个浅拷贝,并不是深拷贝。

5.toString:

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

6.notify:

public final native void notify();

唤醒一个正在等待此对象上的线程。如果有多个等待线程,则任意挑选一个唤醒。具体挑选哪个依赖具体实现。

被唤醒的线程不会立即执行,直到当前线程释放对象上的锁。被唤醒的线程还要和其他想要获取锁的线程竞争锁。

此方法只能被已经获取对象上的锁的线程调用。

7.notifyAll:

public final native void notifyAll();

唤醒所有等待在此对象上的线程。其他和notify方法一样。

8.wait:

public final void wait() throws InterruptedException {
wait(0L);
}

导致当前线程进入等待状态直到被唤醒(notified或者interrupted),此方法和调用wait(0L, 0)效果一样。

public final native void wait(long timeoutMillis) throws InterruptedException;

9.finalize

此方法在java9中已经申明为Deprecated,而且在其他版本中也极不推荐使用,所以不做介绍了。

最新文章

  1. NLP学术组织、会与论文
  2. Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)
  3. 请让页面中的一个元素(10px*10px)围绕坐标(200, 300) 做圆周运动
  4. hdoj 5317 RGCDQ
  5. Why isn&#39;t there a SendThreadMessage function?
  6. DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)
  7. 第一节:Maven 下载,安装和配置
  8. 一种解决的方法:CGContextSaveGState: invalid context 0x0
  9. codevs 1213 解的个数(我去年打了个表 - -)
  10. PHP设计模式笔记七:观察者模式 -- Rango韩老师 http://www.imooc.com/learn/236
  11. [RxJS] Updating Data with Scan
  12. 初学github
  13. 201521123109 《java程序设计》第13周学习总结
  14. 从细菌GFF文件提取CDS序列并转换为氨基酸序列
  15. jQuery 安装
  16. winform文件筛选器
  17. Hive实现交叉二维分析的小语句
  18. MyBatis:自定义Mapper
  19. spring学习 八 面向切面编程(AOP)概述
  20. 【第四课】Linux的基础命令使用

热门文章

  1. wsdl 结构解析
  2. Mina集成Spring --- 在配置文件中配置sessionconfig
  3. Email feedback to product team about TFS and SharePoint Integration 2017.2.15
  4. 隐式等待-----Selenium快速入门(九)
  5. Meteor in Action(一)起步
  6. leetcode 90. 子集 II JAVA
  7. 配置国内的maven仓库
  8. iOS - 安全
  9. Python web后端接收到的json数据有前端格式的布尔值 true false
  10. android应用程序的混淆打包