后端

每日一题-leetcode 365. 水壶问题

有两个水壶,容量分别为 jug1Capacity 和 jug2Capacity 升。水的供应是无限的。确定是否有可能使用这两个壶准确得到 targetCapacity 升。 如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。 你可以: 装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空 示

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

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

Spring Cloud oauth2 认证服务搭建过程

源代码链接 安装httpie 需要 python 环境 pip install --upgrade httpie 进入D:\Project目录,在此目录下打开CMD,调用httpie,创建 oauth2 项目 http -d javaVersion==17 groupId==com.my.demo artifactId==

SpringBoot之JWT令牌校验

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

leetcode-矩阵置零

    给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例 2: 输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]] 输出:[[0,0,0,0],[

Android进程间通信

Linux进程间通信 基础概念 内核态/用户态 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核空间)。操作系统的资源是有限的,如果访问资源的操作过多,必然会消耗过多的资源,而且如果不对这些操作加以区分,很可能造成资源访问的冲突。所以,为了减少有限资源的访问和使用冲突,Unix/Linux的设计哲学之一就是:对不同的操作赋予不同的执行等级,

[docker]基于Centos7安装Docker

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

深入解析MySQL(6)——存储过程、游标与触发器

1.存储过程 概念:存储过程是一组预编译的SQL语句集合,存储在数据库中,可通过名称调用。支持条件判断、循环等逻辑控制,适合封装复杂业务逻辑 优势: 性能优化:存储过程在创建时已经经过编译和优化,形成可执行的二进制代码,直接存储在数据库服务器中。性能高于单独执行时需要解析、编译的

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

【算法题】2315. 统计星号

题目: 给你一个字符串 s ,每 两个 连续竖线 '|' 为 一对 。换言之,第一个和第二个 '|' 为一对,第三个和第四个 '|' 为一对,以此类推。 请你返回 不在 竖线对之间,s 中 '*' 的数目。 注意,每个竖线 '|' 都会 恰好 属于一个对。 示例 1: 输入:s = "l|eet|co|de|" 输出:2 解释:不在竖线对之间的字符加粗加斜体后,得到字符串:"l|eet|co|de