源码篇
文章平均质量分 89
以实战为主,深入剖析开发中涉及到的框架,类源码。了解源码中设计思路,提升自我编码能力,提升工作质量和工作效率。
川哟
从事区块链金融行业,资深架构师️,自研百万级内存撮合引擎️
展开
-
【xxl-job源码篇】xxl-job的10种路由策略源码解读
为了保证任务稳定执行,xxl-job支持注册多个executor到注册中心,以保证任务能够稳定的执行,那么这些executor会以怎样的策略去执行呢,本章将从源码层面去解析xxl-job的策略的执行原理。xxl-job为我们提供了如下策略* 第一个* 最后一个* 轮询* 随机* 一致性HASH* 最不经常使用* 最久未使用* 故障转移* 忙碌转移* 分片执行以上策略可以帮助我们在各种场景下都能应对自如原创 2022-05-10 19:05:34 · 2054 阅读 · 0 评论 -
JAVA引用Reference源码详细解读
Reference本身是一个抽象类,它的实现类有`SoftReference`,`WeakReference`,`PhantomReference`,`FinalReference`。GC回收器会与该类中的变量做直接交互。当垃圾收集器检测到`referent`对象可达性为不可达时,Reference的实例状态将从`Active`变更为`Pending`,当实例被`ReferenceHandler`放入`ReferenceQueue`中时,它的状态从`Pending`转换为`Enqueued`,当`Ref原创 2022-04-29 19:52:06 · 1267 阅读 · 0 评论 -
Shiro的Subject对象详解
什么是Subject对象通常我们会将Subject对象理解为一个用户,同样的它也有可能是一个三方程序,它是一个抽象的概念,可以理解为任何与系统交互的“东西”都是Subject。如何获得Subject对象首先创建一个初始化文件shiro.ini[users]root=123,admin,personmanage=123,campaign[roles]admin=*person = xia...原创 2018-03-29 00:28:55 · 44753 阅读 · 9 评论 -
SpringBoot整合shiro之盐值加密详解
盐值是什么首先我们来探讨一下关于密码安全的问题在一个系统中我们通常会将用户名和密码存在数据库中,如果我们直接将密码存入数据库,会存在很大的安全隐患,比如:数据库被盗,传输过程中被黑客拦截,这都是很常见的问题,数据库所在的服务并不是绝对的安全,传输过程中也有可能被黑客拦截得到你传输的数据获得一些隐私的数据,并篡改后发往服务器。那么针对这种问题我们如何解决呢,安全在升级,骇客的技术同样也在进步,一个网...原创 2018-04-04 00:06:45 · 17746 阅读 · 13 评论 -
【源码篇】LinkedBlockingQueue源码超详细解读
LinkedBlockingQueue和它的名字一样,它是一个由链表实现的有界阻塞队列,该队列按照先进先出的逻辑对队列进行排序。该队列使用了两把锁分别控制放入和取出,大大提高了并发效率。原创 2022-04-21 18:30:31 · 983 阅读 · 0 评论 -
【xxl-job源码篇01】xxl-job源码解读 神奇的时间轮 触发流程解读
文章目录导读项目结构源码解读——定时器时间轮面试题为什么要用两个线程时间轮有什么好处如何保证在精确的时间执行源码仓库导读xxl-job是一个分布式任务调度平台,在业内深受广大程序员的喜爱,本章将带你深入了解xxl-job的源码,理解其运行逻辑。阅读xxl-job源码会增强你对多线程的理解与应用,调度思想的升华本章将带你一点点剖析xxl-job设计底层逻辑,让你真正理解下图的每一个模块,让你知其然更知其所以然。项目结构拉下代码我们首先看项目结构,xxl-job为标准的父子工程,我们看到有三个原创 2022-04-12 19:52:56 · 2904 阅读 · 1 评论 -
【源码篇】threadlocal源码超详细讲解
threadlocal可以理解为线程自身的本地变量,只有线程自身可以访问,每个线程都会维护自己的threalocal,本篇会系统的从源码剖析threadlocal的实现逻辑原创 2022-04-16 11:45:01 · 2011 阅读 · 1 评论 -
【xxl-job源码篇02】注册中心 自研RPC netty的应用
xxl-job源码解读,牛逼的自研RPC、注册中心、netty的应用原创 2022-04-13 16:55:07 · 4078 阅读 · 0 评论 -
【xxl-job源码篇03】xxl-job日志系统源码解读
本章将会从源码层面剖析xxl-job的日志系统,我们在使用xxl-job记录日志时只需要在任务执行过程中使用`XxlJobHelper.log()`即可,方法和log4j/slf4j一样简单。我们可以通过控制台看到该任务运行时的实时日志。原创 2022-04-14 11:01:10 · 5666 阅读 · 1 评论