- 博客(10)
- 收藏
- 关注
原创 阻塞队列-ArrayBlockingQueue
昨天面试被问到阻塞队列的原理,答得不是特别好,尤其是它的同步原理。今天看了下源码,并参考网上视频https://www.bilibili.com/video/BV14P41197t7/?spm_id_from=333.1007.top_right_bar_window_history.content.click,总结一下ArrayBlockingQueue的基本原理。
2024-11-17 21:49:10
656
原创 力扣打卡:75. 颜色分类
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地 对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我的思路:分别统计红的,白的,蓝的,统计完之后3个while分别填入数组。大佬的思路:快速排序的一次划分完美解决,荷兰国旗思路的典型应用!我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。不行了,忽然看到大佬一个思路,简直是太妙了!
2024-11-11 21:34:37
194
原创 力扣每日打卡:498. 对角线遍历
本题从开始看,到想思路,到看大佬思路,到写出来,总共耗时两个多小时。这种二维数组方向顺序类的模拟题,是我的弱项。
2024-11-11 21:15:26
203
原创 CompletableFuture异步编程
我们可以通过两个线程分别去执行f和g,这两个线程运行在独立的CPU核上,那么运行时间为两个函数中最长的一个。无论是Future还是反应式的被调用方法都在另一个线程中执行,有可能调用方已经退出了执行,被调方的异常都需要其他的动作来处理。今天阅读的Java实战的第五部分第15章的内容,简单总结一下CompletableFuture异步编程。主线程会等待两个线程执行的结果并相加,这样风格简便,但是只能获得一次结果,而且get()方法是阻塞的。通过修改f和g的函数签名来使用回调风格的编程。
2024-11-04 17:43:07
454
原创 力扣 LRU
这里有一个问题,由于Java自带的双向链表在删除指定元素时,需要先定位,再删除,定位是从头到尾遍历,时间复杂度为O(n),不符合题目要O(1)的要求,因此自定义链表进行实现.
2024-11-03 17:46:35
222
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