后端

全面解析MySQL(3)——CRUD进阶&数据库约束

1.插入查询结果 MySQL中insert into ... select ...语句用于将select的查询结果插入到目标表中。一般用于数据的迁移或备份 注意: 1.插入语句不使用value关键字 2.确保目标表和查询结果的列数、数据类型匹配 2.常用聚合函数 MySQL聚合函数用于对一组值执行计算并返回单个值,常用于数据统计和分析。以下是常见的聚合

算法学习【day 26】 (20221015)

“早点睡觉咯。” 对二分搜索树的学习做一下初步总结,并且探讨一些二分搜索树的一些基本问题。 1. 二分搜索树的顺序性 二分搜索树的一个好处是顺序性,所以可以用来回答一些问题: (1)minimum、maximum (2)successor、predecessor (3)floor、ceil (4)rank、select 2. 支持重复元素的二分搜索树 可以把一个节点的左孩子定义为小于等于这个

为何最终我放弃了 Go 的 sync.Pool

声明: 本文并非否定 sync.Pool,而是分享技术选型的思考过程,帮助大家更准确地使用它 为何最终我放弃了 Go 的 sync.Pool 一、使用场景 1.1、引入: 1.2、什么是sync.pool? 二、如何使用 2.1、声明对象池 2.2、GET & PUT 三、实例

MySQL数据读写分离(MaxScale)

一、概念: MySQL数据读写分离是存储数据的一种服务架构 执行select命令必须连接 slave角色服务器 执行insert命令必须连接 maste角色服务器 提供数据读写分离功能的中间件软件有: mysql-proxy maxscale mycat 拓扑架构只支持一主一从或者一主多从架构 二、实现读写分离的拓扑图: 读写分离拓扑图.png 三、MaxScale相关配置

AQS探究

总所周知,java concurrent包的工具类是构建在AbstractQueuedSynchronizer类上的基础上的,而这个类是Doug Lea大神基于CHL队列实现的同步器。这个强大的同步器是怎样实现的呢?我们来一探究竟。 因为AQS的代码比较难以理解,我们从concurrent包下的并发工具类着手开始研究。从最简单的CountDownLatch开始,首先看它的源码 public

分布式限流 redission RRateLimiter 的使用及原理

前提 最近公司在做有需求在做分布式限流,调研的限流框架大概有 1、spring cloud gateway集成redis限流,但属于网关层限流 2、阿里Sentinel,功能强大、带监控平台 3、srping cloud hystrix,属于接口层限流,提供线程池与信号量两种方式 4、其他:redission、手撸代码 实际需求情况属于业务端限流,redission更加方便,使用更加灵活,下面介绍

rabbitmq入门

1、介绍 2、MQ优势 应用解耦:提高系统容错性和可维护性 异步提速:提升用户体验和系统吞吐量 削峰填谷:提高系统稳定性 代码 工具类-RabbitmqUtils package nk.gk.wyl.module.rabbitmq.utils; import com.rabbitmq.client.Connection; import com.rabbitmq.client.Conn

SQL注入专题(三)

一、WAF及绕过WAF原理介绍 WAF的定义: waf,即web应用防火墙,是通过执行一系列针对http/https的安全策略来专门位web应用提供保护的一款产品。 waf主要是通过内置的很多安全规则来进行放域,会对每个请求的内容根据安全规则进行检测并对不符合安全规则的做出响应的防御处理,从未保证web应用的安全性和合法性。 WAF是如何工作的? 规则库:使用一组规则来区分正常的请求和恶意的请求。

【Spring】Spring Boot详细介绍

Spring Boot 详细介绍Spring Boot 是 Spring 生态系统的革命性框架,旨在简化 Spring 应用的初始搭建和开发过程。它通过约定优于配置的理念,让开发者能够快速创建生产级别的 Spring 应用,而无需处理繁琐的 XML 配置和依赖管理。 一、核心定位与价值主张 1. 解决的问题 配置地狱:消除大量重复的 X