排序
【多线程03】谈谈Java中的线程池
本文主要有以下内容 介绍Java中内置的线程池 线程池的七大参数 线程池的生命周期 线程池的工作原理 自定义线程池 Java内置的线程池 线程池:为了节约系统资源,减少创建线程的开销以及更好的管...
[SpringSecurity5.2.2源码分析八]:SecurityContextPersistenceFilter
前言 当我们不在其他线程而就在容器创建的线程中使用SecurityContextHolder.getContext()获取SecurityContext的时候,正常都能获取到 SecurityContext默认是放在线程中的,所以说在某个地方一定...
源码学习之Spring容器创建原理 | 京东物流技术团队
1 前言 众所周知,Spring可以帮我们管理我们需要的bean。在我们需要用到这些bean的时候,可以很方便的获取到它,然后进行一系列的操作。比如,我们定义一个bean MyTestBean。 public class MyTe...
看完这篇nextTick就别再问别人了
摘要: 本文将深入探讨 Vue 中的 nextTick 方法,首先介绍其背景和使用方式,然后解析其底层原理,最后探讨 nextTick 的常见使用场景。通过本文的阅读,您将对 Vue 中 nextTick 的工作...
深入Redis技术内幕:一条命令是如何执行的
Redis 是一个高性能的、功能丰富且灵活的开源键值存储系统,其源码采用了许多优秀的编码实践和设计模式。通过学习 Redis 源码,可以深入了解 Redis 的内部工作原理和实现细节。从中学习到很多优...
28.Netty源码之缓存一致性协议
Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer,多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的,而且同一时刻只允许一个消费者从队列中读取...
27.Netty源码之FastThreadLocal
FastThreadLocal FastThreadLocal 的实现与 ThreadLocal 非常类似,Netty 为 FastThreadLocal 量身打造了 FastThreadLocalThread 和 InternalThreadLocalMap 两个重要的类。下面我们看下这两个...
go-zero 是如何实现计数器限流的?
原文链接: 如何实现计数器限流? 上一篇文章 go-zero 是如何做路由管理的? 介绍了路由管理,这篇文章来说说限流,主要介绍计数器限流算法,具体的代码实现,我们还是来分析微服务框架 go-zero...
MyBatis居然也有并发问题
为了节省dalaos时间先说结论:确实是个问题,issue链接:github.com/mybatis/myb… 下面就是源码分析环节,及处理过程,感兴趣的可以看看。 bug,任何时候都要解决!不解决不行,你们想想,你早...
go-zero 是如何做路由管理的?
原文链接: go-zero 是如何做路由管理的? go-zero 是一个微服务框架,包含了 web 和 rpc 两大部分。 而对于 web 框架来说,路由管理是必不可少的一部分,那么本文就来探讨一下 go-zero 的路由...
25.Netty源码之零拷贝
I/O 加速:与众不同的 Netty 零拷贝技术 零拷贝是一个耳熟能详的词语,在 Linux、Kafka、RocketMQ 等知名的产品中都有使用,通常用于提升 I/O 性能。而且零拷贝也是面试过程中的高频问题,那么...
26.Netty源码之ThreadLocal
JDK ThreadLocal 如果你需要变量在多线程之间隔离,或者在同线程内的类和方法中共享,那么 ThreadLocal 大显身手的时候就到了。ThreadLocal 可以理解为线程本地变量,它是 Java 并发编程中非常...
Java线程池源码完全解析
在源码解析之前,我们先思考一个问题:为什么要使用线程池? 如果不使用线程池,我们如何在程序中执行一些任务呢? 最显而易见的一种方式就是顺序执行,代码描述如下: public static void main...
24.Netty源码之合理管理堆内存
合理管理 Netty 堆外内存 内存使用目标 •内存占用少(空间) •应用速度快(时间) 即多快好省 对 Java 而言:减少 Full GC 的 STW(Stop the world)时间 内存使用技巧 • 减少对象本身大小 ...
23.Netty源码之内置解码器
Netty内置的解码器 在前两节课我们介绍了 TCP 拆包/粘包的问题,以及如何使用 Netty 实现自定义协议的编解码。可以看到,网络通信的底层实现,Netty 都已经帮我们封装好了,我们只需要扩展 Chan...
基于Mutex,实现读共享,写互斥 – RWMutex的底层原理和源码分析
背景 sync.Mutex提供了互斥锁,可以保证在同一时间段内,有且仅有一个goroutine持有锁和操作共享资源。其余goroutine只有在互斥锁被释放,成功获取到锁之后,才能操作共享资源 对共享资源的操作...
从源码层面深度剖析Spring循环依赖 | 京东云技术团队
以下举例皆针对单例模式讨论 图解参考 www.processon.com/view/link/6… 1、Spring 如何创建Bean? 对于单例Bean来说,在Spring容器整个生命周期内,有且只有一个对象。 Spring 在创建 Bean ...
[SpringSecurity5.2.2源码分析五]:AuthenticationConfiguration
AuthenticationConfiguration是认证管理器的配置类,当没有重写下面方法的时候会通过此配置类构建全局认证管理器 public abstract class WebSecurityConfigurerAdapter implements ...... prote...
mini-vue – 双端Diff算法
1.引入 虚拟节点vnode的children有两种类型,一种就是vnode数组(可以根据数组来patch递归产生子节点),一种就是string类型(就比如 <div>文本</div> 中,div是vn...
golang并发编程基础 – Mutex的使用和源码分析
背景 在实际编码中,我们经常遇到并发问题,产生并发问题的原因主要有以下两点: 存在共享资源 存在非原子性,并发操作共享资源的场景 解决并发问题,常见的方式之一就是加锁。sync.Mutex就是go...