packagejava.lang;public classObject {/*一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用。*/

private static native voidregisterNatives();/*对象初始化时自动调用此方法*/

static{

registerNatives();

}/*返回此 Object 的运行时类。*/

public final native Class>getClass();/*hashCode 的常规协定是:

1.在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致。

2.如果根据 equals(Object) 方法,两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果。

3.如果根据 equals(java.lang.Object) 方法,两个对象不相等,那么对这两个对象中的任一对象上调用 hashCode 方法不 要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能。*/

public native inthashCode();public booleanequals(Object obj) {return (this ==obj);

}/*本地CLONE方法,用于对象的复制。*/

protected native Object clone() throwsCloneNotSupportedException;/*返回该对象的字符串表示。非常重要的方法*/

publicString toString() {return getClass().getName() + "@" +Integer.toHexString(hashCode());

}/*唤醒在此对象监视器上等待的单个线程。*/

public final native voidnotify();/*唤醒在此对象监视器上等待的所有线程。*/

public final native voidnotifyAll();/*在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。换句话说,此方法的行为就好像它仅执行 wait(0) 调用一样。

当前线程必须拥有此对象监视器。该线程发布对此监视器的所有权并等待,直到其他线程通过调用 notify 方法,或 notifyAll 方法通知在此对象的监视器上等待的线程醒来。然后该线程将等到重新获得对监视器的所有权后才能继续执行。*/

public final void wait() throwsInterruptedException {

wait(0);

}/*在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。*/

public final native void wait(long timeout) throwsInterruptedException;/*在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。*/

public final void wait(long timeout, int nanos) throwsInterruptedException {if (timeout < 0) {throw new IllegalArgumentException("timeout value is negative");

}if (nanos < 0 || nanos > 999999) {throw newIllegalArgumentException("nanosecond timeout value out of range");

}if (nanos >= 500000 || (nanos != 0 && timeout == 0)) {

timeout++;

}

wait(timeout);

}/*当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。*/

protected void finalize() throwsThrowable { }

}

java object 源码_java中Object类 源代码详解相关推荐

  1. java list 移除_java 中List删除实例详解

    java 中List删除实例详解 1.循环删除List中的元素 public static void main(String[] args) { List t=new ArrayList(); for ...

  2. java compareto源码_java中compareTo源码解析(String类型)

    官网API(JDK13): 先上结论: 1.计算compareTo两边字符串的总长度(length()) 2.求出总长度中的最小值 3.如果长度相等,比较ASCII值相同,返回0 4.如果长度不相同, ...

  3. Java集合源码系列(1)---- ArrayList详解

    目录 属性 构造函数 无参构造函数 含参构造(int initialCapacity) 含参构造(Collection c) add方法 add(E e) add(int index, E eleme ...

  4. java aqs源码_java中AQS源码分析

    AQS内部采用CLH队列.CLH队列是由节点组成.内部的Node节点包含的状态有 static final int CANCELLED =  1; static final int SIGNAL    ...

  5. java数组排序源码_Java 数组工具类排序,最大值最小值等

    public class ArrayUtils{ /** * 返回数组最大值 * * @param a * @return */ public static int max(int[] a){ // ...

  6. java 窗体 源码_Java制作MDI窗体源代码

    由于实际需要做一个MDI窗体,百度里面找到一个不错的源代码给大家分享一下. import javax.swing.*; import java.awt.event.*; import java.awt ...

  7. java责任链模式_java中责任链模式详解和使用方法

    顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为 ...

  8. php str_replace 源码,PHP中str_replace函数的详解

    在实际的程序开发中,执行字符串替换操作是一件非常经常的事,对str_replace函数的实用也会非常频繁. 这段时间在看<PHP和MySQL Web开发>一书看到str_replace讲解 ...

  9. Mybatis源码学习(三)SqlSession详解

    前言 上一章节我们学习了SqlSessionFactory的源码,SqlSessionFactory中的方法都是围绕着SqlSession来的.,那么SqlSession又是什么东东呢?这一章节我们就 ...

最新文章

  1. c++ qt 编译问题求解答
  2. java编写脚本校验修改密码_java编写一个更改密码校验程序,有两个密码框,一个用于输入新密码,另一个请输入确认密码……...
  3. WIN7只能上QQ打不开网页,使用CMD输入netsh winsock reset
  4. discuz中,修改admin密码
  5. 视觉盛宴篇!推荐 12 个好用的 CSS 的开源项目,YYDS !
  6. python爬虫今日头条街拍美图开发背景_分析Ajax请求并抓取今日头条街拍美图:爬取详情页的url与实际页面上显示不符...
  7. 【STM32】DMA详解
  8. erp系统服务器怎么关机,服务器怎么设置自动关机
  9. 容器编排技术 -- Kubernetes JSONpath Support
  10. python lambda表达式及用法_Python:lambda表达式和yield关键字理解与使用讲解
  11. java kdj_基于Java语言开发的个性化股票分析技术随机指数[KDJ].doc
  12. mongoDB的配置以及运行
  13. 手机页面内容超出屏幕宽度时实现可拖拉滑动效果
  14. mysql数据库白羽_Android应用开发Android 友盟推送原理解析
  15. 图易服装PDM产品数据管理系统
  16. 利用gpu加速神经网络算法,外接gpu 训练神经网络
  17. 【R语言文本挖掘】:n-grams和相关性计算
  18. CSRF攻击的原理和spring security对CSRF攻击的解决方法
  19. 其实真正做了自由职业者之后,才发现赚钱的方式太多了
  20. 中小企业管理升级的焦点——企业资源管理系统(ERP)

热门文章

  1. 【英语学习】【English L06】U03 House L4 How much is the rent?
  2. 【英语学习】【WOTD】senescence 释义/词源/示例
  3. php mysql bool_关于mysql api中my_bool的取值范围的问题
  4. kali破解WiFi时wlan0没有变wlan0mon_黑客入门干货:黑客使用 Aircrack-ng 破解 Wi-Fi 密码
  5. Java:求矩阵每行之和
  6. c语言生产者与消费者实验报告,生产者和消费者实验报告.doc
  7. 锂电池接线方法图_老电工整理的41条电路接线方法,每一条都值得收藏
  8. pip intsall 遇到的各种问题
  9. day4作业小代码练习
  10. 不用去验血,一查就能知道自己缺啥,一定要收好