网站首页 > 文章精选 正文
1、介绍
在锁相关的面试题中,需手动或者自动的释放锁,也就是关键字:Syncnized 和 Lock得应用。
那下面这个程序输出什么信息了?请说出你的结果,并说明为什么?
LockAndSyncnizedExample.java
public class LockAndSyncnizedExample {
public synchronized void add(){
add();
}
public static void main(String[] args) {
new LockAndSyncnizedExample().add();
}
}
2、输出结果
Exception in thread "main" java.lang.StackOverflowError
at cn.juc.lock.LockAndSyncnizedExample.add(LockAndSyncnizedExample.java:7)
at cn.juc.lock.LockAndSyncnizedExample.add(LockAndSyncnizedExample.java:7)
at cn.juc.lock.LockAndSyncnizedExample.add(LockAndSyncnizedExample.java:7)
at cn.juc.lock.LockAndSyncnizedExample.add(LockAndSyncnizedExample.java:7)
at cn.juc.lock.LockAndSyncnizedExample.add(LockAndSyncnizedExample.java:7)
at cn.juc.lock.LockAndSyncnizedExample.add(LockAndSyncnizedExample.java:7)
Process finished with exit code 1
3、为什么?
Stack类表示一个后进先出(LIFO)的对象堆栈。它通过在Vector类上扩展五个操作,允许将一个向量视为堆栈。提供了通常的push和pop操作,以及一个用于查看堆栈顶部项的方法、一个用于测试堆栈是否为空的方法,以及一个用于在堆栈中搜索项并发现它距离顶部有多远的方法。
当首次创建一个堆栈时,它不包含任何项。Deque接口及其实现提供了一个更完整和一致的LIFO堆栈操作集,应优先使用该接口和其实现类。
答案:
死锁-导致方法持续压栈溢出抛出异常。(方法的调用,就是压栈出栈的操作)
你学了吗?
猜你喜欢
- 2025-03-18 5种数据同步方案,我的成功同步1000亿数据的实战经验!
- 2025-03-18 IT技术栈:程序员面试宝典之消息中间件Kafka
- 2025-03-18 大数据面试之Clickhouse(大数据spark面试题)
- 2025-03-18 流批一体不只有Flink,还有实时数据模型
- 2025-03-18 阿里大数据技术架构师整理分享java面试核心知识点框架篇文档
- 2025-03-18 字节跳动技术面试官,帮你考前划重点,还有面试真题哦
- 2025-03-18 数仓/数开面试题真题总结(四)(数仓面试时应该讲些什么)
- 2025-03-18 一线互联网大数据面试题核心知识库(100万字)
- 2025-03-18 硬核!八张图搞懂 Flink 端到端(深入原理,建议收藏)
- 2025-03-18 详解Flink组件通信——RPC协议(flink组件介绍)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)