最新 最热

CountDownLatch

CountDownLatch是Java中的一个同步工具类,它可以让一个或多个线程等待其他线程完成操作后再执行。CountDownLatch的作用是允许一个或多个线程等待其他线程完成操作后再执行。...

2023-05-27
1

Android | 关于 OOM 的那些事

Android 系统对每个app都会有一个最大的内存限制,如果超出这个限制,就会抛出 OOM,也就是Out Of Memory 。本质上是抛出的一个异常,一般是在内存超出限制之后抛出的。最为常见的 OOM 就是内存泄露(大量的对象无法被释放)导...

2023-05-26
1

一次全量数据对比工具发现问题的过程与思考

如果没有这次全量数据对比工具,那么也许这个历史问题会继续隐藏着,直到发生线上事故才暴露出来,毕竟人工抽样验证发现的概率只有5.8%。

2023-05-26
1

如何确保线程的执行顺序?

线程的执行顺序是不确定的:在同一个方法中,连续创建多个线程,调用线程的start()方法的顺序并不能决定线程的执行顺序。

2023-05-24
1

并发编程介绍

在高并发、大数据的互联网场景下,并发编程一直是程序员必须要掌握的重中之重,是最能体现一个程序员功底的方面之一。多线程可以在包含多个CPU核心的机器上同时处理多个不同的 任务,优化资源的使用率,提升程序的效率。在一...

2023-05-24
1

慢查询日志中的 Lock_time 从哪里来?

经常关注慢查询日志的读者,和 Lock_time 应该算是老相识了,大家对这位老相识了解有多少呢?

2023-05-24
1

MySQL 客户端 Ctrl + C,服务端会发生什么?

我们也许有过这样的经历:用 mysql 客户端连上数据库,执行一条 SQL,结果迟迟执行不完,我们等得不耐烦了,顺手就是一个 Ctrl + C。

2023-05-24
1

阿里四轮面试遭遇StampedLock,这么应对保拿offer

读写锁允许多线程同时读共享变量,适用读多写少。 读多写少场景还能更快吗?有的,JDK8提供StampedLock,性能比读写锁还好。

2023-05-24
1

一个简单的生产者和消费者模型

创建了一个缓冲区类Buffer,它使用一个链表来实现缓冲区,并且具有生产和消费两个方法put()和take()。在put()方法中,如果缓冲区已满,就等待消费者消费;否则,将数据加入缓冲区,并通知消费者可以消费了。在take()方法中,如果缓冲...

2023-05-23
1

微信小程序-双线程渲染模型

官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/framework.html#渲染层和逻辑层

2023-05-18
1