Java面试——高级知识点

知识点

死锁条件

必须同时满足:

  • 互斥等待(意思是存在锁)
  • hold and wait
  • 循环等待
  • 无法剥夺的等待

死锁防止

  • 破除互斥等待–>一般无法破除
  • 破除hold and wait–>一次性获取所有资源
  • 破除循环等待–>按顺序获取资源
  • 破除无法剥夺的等待–>加入超时

线程的状态

新建状态(New)
就绪状态(Runnable)
运行状态(Running)
阻塞状态(Blocked)
死亡状态(Dead)
一个很好的讲解https://blog.csdn.net/peter_teng/article/details/10197785#:~:text=%E7%BA%BF%E7%A8%8B%E4%BB%8E%E5%88%9B%E5%BB%BA%E3%80%81%E8%BF%90%E8%A1%8C%E5%88%B0,%E9%98%BB%E5%A1%9E%E7%8A%B6%E6%80%81%E5%8F%8A%E6%AD%BB%E4%BA%A1%E7%8A%B6%E6%80%81%E3%80%82

线程池

  • 创建线程开销大
  • 线程池:预先建立好线程,等待任务派发
  • 线程池的参数:
    corePoolSize:线程池中初始线程的数量,可能处于等待状态
    maximumPoolSize:线程池中最大允许线程数量
    KeepAliveTime:超出corePoolSize部分线程如果等待这些时间将被回收。

synchronised的底层实现

详细讲解:https://juejin.cn/post/6844903960826871815
同步代码块:采用monitorenter、monitorexit两个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值