java八股文面试[java基础]——Object类有哪些方法

通过IDEA打开Object类就可以看到

 (1)clone方法
保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。

主要是JAVA里除了8种基本类型传参数是值传递,其他的类对象传参数都是引用传递,我们有时候不希望在方法里讲参数改变,这时就需要在类中复写clone方法。

(2)getClass方法
final方法,获得运行时类型

(3)toString方法
该方法用得比较多,一般子类都有覆盖。

(4)finalize方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。

(5)equals方法
该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。

(6)hashCode方法
该方法用于哈希查找,可以减少在查找中使用equals的次数,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。

一般必须满足obj1.equals(obj2)==true。可以推出obj1.hashCode()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价

如果不重写hashcode(),在HashSet中添加两个equals的对象,会将两个对象都加入进去

(7)wait方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

调用该方法后当前线程进入睡眠状态,直到以下事件发生。

(1)其他线程调用了该对象的notify方法。

(2)其他线程调用了该对象的notifyAll方法。

(3)其他线程调用了interrupt中断该线程。

(4)时间间隔到了。

此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

(8)notify方法
该方法唤醒在该对象上等待的某个线程。

(9)notifyAll方法
该方法唤醒在该对象上等待的所有线程

(10)registerNatives

Java程序要想调用本地方法,需要执行两个步骤:

第一,通过System.loadLibrary()将包含本地方法实现的动态文件加载进内存;
第二,当Java程序需要调用本地方法时,虚拟机在加载的动态文件中定位并链接该本地方法,从而得以执行本地方法。
registerNatives()方法的作用就是取代第二步,让程序主动将本地方法链接到调用方,当Java程序需要调用本地方法时就可以直接调用,而不需要虚拟机再去定位并链接。
 

知识速记:类 克隆 打印 释放 本地 哈希(2个) 线程(4个)

知识参考:

Object类的常用方法_object类的方法_贤云Ye鹤的博客-CSDN博客Java基础 -- java 类中registerNatives()方法的作用是什么_小明同学~~的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/87514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux配置nginx反向代理

在云服务器上部署高并发的服务,使用Nginx作为反向代理是一种常见的做法,可以实现流量分发、负载均衡,同时提升系统的可靠性和性能。 步骤概览: 安装Nginx: 确保服务器已安装Nginx。若未安装,可使用适用于你…

stm32 无刷电机 V/F控制(无刷电机变频控制)以及与foc(矢量控制)的区别

无刷电机有三种控制方式,方波控制,foc控制以及变频控制,前两章我们讲解了方波和foc的控制方法,今天我们一起来讲一讲什么是无刷电机的变频控制(VF)以及变频控制的优势是什么。 实验用的硬件还是KY_Motor的无…

Eureka 的几种主动下线服务的方式

补充:在启动eureka服务的时候发现控制台有以下的输出 由此猜想可以通过改接口下线服务, 于是尝试了一下。 果然能从注册中心中移除该实例。 1. 直接停掉服务。 默认情况下,如果Eureka Server在90秒没有收到Eureka客户的续约,它…

AMBA总线协议(9)——AHB(七):终章

一、前言 在之前的文章中我们讲述了AHB协议的分割传输机制,它使得从机可以决定一次传输是否继续进行,以防止 传输的执行将占据大量的时钟周期,有效提高了总线的公平性与效率问题,本文中我们将一次性学习完AHB最后的内容&#xff0…

mysql 8.0 窗口函数 之 分布函数 与 sql server (2017以后支持) 分布函数 一样

mysql 分布函数 percent_rank() :等级值 百分比cume_dist() :累积分布值 percent_rank() 计算方式 (rank-1)/(rows-1), 其中 rank 的值为使用RANK()函数产生的序号,rows 的值为当前…

测试框架pytest教程(9)跳过测试skip和xfail

