后端

nginx和gateway的区别

相同点:都是可以实现对[api]接口的拦截,负载均衡、反向代理、请求过滤等,可以实现和网关一样的效果。 a、底层实现 [Nginx]采用C语言编写的 [微服务]都是自己语言编写的 比如Gateway就是java写的。 毕竟Gateway属于Java语言编写的, 能够更好对微服务实现扩展功能,相比Nginx如果想实现扩展功能需要结合Nginx+Lua语言等。 b、负载均衡 Nginx实现[负载均衡]

Spring Security 教程 (1) 搭建一个极简的安全网站

Spring Security 简介 Spring Security 项目是一个安全框架,提供了认证,授权和常见的网络攻击保护功能。在基于 Spring 开发的应用中,Spring Security 是一个被广泛应用的安全框架,成为了实际的标准。与所有 Spring 项目类似,Spring Security 易于扩展,满足定制要求。主要特点如下: 对认证和授权的全面、可扩展的支持 防范会话固定攻

p对np问题

P对NP问题是克雷数学研究所高额悬赏的七个千禧年难题之一,同时也是计算机科学领域的最大难题,关系到计算机完成一项任务的速度到底有多快。 P对NP问题是Steve Cook于1971年首次提出。“P/NP问题”,这里的P指多项式时间(Polynomial),一个复杂问题如果能在多项式时间内解决,那么它便被称为P问题,这意味着计算机可以在有限时间内完成计算;NP指非确定性多项式时间(nondeterm

LeetCode-230-二叉搜索树中第K小的元素

二叉搜索树中第K小的元素 题目描述:给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例说明请见LeetCode官网。 来源:力扣(LeetCode) 链接: 著作权归领扣网络所有。商业转载请联系

Leetcode 102. 二叉树的层序遍历

题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]] </pre> 示例 2: 输入:root = [1] 输出:[[1]] 示例 3: 输入:root = [] 输出:[] </pre> 提示:

JVM中的锁优化

锁优化 Jvm 在加锁的过程中,会采用自旋、自适应、锁消除、锁粗化等优化手段来提升代码执行效率。 什么是锁升级,降级? 锁的4中状态:无锁状态、偏向锁状态、轻量级锁状态、重量级锁状态(级别从低到高)。 所谓的锁升级、降级,就是 JVM 优化 synchronized 运行的机制,当 JVM 监测到不同的竞争状况是,会自动切换到不同的锁实现。这种切换就是锁的升级、降级。 锁升级

Redis集群Lettuce主从切换问题

一、问题描述 Redis Cluster集群,当master宕机,主从切换,客户端报错 timed out 二、原因 SpringBoot2.X版本开始Redis默认的连接池都是采用的Lettuce。当节点发生改变后,Letture默认是不会刷新节点拓扑的。 三、解决方案 3.1 方案一:把lettuce换成jedis 只需要在pom.xml里调整一下依赖的引用 <depende

MySQL系列之数据类型(Numeric)

导览 前言 一、数值类型综述 二、数值类型详解 1. NUMERIC 1.1 UNSIGNED或SIGNED 1.2 数据类型划分 2. Integer类型取值和存储要求 3. Fixed-Point类型取值和存储要求 4. Floating-Point类型取值和存储要求 结语 精彩回放 前言MySQL系列最近三篇均关注了和我们日常工作或学习密切相关

【MySQL基础】MySQL复合查询全面解析:从基础到高级应用

MySQL学习:#前言: 前面学习了表的增删查改之后,今天我们重点来讲解一下有关查询的复杂问题——复合查询 目录一、复合查询基础概念1.1 什么是复合查询1.2 复合查询的主要类型二、示例数据库结构详解2.1 完整的表结构设计2.2 示例数据填充三、子查询深度解析3.1 子查询分类与语法3.1.1 按子查询位置分类3.1.2 按子查询相关性分类3.2