Java面试题(基础篇)③
目录
一,== 与 equals 的区别?
二,接口和抽象类的区别?
三,请说出几个常见的异常?
四,请问你对Java 反射有了解吗?
五,浅拷贝和深拷贝区别?
一,== 与 equals 的区别?
==是一个运算符,equals 是 Object 类的方法
用于基本类型的变量比较时: ==比较的是值是否相等,equals不能直接用于基本数据类型的比较,需要转换为其对应的包装类型。
用于引用类型的比较时。==和 equals 都是比较栈内存中的地址是否相等。但是通常会重写 equals 方法去实现对象内容的比较。
二,接口和抽象类的区别?
它们的共同点是:都不能实例化对象
基于JDK1.8之后
它们的不同点是:
抽象类一般用于抽取子类中的共同方法和属性,接口一般用于指定实现类的规范
抽象类可以有构造方法,作用是用给抽象父类中中的属性赋值;接口中不能有构造方法
接口中不能含有静态代码块,而抽象类可以有静态代码块
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
三,请说出几个常见的异常?
Java中的异常分为运行时异常和编译时异常两大类:
运行时异常都是 RuntimeException 类及其子类异常,这类异常的特点是不强行要求程序员进行处理,常见的有
NullPointerException 空指针异常,调用了未经初始化的对象或者是不存在的对象
IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生
ClassCastException 数据类型转换异常
NoSuchMethodException 方法不存在异常
非运行时异常,也叫编译异常(CheckedException),是 Exception 的子类但不是 RuntimeException的子类,类型上都属于及其子类
它要求程序员在编写代码的过程中提供异常处理方案,否则编译不通过,常见的有:IOException和SQLException等
四,请问你对Java 反射有了解吗?
反射是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法,并且可以调用它的任意一个方法它主要应用于大量的框架底层,比如 Spring/Spring Boot、MyBatis 等等
五,浅拷贝和深拷贝区别?
- 浅拷贝:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主”对象进行拷贝,但不会复制主对象里面的对象。”里面的对象“会在原来的对象和它的副本之间共享。
- 深拷贝:深拷贝是一个整个独立的对象拷贝,深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。简而言之,深拷贝把要复制的对象所引用的对象都复制了一遍
相关文章:
Java面试题(基础篇)③
目录 一, 与 equals 的区别? 二,接口和抽象类的区别? 三,请说出几个常见的异常? 四,请问你对Java 反射有了解吗? 五,浅拷贝和深拷贝区别? 一,…...
Qt动态调用 - QMetaObject::invokeMethod
QMetaObject::invokeMethod 动态调用是 Qt 的元对象系统的一项强大功能,它允许在运行时通过名称调用槽函数、信号和普通成员函数。 这种能力对于构建灵活和可扩展的应用程序非常有用,比如插件系统或脚本接口。 动态调用方法 Qt 提供了 QMetaObject::i…...
html+css+js网页设计 星享咖啡6个页面(带js) ui还原度90%
htmlcssjs网页设计 星享咖啡6个页面(带js) ui还原度90% 网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等…...
docker上传镜像至阿里云
1、安装wsl2 WSL2安装(详细过程) 2、安装docker Docker在Windows下的安装及使用 3、创建私人阿里云镜像库 如何创建私人阿里云镜像仓库?(保姆级) 4、如何删除容器 (1) 查找正在使用该图像的容器 docker ps -a --filte…...
POS刷卡开发源码之语音播报-CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构
一、终端语音提醒的好处 1. 增强信息传递的有效性:在人们忙碌或者注意力分散时,语音提醒能够直接穿透噪音和干扰,确保重要信息被准确接收。 2. 提高操作的便捷性:用户无需停下手中的工作去查看屏幕或阅读文字,直接通过…...
jupyter notebook魔法命令
%xmode 魔法命令来控制异常报告: 输入魔法命令:在 IPython 或 Jupyter Notebook 的一个新单元格中,输入以下命令之一来设置异常报告模式: 切换到 Plain 模式(简洁输出): %xmode Plain切换回 Con…...
Mysql事件
1:查询全局事件开关是否启动 SHOW VARIABLES LIKE %sche%; 关闭状态!!!去开启如果已开启忽略 set global event_scheduler ON; ojbk 2:创建事件 step1: 链接打开自己的数据库 step2: 找…...
Unity Console 窗口输出对齐
起因:做了个工具在console窗口罗列一些信息,基本结构是 [ 文件名 :行号 ],因为文件,行号长度不一,想要做到如下效果。 初步尝试,用以下方法: string format "{0,-10} …...
leetcode198_打家劫舍
思路 动态规划 func rob(nums []int) int {if len(nums) < 2 {return nums[0]}// dp[i] 表示到第i家为止,小偷能够偷窃到的最高金额dp : make([]int, len(nums))dp[0] nums[0]dp[1] max(nums[0], nums[1])for i:2; i<len(nums); i {if nums[i] dp[i-2] &…...
C# 串口通讯怎么防止数据丢失
串口通信(Serial Communication)是计算机与设备之间进行数据交换的一种方式。在C#中进行串口通信时,防止数据丢失可以采取以下一些措施: 1.校验和(Checksum):在发送数据时,计算数据的…...
【机器学习】BP神经网络中的链式法则:解开智能背后的数学奥秘
在浩瀚的机器学习领域中,BP(反向传播)神经网络如同一座桥梁,连接着复杂的数据世界与智能的彼岸。而这座桥梁的基石之一,便是链式法则(Chain Rule)——一个看似简单却蕴含无限智慧的数学原理。今…...
MyBatis 基本操作 - 注解版
目录 一,查询 - select 1.1 全列查询 1.2 指定列查询 1.3 赋值问题 方法一:起别名 方法二:结果映射 方法三:添加配置 二,新增 - Insert 2.1 使用对象插入 2.2 获取主键 三,删除 - Delete 四&am…...
专业比例阀放大器配套选型
比例阀放大器作为液压系统中的关键组件,其技术选型对于保障系统的精确控制、稳定性和长期可靠性至关重要。下面将深入探讨比例阀放大器的技术选型要点,确保选型能满足特定的应用需求和系统性能要求: 兼容性与安装方式 阀型匹配:…...
Springboot 多数据源整合的三种方式
上链接:Springboot 多数据源整合的三种方式_springboot整合多数据源-CSDN博客...
【科研笔记】中国知网高级检索与专业检索针对同一检索内容返回的结果对比
中国知网高级检索与专业检索针对同一检索内容返回的结果对比 文献检索文献差集文献检索 预检索“复杂网络”和“事故”相关主题的文献,在高级检索界面中搜寻的结果如下,期刊选择为中文核心及以上,共检索138条文献 然后以专业检索,构建检索式“ (SU=‘事故’) AND (SU=‘复…...
C#-了解IOC控制反转及相关框架的使用
目录 一、了解IOC 1、概念 2、生命周期 二、使用 三、扩展-CommunityToolkit.Mvvm工具包 Messenger信使 方式一(收发消息) 方式二(收发消息) 方式三(请求消息) 一、了解IOC IOC,即控制…...
CSDN机器人与僵shi粉测试(真人看看)
哈哈哈一起玩个游戏 发现老是莫名其妙有很多关注点赞与收藏,关注的几百个人应该都是机器人 此博文用于检测平台机器人阅读量 —>如果是真人请务必随便留言<— 可以根据阅读量与评论判断机器人数量 不用点赞收藏有机器人就行 机器人统一特征是在2019年左右…...
【C/C++ 多态中的虚函数的虚函数表】详细的了解一下吧(要先知道有虚函数表
多态是面向对象程序设计中的一个重要特性,它允许不同类的对象对同一消息作出响应。在C++中,多态的实现主要依赖于虚函数和虚函数表。以下是对多态中虚函数表的详细描述: 一、虚函数表的概念 虚函数表(Virtual Function Table,简称VTable)是C++中用于支持多态性的一个关…...
基于树莓派4B设计的智能家居控制系统(阿里云IOT)(203)
文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 系统框架图1.6 系统功能总结1.7 系统原理图1.8 硬件…...
太阳能光伏气象站的功能优势
太阳能光伏气象站为光伏产业的智能化、高效化发展提供了强有力的支持。 首先,该气象站能够全面采集多种关键气象要素,包括太阳倾斜辐射、日照时数、太阳总辐射、直接辐射、散射辐射等太阳辐射数据,以及风速、风向、百叶盒温湿度、大气压力、…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
