Java面试题第二弹

Java面试题第二弹
Mozi1. 什么是序列化和反序列化?
解答
解答:
- 序列化: 将 JVM 内存中的 Java 对象转换为字节数组,写入文件或通过网络传输。
- 反序列化: 将文件或网络中的字节数组还原为 JVM 内存中的 Java 对象。
2. 如何让线程 A、B、C 按顺序执行?
解答
解答:
可以使用 join()
方法实现线程按顺序执行,示例如下:
1 | public static void main(String[] args) { |
上述代码中,join()
方法确保线程 A 完成后再执行线程 B,线程 B 完成后再执行线程 C。
3. OSI 网络参考模型与 TCP/IP 网络模型的对应关系?
解答
解答:
OSI 网络参考模型与 TCP/IP 网络模型的对应关系如下:
OSI 网络参考模型 | TCP/IP 网络模型 | 各层对应 |
---|---|---|
应用层 | 应用层 | HTTP、FTP、SMTP… 应用程序 |
表示层 | 应用层 | 数据格式转换、加密解密等 |
会话层 | 应用层 | 会话管理 |
传输层 | 传输层 | UDP、TCP… 选择传输协议 |
网络层 | 网络层 | IP… 封装网络地址 |
数据链路层 | 数据链路层 | 帧传输、MAC 地址 |
物理层 | 网络接口层 | 比特流… 物理传输 |
4. TCP 和 UDP 的各自特点是什么 (传输层)?
解答
解答:
TCP 的特点:
- 面向连接,通信前需要建立连接(三次握手)。
- 提供可靠的数据传输,数据无丢失、无重复、按序到达。
- 适合文件传输、邮件等对可靠性要求高的场景。
- 开销较大,传输速度相对较慢。
UDP 的特点:
- 面向无连接,通信前无需建立连接。
- 提供不可靠的数据传输,可能丢包、乱序。
- 适合实时视频、语音等对速度要求高但对可靠性要求低的场景。
- 开销较小,传输速度快。
5. maven 的生命周期
解答
解答:
Maven 的生命周期分为三类,每类包含多个阶段:
清理生命周期 (clean):
clean
: 执行实际的清理操作。
默认生命周期 (default):
compile
: 编译项目的源代码。test
: 使用适当的单元测试框架运行测试。package
: 将编译后的代码打包成可分发的格式(如 JAR、WAR)。install
: 将包安装到本地仓库,以供其他项目使用。
站点生命周期 (site):
site
: 生成项目的站点文档。
每个生命周期的阶段按顺序执行,用户可以根据需求调用特定阶段。
6. 事务有哪些特性?
解答
解答:
- 原子性(Atomicity):事务是不可分割的最小单元,要么全部成功,要么全部失败。
- 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态。
- 隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。
- 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果