后端

说说ThreadLocal原理?

ThreadLocal可以理解为线程本地变量,它会在每个线程都创建⼀个副本,那么在线程之间访问内部副本变量就⾏了,做到了线程之间互相隔离,相⽐于synchronized的做法是⽤空间来换时间。 ThreadLocal内,有⼀个静态内部类:ThreadLocalMap,ThreadLocalMap⼜包含了⼀个Entry数组,Entry本身是⼀个弱引⽤,它的key是指向ThreadLocal的弱引⽤,

SpringBoot之JWT令牌校验

SpringBoot之JWT令牌校验 本文根据黑马b站springboot3+vue3课程 JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在不同实体之间安全地传输信息。它由三个部分组成:头部(Header)、载荷(Payload)和签名(Signature)。 头部(Header):头部通常由两部分组成,标识token的类型和所使用的签名算法,例如:

分布式系统中分布式ID生成方案的技术详解

分布式系统中分布式ID生成方案的技术详解 一、分布式系统唯一ID的特点 二、分布式系统唯一ID的实现方案 1. UUID 2. 数据库生成ID 3. Redis生成ID 4. Snowflake雪花算法 5. 美团Leaf 三、总结 在复杂的分布式系统中,数据被分散存储在不同的节点上,每个节点都有自己独立

WindowManagerService的启动

本次源码基于Android11分析 相关源码: /frameworks/base/services/java/com/android/server/SystemServer.java /frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java /frameworks/base/servi

【JAVA 进阶】SpringBoot集成Sa-Token权限校验框架深度解析

文章目录 引言 第一章:SA-Token框架概述与核心特性 1.1 SA-Token简介与设计理念 1.1.1 什么是SA-Token 1.1.2 SA-Token的设计理念 1.2 SA-Token核心特性详解 1.2.1 登录认证特性 1.2.2 权限认证特性 1.2.3 会话管理特性 1.3 SA-Token架构设计 1.3.1

HashMap

核心成员变量 JDK7 Entry[] table。Entry存储了HashMap的真正数据 size大小,代表HashMap内存储了多少个键值对 capacity容量。实际上HashMap中没有一个成员叫capacity,它是作为table这个数组的大小而隐式存在 threshold阈值和loadFactor(默认0.75f)装载因子。threshold是通过capacity*loadFact

双亲委派机制

前言 Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将其class文件加载到内存生成class对象。Java虚拟机采用了双亲委派机制对class文件进行加载。 ClassLoader JVM中提供了三层的ClassLoader:Bootstrap ClassLoader,ExtClassLoader,APPClassLoader。 Bootstrap Clas

[docker]基于Centos7安装Docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker的应用场景: Web 应用的自动化打包