一些Java的基础面试题 带答案的

本文精选了几个典型的Java面试题目并给出了详细的解答,包括垃圾回收机制中finalize方法的行为、异常处理、浮点数比较及基本类型与字符串的操作等。通过这些问题帮助读者更好地理解Java的基本概念和技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 如果一个将要被销毁的对象被另外一个对象的finalize方法引用,这个对象会被垃圾回收吗?
finalize方法里面引用对象会避免GC收回对象所占的内存,但是这个只能被执行一次,下次GC就不会在垃圾回收前调用finalize方法。
2. finalize方法可以被重载吗?
答案:是的,但是只有以下这种情况才能被垃圾回收器调用:
protected void finalize() throws Throwable { };
3. 子类的finalize方法会调用父类的finalize方法吗?
Finalize方法不是明确联接的,子类的finalize方法需要明确的在他的最后一个动作调用父类的finalize方法,但是编译器不会强迫进行检查。
4. 下面那个会抛出arithmetic异常?

int i = 100/0;
float f = 100.00/0.0
答案: int i = 100/0 会抛出java.lang.ArithmeticException

5. 下面那个是不正确的?

x = = Float.NaN
Float.isNan(x);
Myobject .equals(float.NaN);
答案: 1
6. 下面两句代码分别会输出什么?

System.out.println(1+2+”3”);
System.out.println (“1”+2+3);
答案:a: 33     b:123
7. 下面的声明正确吗?
char ch = ‘d’;
if(ch < 32.00){ }
答案: 正确的

 

本文来自: IT公司面试手册 一些Java的基础面试题 带答案的

 

### Java 基础面试题答案 #### equals 方法与 `==` 的区别 在 Java 中,`equals()` 方法用于比较两个对象的内容是否相等,而操作符 `==` 则用来判断两个引用变量是否指向同一个内存地址。 对于基本数据类型的比较,应该始终使用 `==` 来进行值的对比;而对于对象之间的内容比较,则应调用该类重写的 `equals()` 方法[^2]。例如: ```java String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1 == str2); // false, 不同的对象实例 System.out.println(str1.equals(str2)); // true, 内容相同 ``` #### final 关键字的作用 关键字 `final` 可应用于类、方法和变量前。当修饰类时意味着此类不可被继承;修饰方法时表示子类无法覆盖此方法;作为字段修饰符则表明一旦赋初值之后就不能再改变其值了[^1]。 #### 接口 (Interface) 和抽象类的区别 接口定义了一组行为规范,允许任何实现它的具体类提供这些功能的具体实现方式。一个类可以实现多个接口。相比之下,抽象类不仅能够声明成员函数还可以包含具体的实现细节,并且只允许单次继承关系存在。如果某个父类中有一些通用逻辑希望由所有派生出来的子类共享,那么此时更适合采用抽象类而非纯虚接口的形式来表达这种设计意图[^3]。 #### HashMap 工作原理简介 HashMap 是基于哈希表的数据结构,它实现了 Map 接口并提供了可变大小映射(也称为散列表),其中每个键最多关联到唯一的一个值。内部通过数组加链表/红黑树的方式存储 Entry 对象,从而达到快速存取的目的。当发生冲突即不同 key 计算得到相同的 hashcode 时会形成一条双向链接起来的 entry list 或者 tree node 结构以便于后续遍历查询处理。为了提高性能,默认情况下当桶内节点数量超过一定阈值(8),并且当前 table size 大于等于最小容量转换成树形结构(minimum capacity to expand is 64)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值