上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: 1、衡量排序算法的标准 其实几乎所有算法都可以从几个方便进行衡量:执行效率、内存开销、稳定性。 排序算法也一样,主要从: • 时间复杂度,包括:最好情况、最坏情况、平均时间复杂度、还有比较和交换的次数 • 空间复杂度,如:原地排序 • 排序算法的稳定性,即相同数值的元素,排序后的前后顺序不变则称为稳 阅读全文
posted @ 2022-01-29 10:28 jingyi_up 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 1、衡量算法的标准 衡量算法的两个维度:时间复杂度和空间复杂度。 (1)时间复杂度 时间复杂度一般用大 O 时间复杂度表示,它并不是具体指代码真正执行的时间,而是代码执行时间随着数据规模增长的变化趋势。 三个判断方法: • 只关注循环执行次数最多的一段代码 • 加法法则 • 乘法法则:嵌套代码的时间 阅读全文
posted @ 2022-01-28 14:26 jingyi_up 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 索引的原理就不过多介绍了,可以看之前的文章:Innodb索引 在使用过程中,会有很多导致索引失效的操作,来看以下几种案例: 1、不满足联合索引最左匹配原则 联合索引要正确使用需满足最左匹配原则,即:符合第一列才会继续判断后面的字段。 比如创建联合索引(a,b,c),以下情况都可以走索引: where 阅读全文
posted @ 2022-01-24 11:16 jingyi_up 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 转载一篇关于零拷贝技术的介绍:https://blog.csdn.net/u022812849/article/details/109805403 其实很多读写数据的框架都使用到了零拷贝技术,比如:kafka、rocketMQ等。 零拷贝原理和netty中零拷贝使用案例 还有一个介于传统IO和零拷贝 阅读全文
posted @ 2022-01-14 11:39 jingyi_up 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1、IO的本质 要了解IO和NIO,我们先从计算机原理上来看一下IO是什么? IO本质上就是对内存的操作,将数据流写入内存就是Input,从内存写出数据流就是Output。 IO有五种模型:阻塞IO、非阻塞IO、IO多路复用、信号驱动IO、异步IO。 我们来看下Java应用程序在系统中的IO是什么样 阅读全文
posted @ 2022-01-14 10:51 jingyi_up 阅读(974) 评论(0) 推荐(0) 编辑
摘要: 1、问题描述 两个一样的Consumer Group的Consumer订阅同一个Topic,但是是不同的tag,Consumer1订阅Topic的tag1,Consumer2订阅Topic的tag2,然后分别启动。这时候往Topic的tag1里发送10条数据,Topic的tag2里发送10条。目测应 阅读全文
posted @ 2022-01-12 10:41 jingyi_up 阅读(1579) 评论(0) 推荐(0) 编辑
摘要: 可以通过SLAVEOF命令或是设置slaveof选项让一个服务器(slave)去复制另一个服务器(master)。 127.0.0.1:12345>SLAVEOF 127.0.0.1 6379 那么 127.0.0.1:12345 就会成为 127.0.0.1:6379 的从服务器。 1、复制功能的 阅读全文
posted @ 2022-01-11 12:05 jingyi_up 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 1、场景和问题 我们常用Redis来做缓存减少数据库的访问。一般流程是: (1)数据的请求先查缓存中是否存在 (2)如果缓存命中,则直接返回数据,如果缓存中不存在,则查数据库,然后再写缓存 可能产生的问题: 1、多线程导致数据不一致 例如:线程A和线程B同时更新用户积分 (1)线程A将用户积分更新为 阅读全文
posted @ 2022-01-10 18:31 jingyi_up 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 1、场景 最近在做用户拉灰策略,需要统计用户在n分钟之内获得的广告奖励总数,如果超过阈值则拉灰,其中n和阈值都支持配置。 2、方案分析 获得用户任意时间段内的奖励值是一个典型的滑动窗口问题,这里我们要明确几点: (1)广告行为是非高频行为,因为一个广告的市场一般在15-30之间 (2)因为作弊用户都 阅读全文
posted @ 2022-01-02 22:46 jingyi_up 阅读(259) 评论(0) 推荐(0) 编辑
摘要: Object.clone()深浅拷贝问题 浅拷贝就不说了,只看下深拷贝的两种实现方式:第一种是给需要拷贝的引用类型也实现Cloneable接口并覆写clone方法;第二种则是利用序列化。 第一种:使用深拷贝Object的clone()方法是projected,所以要使用需要实现Cloneable接口 阅读全文
posted @ 2022-01-02 18:07 jingyi_up 阅读(108) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页