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 用锁计数器实现重入机制。
相关推荐
ShineWinsu2 小时前
对于C++中list的详细介绍tackchen2 小时前
venv-manager 管理 Conda 环境 和 Python 虚拟环境 (venv)lly2024062 小时前
ASP #include 指令详解2501_936960362 小时前
ROS快速入门杰哥教程1-77残缺版小灵吖2 小时前
LangChain4j 记忆化(ChatMemory)游乐码2 小时前
c#封装成员变量和成员方法和访问修饰符用户1085932993412 小时前
Java集合框架完全指南冬夜戏雪2 小时前
Leetcode 颠倒二进制位/二进制求和weisian1512 小时前
JVM--13-深入ThreadLocal:线程私有数据的隔离艺术与实战陷阱