- 博客(6)
- 收藏
- 关注
原创 Java延迟队列封装与示例
我们在封装类中提供了 put()、take()、poll() 和 poll(long, TimeUnit) 方法,这些方法分别用于将元素放入队列、从队列中取出元素并且等待元素变为可用、从队列中取出元素并返回 null 如果队列为空,以及等待指定的时间来获取元素。我们将这些任务添加到队列中,并使用 take() 方法来等待它们完成。接下来,我们可以编写一个使用 DelayQueueWrapper 的例子,该例子创建了一个 DelayQueueWrapper 对象,并使用它来执行两个延迟任务。
2023-03-08 00:21:09
228
原创 mybatis返回嵌套列表数据
在上述代码中,定义了两个resultMap,一个用于映射User对象,另一个用于映射Order对象。在User对象的resultMap中,使用标签指定关联属性orders的类型和resultMap。在查询语句中,使用LEFT JOIN来连接用户表和订单表,并按照用户ID和订单ID排序,从而保证返回的数据按照用户进行分组,每个用户下面包含其对应的订单列表。在MyBatis中,可以通过使用嵌套查询来返回嵌套列表数据。假设有两个表,一个是用户表,另一个是订单表,每个用户可以拥有多个订单。
2023-03-08 00:09:33
1539
原创 java多线程面试50题
什么是阻塞队列?Java中有哪些阻塞队列?答:阻塞队列是一种多线程协作的数据结构,它可以在队列已满或空时自动阻塞等待,直到队列可以继续插入或取出元素。Java中常见的阻塞队列包括ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue等。
2023-03-07 23:17:03
275
原创 Mysql性能优化详解
从硬件角度讲,服务器的CPU资源、内存资源、磁盘I/O共同决定了MySQL运行的效率和稳定性,任何部分出现资源不足的情况,MySQL服务本身就会出现性能问题,严重时Mysql服务可能不可用。4. 针对热点数据,可以引入更为高效的分布式数据库,比如 Redis、MongoDB 等,他们可以很好的缓解 Mysql 的访问压力,同时还能提升数据检索性能。3. 引入分库分表机制,通过分库可以降低单个服务器节点的 IO 压力,通过分表的方式可以降低单表数据量,从而提升 sql 查询的效率。
2023-01-29 22:47:40
494
原创 什么是阻塞队列
无界队列:没有固定大小的嘟列,实际上,无界队列也有长度限制的,最大是Integer.MAX_VALUE。阻塞队列实现了一个生产者消费者模型,生产生往队列中增加数据,消费者从队列中获取数据,队列满了阻塞生产者,队列空了阻塞消费者。SynchronousQueue:不存储元素的阻塞队列,每一个put操作必须等待一个take操作,否则不能继续添加元素。在队列满的情况下,会阻塞继续往队列中添加数据的现成,知道队列中有元素被释放。在队列为空的情况下,会阻塞从队列中获取元素的线程,知道队列中添加了新的元素。
2023-01-28 23:45:41
78
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人