java初阶
文章平均质量分 90
Rools
这个作者很懒,什么都没留下…
展开
-
面试扩展题2
1、RocketMQ的事务消息是如何实现的?1、消息生产者发送事务消息,属于半消息,这里的半消息指的不是半消息,而是消费者不可见的消息。(同步发送的)2、消息中间件收到生产者的信息后,会回调生产者,使生产者调用本地的事务方法。3、本地事务需要返回执行结果给消息中间件。4、消息中间件接收到本地事务的执行结果后,再决定如何处理半消息。如果收到的是commit,就把半消息转换为完整消息,然后对消费者可见,如果收到的是rollback,就把半消息删除掉。5、消息中间件对于长时间未处理的半消息进原创 2022-05-28 15:52:06 · 221 阅读 · 0 评论 -
面试扩展题
1、请简述一下synchronize锁的升级过程(节选Java synchronized锁升级过程简述(面试可用)_memory_cood的博客-CSDN博客)大概的升级过程是:无锁-->偏向锁-->轻量级锁-->锁自旋-->重量级锁偏向锁:偏向锁,就是在锁对象的对象头中存放一个ThreadId字段,如果这个字段是空的话,第一次获取锁的时候,就将自身的ThreadId写入到锁的ThreadId字段中,将锁头内的是否偏向锁的状态位置设为1,这样下次获取锁的时候,直原创 2022-05-27 22:30:07 · 106 阅读 · 0 评论