测试题(二)

11 equals 与 hashCode

equals 比较内容是否相同。

如果 equals 相同,hashCode 必须相同;否则哈希表结构(如 HashMap)会错误定位桶位。

重写 equals 时必须重写 hashCode。

12 值传递与引用传递(Java 是值传递)

Java 所有参数都是值传递。

基本类型传值拷贝;引用类型传地址拷贝,因此可以修改对象内容,但不能让外部引用指向新对象。

13 类初始化顺序

加载顺序:父类静态 → 子类静态 → 父类实例 → 父类构造 → 子类实例 → 子类构造。

始终从父类开始,保证结构完整。

14 本地方法栈

用于执行 Native 方法,存放局部变量、操作数等。

Native 方法用于调用底层 C/C++ 库或系统 API。

15 双亲委派机制

类加载时先交给父类加载器,如果父类无法加载,再由子类加载器处理。

目的:保证核心类库不被替换,避免重复加载。

16 重写与重载

重写发生在父类子类之间,方法签名一致,是多态。

重载发生在同一个类中,方法名相同但参数不同,用于功能增强。

17 super 必须在构造器第一句

构造器第一句必须是 super(...),否则编译报错。

如果不写,系统会自动插入 super() 调用父类无参构造。

18 instanceof

判断对象是否属于某类或其子类,用于类型检查与安全强转。

19 强制类型转换

基本类型强转会丢失精度(double 转 int)。

引用类型必须有父子关系才能强转,否则抛出 ClassCastException。

20 synchronized 可重入锁

同一个线程可以重复获得同一把锁,不会造成死锁。

JVM 用锁计数器实现重入机制。

相关推荐
2601_9669496510 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨12 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪12 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风12 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
文丑颜不良啊13 小时前
LeetCode876~900题目解析
java·leetcode
aloha_78914 小时前
Java 基础、集合、异常与 JUnit 5 速查
java·junit·sqlserver
知守观14 小时前
设计模式实战:从真实老项目中看标准模板方法与工厂的落地
java·spring·设计模式
2601_9628857214 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
独隅14 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
Wang's Blog15 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友