- 博客(3)
- 收藏
- 关注
原创 常用排序算法总结
常用排序算法总结排序算法冒泡排序选择排序插入排序快速排序归并排序 排序算法 在面试过程中,排序算法可能不问,但必须得会,所以今天整理了一边主要的排序算法,有冒泡排序、选择排序、插入排序、快速排序、归并排序。 冒泡排序 冒泡排序的时间复杂度是O(n2)。核心相邻两个元素比较,找到最大值后将其交换。 算法描述: 比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数; 针对所有的元素重复以上的步骤,除了最后一个; 重
2021-03-05 14:46:46 393 2
原创 redis查询时假死
问题描述 在redis中数据量较少的时候,如果需要根据key模糊查询value值,我们一般都是直接在redis中:keys userToken* 查询,但是当数据量非常大时,就会出现redis假死现象 原因分析 keys算法是遍历算法,复杂度为O(n),而由于redis是单线程程序,顺序执行程序,只有执行完当前命令,其他命令才可以执行。当达到百万级数据的时候,就会长时间等待,导致假死现象 解决思路 使用scan命令,命令格式如下: scan cursor [MATCH partten] [COUNT cou
2020-06-10 15:46:21 934
原创 面试-单例模式总结
在面试的时候,少不了问单例模式,曾经有一次就被问到:你会几种单例模式的编写,当时只答出了普通的懒汉式和饿汉式,之后又问:多线程情况下,有考虑怎么写吗,回答说加上锁实现,却在写出来后被指出synchronized位置写错了,结果就这样黯然离开了,唉…所以写下这篇文章,引以为鉴! 单机下的单例 对于普通的单机环境下,单例模式的代码相信大家都知道,就不深入细讲,只把代码写出来,加深记忆: // 懒汉式 即延迟加载 public class SingletonInstance { //私有静态变量
2020-06-08 18:56:59 188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人