摘要: 1、什么是跳表? 维基百科:跳表是一种数据结构。它使得包含n个元素的有序序列的查找和插入操作的平均时间复杂度都是 O(logn),优于数组的 O(n)复杂度。快速的查询效果是通过维护一个多层次的链表实现的,且与前一层(下面一层)链表元素的数量相比,每一层链表中的元素的数量更少。 优于数组的插入操作时 阅读全文
posted @ 2020-12-04 11:00 Laymen 阅读(5835) 评论(2) 推荐(6) 编辑
摘要: 承接【数据结构】跳表(SkipList)原理篇,本篇文章我们来分析下如何使用代码实现SkipList。在JDK中并没有SkipList的直接实现,当然我们可以自己写代码实现,但是为了给后面“一致性Hash算法”系列文章做铺垫, 这里我选择 ConcurrentSkipListMap 类来进行分析。 阅读全文
posted @ 2020-12-23 13:47 Laymen 阅读(573) 评论(1) 推荐(2) 编辑
摘要: 之前在使用自定义线程池异步执行耗时任务时,一直记着如果业务方法抛出异常没有捕获,那么是看不到日志框架输出的异常日志的,所以总是在业务方法中包裹一层try-catch捕获可能发生的异常。也未去深入为什么没有打印异常日志和解决方法,这里记录下自己的总结。 1、示例 @Slf4j @SpringBootT 阅读全文
posted @ 2019-09-05 14:40 Laymen 阅读(7824) 评论(3) 推荐(2) 编辑
摘要: 转:http://blog.csdn.net/yunhaibin/article/details/9001198 最近在研究Redis,以及spring data对redis的支持发现了一个奇怪的现象 先说现象吧,通过redisTemplate下的opsForHash方法存储hash类型的值,操作成 阅读全文
posted @ 2017-05-03 19:20 Laymen 阅读(9970) 评论(0) 推荐(0) 编辑
摘要: Instagram可以说是网拍App的始祖级应用,也是当前最火热的拍照App之一,Instagram的照片数量已经达到3亿,而在Instagram里,我们需要知道每一张照片的作者是谁,下面就是Instagram团队如何使用Redis来解决这个问题并进行内存优化的。 首先,这个通过图片ID反查用户UI 阅读全文
posted @ 2017-05-03 19:18 Laymen 阅读(863) 评论(0) 推荐(0) 编辑
摘要: Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数 阅读全文
posted @ 2017-03-29 16:58 Laymen 阅读(3204) 评论(0) 推荐(0) 编辑
摘要: 该文章转自 http://demojava.iteye.com/blog/800204 方便以后学习查看。 以下内容全部是网上收集: FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 下面是一个FreeMarker模板的例子,包含了以上所 阅读全文
posted @ 2017-03-24 15:51 Laymen 阅读(890) 评论(0) 推荐(0) 编辑
摘要: 一、背景 1.在系统中一个用户存在多个角色,那么如何在查询用户的信息时同时把他的角色信息查询出来啦? 2.用户pojo: 3.数据库 二、实现 如果一个对象中的属性是另个对象,就会出现对象与对象的中的关系,及是一对一,多对多,还是一对多等等,从上面的需求中如果从user出发来分析,那么一个用户可以有 阅读全文
posted @ 2017-02-16 17:33 Laymen 阅读(1004) 评论(0) 推荐(1) 编辑
摘要: 1.添加依赖包 spring与mybatis整合中mybatis-spring是一个关键的依赖包 2.配置mybatis 这里其实只需要配置一个sqlSessionFactoryBean 和 MapperScannerConfigurer 注意:sqlSessionFactoryBeanName属性 阅读全文
posted @ 2017-02-16 16:24 Laymen 阅读(318) 评论(0) 推荐(0) 编辑
摘要: /** * Key(键) * DEL,DUMP,EXISTS,EXPIRE,EXPIREAT,KEYS,MIGRATE,MOVE,OBJECT,PERSIST,PEXPIRE,PEXPIREAT,PTTL,RANDOMKEY,RENAME,RENAMENX,RESTORE,SORT,TTL,TYPE,SCAN */ public class KeyTest { private Je... 阅读全文
posted @ 2016-12-02 18:22 Laymen 阅读(20030) 评论(0) 推荐(0) 编辑