个人网站开发背景怎么写,新乡营销型网站建设,wordpress微商插件,软件开发工程师招聘简章面试题一#xff1a;为什么 Java 不支持多继承 Java 不支持多继承主要是为避免 “菱形继承问题”#xff08;又称 “钻石问题”#xff09;#xff0c;即一个子类从多个父类继承到同名方法或属性时#xff0c;编译器无法确定该调用哪个父类的成员。同时#xff0c;多继承…面试题一为什么 Java 不支持多继承 Java 不支持多继承主要是为避免 “菱形继承问题”又称 “钻石问题”即一个子类从多个父类继承到同名方法或属性时编译器无法确定该调用哪个父类的成员。同时多继承会使类的层次结构变得复杂增加代码维护难度。Java 通过接口来实现类似多继承的功能一个类可以实现多个接口从而获得多个行为的组合。
面试题二 和 equals 有什么区别 对于基本数据类型比较的是值是否相等对于引用数据类型比较的是对象的内存地址是否相同。equals 是 Object 类中的方法默认比较的是对象的内存地址和 效果一样。但很多类如 String、Integer 等重写了该方法用于比较对象内容是否相等。
面试题三返回值不同算方法重载吗为什么
不算。方法重载的条件是在同一个类中方法名相同参数列表参数个数、类型、顺序不同与返回值类型无关。因为在调用方法时编译器是根据方法名和参数列表来确定调用的具体方法而不是返回值类型。
面试题四String 为什么被设计成不可变的
安全性在网络连接、数据库操作等场景中传递 String 时不可变特性可以防止数据被篡改。缓存效率可以使用字符串常量池相同字符串字面量共享同一对象节省内存。线程安全多个线程同时访问同一个 String 对象时不用担心数据被修改。
面试题五String strnew String (hello) 创建了几个对象
通常情况下创建了 2 个对象。字符串字面量 hello 会先在字符串常量池中创建一个对象如果常量池中已存在则直接引用然后通过 new 关键字在堆内存中创建一个新的 String 对象。
面试题六包装类的实际应用场景有哪些
集合框架Java 集合框架如 List、Set 等只能存储对象所以需要将基本数据类型包装成包装类才能存入集合中。反射机制反射操作方法和属性时需要使用包装类来表示基本数据类型。泛型泛型不能使用基本数据类型必须使用包装类。
面试题七说一下 Integer 高速缓存
Integer 类有一个 IntegerCache 缓存机制默认情况下会缓存 -128 到 127 之间的 Integer 对象。当使用自动装箱如 Integer i 100; 创建在这个范围内的 Integer 对象时会直接从缓存中获取而不是创建新的对象提高了性能和节省内存。超出这个范围则会创建新的对象。
面试题八为什么重写 equals 时一定要重写 hashCode
Java 中规定如果两个对象通过 equals 方法比较相等那么它们的 hashCode 值也应该相等。这是因为在一些基于哈希的数据结构如 HashMap、HashSet中先通过 hashCode 值确定元素的存储位置再通过 equals 方法判断元素是否相同。如果只重写 equals 不重写 hashCode可能会导致在这些数据结构中出现逻辑错误如无法正确存储或查找元素。
面试题九什么是类型檫除它有什么好处
类型擦除是 Java 泛型的一种机制在编译阶段泛型类型会被擦除替换为其上限类型默认为 Object。好处有
兼容性使泛型代码能与旧版本的 Java 代码兼容。减少代码膨胀只生成一份字节码提高编译效率和减少内存占用。
面试题十什么是克隆深克隆和浅克隆有什么区别
克隆是创建一个与原对象具有相同属性值的新对象。
浅克隆创建新对象新对象的基本数据类型属性与原对象相同引用类型属性指向原对象的引用地址即共享引用对象。深克隆不仅创建新对象对于引用类型属性也会递归创建新的对象新对象与原对象的引用类型属性指向不同的对象相互独立 。