测试题(二)

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 用锁计数器实现重入机制。

相关推荐
海盗12342 分钟前
C#中PDF操作-QuestPDF页面设置与布局
java·pdf·c#
day day day ...13 分钟前
MyBatis / MyBatis-Plus 动态 SQL 中 OGNL 表达式的常见陷阱与源码分析
java·开发语言·mybatis
basketball61617 分钟前
C++ bitset 头文件完全指南
开发语言·c++
Kiling_070420 分钟前
Java IO流:字节流实战与性能优化
java·开发语言·php
糯米团子74931 分钟前
javascript高频知识点
开发语言·前端·javascript
January120732 分钟前
IDEA 快捷键
java·ide·intellij-idea
周杰伦fans36 分钟前
C# 异常继承深度解析:从设计原则到 sealed 关键字的奥秘
java·jvm·c#
搬石头的马农37 分钟前
从零配置Claude自动修Bug:6步打造全自动开发流程
java·人工智能·python·bug·ai编程
小马爱打代码44 分钟前
Redis Key 过期后会立刻删除吗?过期删除与内存淘汰策略详解
java·redis·缓存
Wonderful U1 小时前
基于Python+Django的在线题库与智能阅卷系统:从痛点分析到完整实现
开发语言·python·django