Hi Ikaros

KeyCloak持久化机制-简述


KeyCloak持久化机制-简述 在研究KeyCloak的部分接口功能的时候,发现有相当一部分的接口代码没有直接做持久化,但是在接口调用完成后,确实数据又被持久化到了数据库之中,因此花了一些时间来研究了一下他是怎么做持久化的。 业务逻辑接口-示例 RoleByIdResource 接口 @Path(

KeyCloak 登录源码解析


KeyCloak 登录源码解析 登录/OTP页面怎么来的 表单动作操作实际上是调用各种 Form(freeMarker下页面绑定的类) 下的 action 或者是 authenticate 方法,这些方法实际上在调用 challenge 方法的时候会导致实际上表单的切换等行为的出现。至于静态资源和F

KeyCloak - 获取Token流程源码解析


KeyCloak - 获取Token流程源码解析 客户端代理入口 - TokenService 客户端代理接口,他的实际意义是让我们可以直接通过TokenService类似于Feign等远程调用一样,可以直接调用我们的目标功能,在实际上通过代理之后,实际请求的会是 TokenEndpoint 。 @

关于并发、并发安全、线程通信的浅谈 (Loading······)


关于并发、并发安全、线程通信的浅谈 该笔记将会从并发的基础概念、Java中线程实现和管理、线程安全(JVM级别上下文切换线程安全、变量级别线程安全、代码块级别线程安全、分布式服务并发安全)、常见的线程优化进行介绍。笔记本身会比较长,阅读前请注意。 版本信息 JAVA源码版本:17 / 21 JVM源

SQL性能优化常见流程


SQL优化 进行SQL优化之前,我们首先要确定是具体的某条SQL差。一般来说实际开发之中,无非就是两种情况需要对SQL做优化。 开发的时候根据业务需求要做SQL优化 除了实际开发的时候,往往还会有一些SQL会在项目正常运行一定时间之后,才会出现性能差的问题。 针对这种情况。我们可以通过以下几种方式来

WMS项目核心业务浅谈


WMS项目 项目简单介绍 项目本身是面向国际的奢侈品品牌的,他其实是共享模式下的Saas项目来,项目本身是所有客户共享,但数据库上不同的品牌方是完全独立的,在项目之中其实是依靠AbstractRoutingDataSource实现动态切换的,这一点比较简单就不再细说了。 架构转变 - 微服务 单体架

Mysql - Innodb 隔离级别的实现 (MVCC、锁机制)


隔离级别与隔离问题 这个部分算是基础知识,稍微提及一下,具体不再介绍 READ_UNCOMMITED 读未提交 最弱的隔离级别,完全没有隔离效果,等同于可以读取到别人事务之中还没有提交的内容,也就是出现所谓的脏数据的场景。 READ_COMMITED 读已提交 查询只查询到别人已经在事务之中提交了的

Mysql-Innodb单表超过2kw逻辑验证


Mysql单表存储不要超过2kw? 有不少文章在解释,Mysql单表最好不要超过2kw,了解时感觉头头是道实际上漏洞百出经不起推敲。有的人甚至会说Mysql指针大小是6,有的又说是12,搞的一塌糊涂根本不知道什么是什么,怪的很。但最终他们的结论是对的,实在有点难绷,为了避免以后又被这群人搞懵导致记错

JVM及扩展内容介绍


JVM 总的来说,其实JVM包含有JVM内存模型-运行时数据区(Runtime Data Area)、类加载器(ClassLoader)、执行引擎(Execution Enginee)、本地接口(Native Interface)、本地库(Native Libararies) 介绍JVM的时候,其实

GC回收器深入深出


垃圾回收的困境 在早期的JVM回收之中,为了避免出现应该回收的对象没有被回收,不应该被回收的对象(重新被引用)被回收了的情况,往往整个垃圾回收都需要跑在安全点下,也就是所谓的SafePiont。而想要出现所谓的SafePoint出现,那么整个程序本身不能做任何操作,那么这个时间点对于程序来说就好像时