金证秋招笔试

1.构造函数的特性

答:

  1. 基础语法特性(名称、无返回值、自动调用)

  2. 继承体系下的执行顺序(先父后子)

3.不被继承 & 默认无参构造器陷阱

意思就是如果父类手动创建构造函数 子类创建构造函数系统会自动调用super() 这时候找不到上级的无参构造函数就会发成报错

  1. 一个最容易翻车的点:构造器里调用可重写方法

2.sleep()和wait()的区别

1.sleep()不释放锁wait()释放锁

2.sleep()被中断后锁不释放 wait释放

3.sleep 是 Thread 类的静态方法,wait 是 Object 的实例方法。

4.sleep 哪都能用,wait 必须在 synchronized 里

3.以下哪种是抽象方法

1.pubulic abtract void method()

2.pubulic abtract void method(){}

3.public void method extend abtract

答:第一个

第二个错误原因是抽象方法不能有方法体

第三个完全语法错误

总结:

  1. 必须用 abstract 关键字修饰

  2. 不能有方法体 {},直接用 ; 结尾

  3. 只能存在于抽象类或接口中 (接口中默认就是抽象的,可以省略 abstract

4.抽象类与抽象方法

1.有抽象方法的类必须是抽象类

2.抽象类不一定有抽象方法

3.子类必须实现所有抽象方法(除非子类也是抽象类)

5.以太网传输使用了什么机制

答:以太网使用 CSMA/CD(载波监听多路访问/碰撞检测)机制。其核心逻辑是:先听后说,边听边说,冲突停发,随机重发。

6.以下哪种数组创建成功

1.int\[\] a=new int5

2.int\[\] a=new int5{1,2,3,4,5}

第一个正确

第二个错误原因是:错误原因不能同时指定数组长度和初始化列表

7.运行时异常有哪些

答:运行时异常(RuntimeException)是 Java 中不需要显式捕获或声明的异常,它们继承自 RuntimeException 类,通常由程序逻辑错误导致,比如数组越界、空指针、类型转换错误等。

1.NullPointerException
2.ArrayIndexOutOfBoundsException
3.ClassCastException
4.ArithmeticException
5.NumberFormatException
6.IllegalArgumentException

8.异常处理try catch可以嵌套吗
答:可以

核心规则

  1. 内层抛出的异常优先由内层 catch 处理

  2. 如果内层没有匹配的 catch,异常会向上冒泡到外层

  3. 如果外层也没有处理,最终交给 JVM(程序终止)

追加try catch注意点

1.finally 块中不要用 return(会导致异常丢失)

2.finally 中抛出的异常会"淹没"原始异常(加个 try-catch 保护)

3.catch 异常时,要把最具体的异常 写在最前面(顺序错误编译报错)

try-catch 不是"万能药",能不捕获就别捕获

  • 对于受检异常(Checked Exception) ,必须处理(捕获或 throws)。

  • 对于运行时异常(RuntimeException)优先修复代码逻辑 ,而不是用 catch 包住。

9.子类与父类之间继承关系和方法使用的注意点

规则 1:子类构造器必须调用父类构造器

  • 子类构造器第一行会隐式调用 父类的无参构造器 super()

  • 如果父类没有 无参构造器(只有有参构造),子类必须显式super(参数) 调用

规则 2:子类重写方法的访问权限 不能比父类更严格

规则 3:子类重写方法的返回值 必须是父类返回值的子类型 (协变返回)
规则 4:子类重写方法不能 抛出比父类更宽 的受检异常(重要!)
规则 5:static 方法不能 被重写(只能被隐藏)
规则 6:成员变量没有多态 ,看的是引用类型

10.如果一个二叉树他的前序遍历和后序遍历相反 那么他的形状是?

一棵高度等于节点数、每个节点只有单侧子树的链状树

11.

13.子类一定比父类有更多成员方法吗

子类继承父类所有的非 private 成员方法,所以子类可用的方法数量至少等于父类。子类可以增加新方法,使方法数量多于父类,但也可以不加,保持相等。所以"子类一定比父类有更多成员方法"是错误命题。
14.

15.ThreadLocal 为每个线程提供独立的变量副本,避免了线程间竞争,实现了无锁化的线程安全;但需要在使用后调用 remove() 防止内存泄漏,且只适用于隔离变量的场景,不能保证跨变量的业务逻辑原子性。"

16

17.

相关推荐
不正经学生1 小时前
C语言结构体:自定义数据类型,让变量打包出行
java·c语言·开发语言·数据结构·算法
ycjunhua1 小时前
Spring AI 2.0 GA:ToolCallingAdvisor 重构与 Java Agent 新范式
java·人工智能·spring
老一岁1 小时前
c问题总结(1)
c语言·开发语言
开源必胜1 小时前
Future的异常处理以及CompletableFuture传播链、异常处理
java
林森lsjs2 小时前
队列 FIFO 原理 & 手撕两种队列实现(链表 + 循环数组)—数据结构陆
java·开发语言·数据结构·队列
何以解忧,唯有..3 小时前
Python time 模块详解:时间处理与日期操作指南
开发语言·python
caimouse3 小时前
ReactOS 窗口系统分析(20):光标与图标 — cursoricon.c
c语言·开发语言
lisin-lee-cooper3 小时前
简单聊聊 OpenFeign 框架源码
java·微服务
Buke..3 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(下):OLLVM 混淆还原 sign 算法
java·javascript·爬虫·python·算法