摘要: [TOC] 从2018年3月来北京(当时只有不到两年工作经验)到现在第一次跳槽,感受还是很多的,所以来记录一下。 1.面试过程 总共如果加上hr面的话总共算是有四面,其中技术面2轮,VP面一轮(其实hr之前没告诉我有这一轮),一轮hr电话面(这个就是谈谈理想没什么说的)。 一轮技术面 1.手撕编码( 阅读全文
posted @ 2019-05-11 13:42 墨、鱼的blog 阅读(225) 评论(0) 推荐(0) 编辑
摘要: [TOC] 上图是以CommitLog文件为例,展示了commitlog文件与MappedFile、MapppedFileQueue的关系。 你可以把磁盘里面commitlog文件夹下每个文件对应成MappedFile,而这个文件夹对应成MappedFileQueue。 先从MappedFileQu 阅读全文
posted @ 2019-03-30 18:25 墨、鱼的blog 阅读(1602) 评论(0) 推荐(0) 编辑
摘要: 将博客搬至CSDN 阅读全文
posted @ 2019-03-19 13:43 墨、鱼的blog 阅读(101) 评论(0) 推荐(0) 编辑
摘要: [TOC] 上一篇分享了AQS的基本原理: "AQS(AbstractQueuedSynchronizer)" ,在此基础上,再来看看ReentrantLock对AQS是怎么实现的,尤其是对可重入以及公平和非公平的理解 公平方式获取锁 先看看lock()方法: java / 对AQS中对应方法的重写 阅读全文
posted @ 2018-12-15 22:37 墨、鱼的blog 阅读(140) 评论(0) 推荐(0) 编辑
摘要: [TOC] 一、概述 AQS是AbstractQueuedSynchronizer(抽象队列同步器)的缩写。它是多线程访问共享资源的框架,ReentrantLock、CountDownLatch、Semaphore等都是基于它来实现的。 从图中可以看到,有两个关键的组成部分,一个是state(共享资 阅读全文
posted @ 2018-12-15 22:36 墨、鱼的blog 阅读(436) 评论(0) 推荐(0) 编辑
摘要: [TOC] 系列: "CAS源码追踪系列一:Filter的初始化" "CAS源码追踪系列二:AuthenticationFilter对于请求的处理" 上一篇,我们了解了AuthenticationFilter对请求的过滤,如果发现session中没有名为_const_cas_assertion_的a 阅读全文
posted @ 2018-11-17 14:40 墨、鱼的blog 阅读(3307) 评论(0) 推荐(0) 编辑
摘要: 上一篇我们说了在web项目中了和spring整合之后,如何进行对应Filter的初始化,如果你还没看过,请点击 《CAS源码追踪系列一:Filter的初始化》。 本篇我们来看看在初始化完成以后,cas client是如何处理请求的。 源码地址:https://github.com/apereo/ja 阅读全文
posted @ 2018-10-28 12:53 墨、鱼的blog 阅读(8681) 评论(0) 推荐(0) 编辑
摘要: [TOC] 最近研究了一下SSO(Single Sign On:单点登录)原理。 于是想借助CAS(基于SSO原理的实现框架)加深一下理解同时参考一下具体代码实现,因此有了此系列文章。 先从CAS CLIENT说起。 假设你已经掌握了如何在你的web项目中引入CAS。我们以Authenticatio 阅读全文
posted @ 2018-10-20 17:37 墨、鱼的blog 阅读(1812) 评论(0) 推荐(1) 编辑
摘要: [TOC] 前言 在进行数据排序的时候很容易想到使用ZSET(有序集合)。然而有序集合常见的使用场景是大数据排序,如游戏玩家排行榜等,所以很少获取键中的全部数据。然而在Redis中对数据的排序除了用有序集合外还可以使用SORT命令。 SORT命令可以对列表、集合、有序集合类型的键进行排序。 命令&选 阅读全文
posted @ 2018-08-30 14:28 墨、鱼的blog 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 闭包的概念、形式与应用 什么是闭包? 对闭包的具体定义有很多种说法,这些说法大体可以分为两类: 说法1:闭包是符合一定条件的函数,比如闭包是在其词法上下文中引用了自由变量的函数。 说法2:闭包是由函数和与其相关的引用环境组合而成的实体。比如在实现深约束时,需要创建一个能显式表示引用环境的东西,并将它 阅读全文
posted @ 2018-08-18 21:22 墨、鱼的blog 阅读(139) 评论(0) 推荐(0) 编辑