千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:上海千锋IT培训  >  行业资讯  >  Java面试的十大棘手问题之一

Java面试的十大棘手问题之一

来源:千锋教育
发布人:小千
时间: 2021-04-30 11:36:00

      为什么在 Object 类中定义 wait 和 notify 方法,为何 wait,notify 和 notifyAll 属于 Object 类?为什么它们不应该在 Thread 类中?这是大家在面试中经常会被面试官问到的一个问题,那下面就是这个问题该怎样回答,大家可以参考参考。

1619685588615

      wait 和 notify 不仅仅是普通方法或同步工具,更重要的是它们是 Java 中两个线程之间的通信机制。对语言设计者而言, 如果不能通过 Java 关键字(例如 synchronized)实现通信此机制,同时又要确保这个机制对每个对象可用, 那么 Object 类则是的正确声明位置。记住同步和等待通知是两个不同的领域,不要把它们看成是相同的或相关的。同步是提供互斥并确保 Java 类的线程安全,而 wait 和 notify 是两个线程之间的通信机制。

      每个对象都可上锁,这是在 Object 类而不是 Thread 类中声明 wait 和 notify 的另一个原因。

      在 Java 中为了进入代码的临界区,线程需要锁定并等待锁定,他们不知道哪些线程持有锁,而只是知道锁被某个线程持有, 并且他们应该等待取得锁, 而不是去了解哪个线程在同步块内,并请求它们释放锁定。

      Java 是基于 Hoare 的监视器的思想。在Java中,所有对象都有一个监视器。

      大家可以参考对比一下自己将来遇到的时候可以怎么回答哦,有想在Java方面有所提升的也可以搜索千锋Java培训,如果对Java感兴趣的也可以到千锋上海Java培训来试听哦。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

编程代码好学吗?学习这方面内容是否是智商税

2023-03-31

零基础能学Java吗?上海Java培训哪家好?

2022-03-25

上海Web前端培训好吗?参加培训班学习前端有哪些优势?

2022-03-22

最新文章NEW

想要学习Java,上海Java培训学费多少?

2022-03-21

新手在上海Web前端培训学习,这些错误要避免!

2022-03-18

上海Java培训费用多少,有什么参考标准?

2022-03-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>