skip无条件跳过 使用装饰器 pytest.mark.skip(reason"no way of currently testing this") def test_example(faker):print("nihao")print(faker.words()) 方法内部调用 满足条件时跳过 def test_example():a1if a>0:pytest.skip("unsupported …

单片机的ADC

如何理解ADC。ADC就是将模拟量转换成数字量的过程,就是转换为计算机所能存储的0和1序列,比如将模拟量转换为一个字节,所以这个字节的大小要能反应模拟量的大小,比如一个0-5V的电压测量量(外部输入电压最小0V,最大为5V&…

MyBatis动态SQL、模糊查询与结果映射

目录 前言 一、MyBatis动态SQL 1.动态SQL是什么 2.动态SQL的作用 3.常用动态SQL元素 1. where if 元素 2. set if 元素 3. choose when otherwise 元素 4. 自定义 trim 元素 <1>. 自定义 trim 元素改写上面的 where if 语句 <2>. 自定义 trim 元素改…

2023前端求职经历回顾及面试题总结

文章目录 前言一、求职经历二、前端面经1. 投简历的正确打开方式2. 面经及面试题复盘外企面经、面试题大厂面经、面试题面试中的笔试有三种笔试题 给同行的温馨提示我的其他热门文章 前言 2023 年的春节之前&#xff0c;几乎没有公司招人&#xff0c;直到 2023年2月10日 左右&a…

【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

文章目录 AXI STRB 信号 AXI STRB 信号 AXI总线是ARM公司设计的高性能处理器接口&#xff0c;其中STRB和DATA信号在AXI协议中有特殊的含义和关系。 DATA信号&#xff1a;在AXI中&#xff0c;DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化&…

【深度强化学习】Python:OpenAI Gym-CarRacing 自动驾驶 | 提供项目完整代码 | 车道检测功能 | 路径训练功能 | 车辆控制功能

💭 写在前面:本篇是关于 OpenAI Gym-CarRacing 自动驾驶项目的博客,面向掌握 Python 并有一定的深度强化学习基础的读者。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车…

线性代数强化第三章

目录 一&#xff0c;关于A伴随&#xff0c;A逆与初等矩阵 二&#xff0c;分块矩阵 三&#xff0c;矩阵方程 ​ 一&#xff0c;关于A伴随&#xff0c;A逆与初等矩阵 如何证明行列式的值不能是0&#xff1b; 此秩为1. 法一&#xff1a; 法二&#xff1a; 不用看是列变换还是行变…

xargs 的用法 在1个文件夹中批量删除文件,这些删除的文件名是另一个文件夹中的文件名。

xargs 的用法 在1个文件夹中批量删除文件&#xff0c;这些删除的文件名是另一个文件夹中的文件名。 1、问题背景 应用场景 1、问题背景 应用场景 在二进制部署docker时&#xff0c;会把docker的所有可执行文件复制到/usr/bin下。 如果说复制过去后&#xff0c;想要反悔&#x…

vue 学习笔记 简单实验

1.代码(html) <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"counter">Counter: {{ counter }} </div> <script> const Counter {data() {return {counter: 5}} } Vue.cr…

【文化课学习笔记】【化学】新教材必修二:化学反应与能量

【化学】必修二&#xff1a;化学反应与能量 注&#xff1a;本文只含有新教材必修二化学反应与能量的部分&#xff0c;未涉及到选必一及后面更难更深的知识点。 化学反应与热能 吸热反应与放热反应 概念及常见的放热/吸热反应 概念&#xff1a; 放热反应&#xff1a;释放热量的化…

如何限制PDF打印?限制清晰度?

想要限制PDF文件的打印功能&#xff0c;想要限制PDF文件打印清晰度&#xff0c;都可以通过设置限制编辑来达到目的。 打开PDF编辑器&#xff0c;找到设置限制编辑的界面&#xff0c;切换到加密状态&#xff0c;然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…

Pandas学习笔记

Pandas数据分析处理库 数据预处理 导入一份泰坦尼克号乘客数据 df.head()展示读取数据&#xff0c;默认读取前5行 df.tail()默认读取后5行 df.head(10)读取前10行DataFrame结构 Pandas工具包的基础结构&#xff0c;二维矩阵结构&#xff0c;行表示数据样本&#xff0c;列表示…

2023年国赛数学建模思路 - 案例:随机森林

文章目录 1 什么是随机森林&#xff1f;2 随机深林构造流程3 随机森林的优缺点3.1 优点3.2 缺点 4 随机深林算法实现 建模资料 ## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是随机森林&#xff…

司徒理财:8.21黄金空头呈阶梯下移!今日操作策略

黄金走势分析 盘面裸k分析&#xff1a;1小时周期的行情局部于1896附近即下行通道上轨附近录得一系列的K线呈震荡下行并筑圆顶&#xff0c;上轨压制有效&#xff0c;下行通道并未突破&#xff0c;后市建议延续看下行。4小时周期局部录得一系列的纺锤线呈震荡&#xff0c;但行情整…

Pinia基本概念

Pinia基本概念 面试题&#xff1a;Pinia 相比 Vuex 有什么样的优点&#xff1f;为什么现在官方推荐使用 Pinia &#xff1f; Pinia&#xff0c;是一个 Vue 阵营的新的状态管理库&#xff0c;现在 Vue 官方已经推荐使用 Pinia 来代替 Vuex&#xff0c;或者你可以把 Pinia 看作是…