![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java八股文
文章平均质量分 92
m0_62498006
bug仔
展开
-
公平锁/非公平锁、自旋锁、synchronized和lock的区别、合适的线程数是多少?CPU核心数和线程数的关系?(java八股文面试题)
现在,你们进入一个更大的房间,里面有许多不同的书房,每个书房都有一把锁。(Unfair Lock): 非公平锁则不考虑线程请求锁的顺序,它允许新到来的线程抢占已经被持有的锁,即使有其他线程在等待。在I/O密集型任务中,适当增加线程数可以使得在一个线程等待I/O的时候,另一个线程可以继续执行,从而充分利用CPU资源。有一个硬核的公式,这个公式是java并发实战的一个作者给出的,如果我们不能确定创景中的线程数,我们可以直接使用这个公式,就可以直接计算出一个比较合理的线程数了,然后在进行性能的调试。原创 2023-08-13 18:03:18 · 1257 阅读 · 0 评论 -
java八股文面试(“线程复用“的原理、消息队列选型)
主要讲了几种消息队列MQ和线程复用底层原创 2023-08-07 01:33:16 · 167 阅读 · 0 评论 -
今日5道java八股文面试题
但是你要是消费到第二次的时候,自己判断一下是否已经消费过了,若是就直接扔了,这样不就保留了一条数据,从而保证了数据的正确性,一条数据重复出现两次,数据库里就只有一条数据,这就保证了系统的幂等性,就比如kafka,实际上是有一个offset的概念,就是每次消费写进去,都有一个offset,代表消息的序号,然后消费者消费了之后,每隔一段时间,会把自己消费过的消息提交一下,表示“我已经消费过了,下次我要是重启啥的,你就让我继续从上次消费到的offset来继续消费”。读流量太多的时候,还可以加更多的从库。原创 2023-08-05 16:20:04 · 173 阅读 · 1 评论