自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 认识一位新朋友---数据库自增主键ID

在mysql中,自增主键是通过AUTO_INCREMENT实现的,其底层机制主要依赖于Innodb存储引擎的特性。所以innodb 的autoinc是非事务安全的,也就是说,在事务中使用insert 后回滚,自增id也不会回退。如果表被重启或者事务回滚,autoinc_val会被重新加载到内存中,可能导致id不连续。当插入一条记录的时候,如果没有显示指定该字段的值,则由数据库自动分配一个递增的数值。在高并发环境下,多个线程通过是插入数据,会出现ID冲突。插入时,先获取这个值,然后加1,作为新的ID。

2025-08-30 20:55:33 178

原创 每k个节点一组反转链表

输入:1->2->3->4->5->6->7,k = 3。每k个节点一组反转链表,最后节点不足k个的,保持不变。输出:3->2->1->6->5->4->7。将反转后的组连接到前一部分。使用虚拟头节点方便操作。每次处理一组k个节点。

2025-08-30 17:12:34 43

原创 不使用if else ,实现石头剪刀布

定义一个胜负表:int[][] win = {{0, -1, 1}, {1, 0, -1}, {-1, 1, 0}};定义一个二维数组来表示胜负关系,然后根据玩家的选择直接返回结果。将剪刀 石头 布分别用数字0,1,2表示。

2025-08-30 15:45:53 45

原创 有五个文件,每个文件里面有n行,用最快的速度读取所有文件中的数字并输出top50

这个函数不是一次性将整个文件加载到内存的,而是逐行读取的,每次只处理一行,并将数字添加到numbers列表,因此,它不会像File.readAllLines()或File.readAllBytes()那样一次性加载整个文件到内存。内存占用高,如果文件有上亿个整数,ArrayList会占用大量内存,解决方法:流式处理+最小堆维护Top50, 避免存储所有数字。使用最小堆动态维护最大的50个数字,而不是把数字都存起来,这样即使文件很大,也能高效处理。但是这个读取方法,依然存在缺点,尤其是面对GB级别。

2025-08-30 15:01:25 87

原创 JAVA阻塞队列

阻塞队列(Blocking Queue)是一种线程安全的队列结构,它在队列为空时阻塞获取操作,在队列满时阻塞插入操作。Java 提供了多种现成的阻塞队列实现,如 ArrayBlockingQueue、LinkedBlockingQueue, 下面使用ArrayBlockingQueue。

2025-08-29 13:06:02 109

原创 LRU 内存淘汰策略

是一种常用的内存淘汰策略,用于在缓存满时删除最近最少使用的数据,核心思想:当缓存空间不足,移除最久未被访问的数据。

2025-08-29 12:45:40 120

原创 设计模式之责任链模式

以Spring Cloud Gateway中的filter为例。

2025-08-25 00:06:33 203

原创 多线程下单例如何保证

【代码】多线程下单例如何保证。

2025-08-24 23:38:48 210

原创 cookie,session,token之间有什么关系

http起初设计是无状态的,后来需要让请求和请求之间建立起有状态的联系,所以cookie应运而生,后面又有了session,token,但是最初我们想要解决的是,状态在哪里呢,要么在服务端,要么在客户端再专业一点描述:HTTP 协议最初是无状态的,这意味着服务器无法自动记住用户的状态。为了在多个请求之间建立有状态的联系,Cookie 应运而生,它将部分状态信息存储在客户端。随后,为了解决 Cookie 的安全性和扩展性问题,引入了 Session,它将状态信息存储在服务端。

2025-08-24 19:56:12 497

原创 Sqlserver存储过程

【代码】Sqlserver存储过程。

2025-08-23 20:21:03 172

原创 Sentinel相关记录

在这里插入代码片@Component@OverrideR error = R.error(500, "服务不可用,请稍后再试!

2025-08-23 17:40:01 415

原创 OpenFeign相关记录

RestTemplate 是 Spring 框架提供的一个用于简化 HTTP 请求的客户端类,它封装了底层的 HTTP 请求逻辑,使得开发者可以通过面向对象的方式调用 RESTful API。虽然 RestTemplate 已被官方标记为 过时(deprecated),但在很多遗留项目中仍然广泛使用。它是基于 Reactor 的非阻塞、响应式客户端,性能更好,更现代。

2025-08-23 14:10:08 185

原创 Nacos相关记录

2025-08-23 11:17:11 202

原创 Gateway中Forward配置+源码观赏

【代码】Gateway中Forward配置。

2025-08-18 16:05:19 291

原创 一起来看SpringGateway里面的适配器模式

这个示例想说gateway底层会把所有的过滤器整合到一起,所有的指的是普通过滤和全局过滤器。

2025-08-17 19:45:29 171

原创 MyBatis SqlCommand+MethodSignature源码探究

当调用 Mapper 接口的方法时,动态代理会拦截这个调用,并根据方法签名和配置,将请求交给 MyBatis 的 SQL 执行器(SqlSession)来完成数据库操作,用于解析接口方法的签名,主要作用是:解析并保存当前方法的返回类型,参数信息,是否为集合,是否使用@MapKey等元数据信息,以便后续在sql映射中使用这些信息进行参数绑定和结果映射。前面说了sqlcommand,MethodSignature等等,有了这两个,最终会执行下面这个方法PlainMethodInvoker.execute()

2025-08-16 22:43:03 221

原创 Mybatis之配置文件中节点解析-2

typeAliases下可以有两个子节点分别是typeAlias和package。

2025-08-16 14:57:53 130

原创 Mybatis之配置文件中节点解析-1

读取settings节点,解析,并返回一个properties对象,拿到settings中所配置的值,给configuration里面的属性。这种情况,properties里面的配置优先级更高,会覆盖子节点里面的相同key的配置项。

2025-08-16 10:52:42 247

原创 浅谈OAuth

授权服务器:授权客户端访问由资源服务器暴露的用户资源的应用程序,当授权服务器决定授权客户端以用户名义访问资源时,他会发出一个令牌。客户端:以用户名义访问用户所拥有的资源的应用程序,客户端使用客户端ID和客户端密钥来标识自己,客户端在发出请求时需要自己的凭据来标识自己。客户端将用户重定向到需要进行身份验证的授权服务器端点,这里其实是用户和授权服务器交互,用户不会向客户端应用程序发送凭据。用户:拥有由资源服务器暴露的资源的个体,用户通常有一个用户名和密码,他们用用户名和密码来标识自己。3.调用受保护的资源。

2025-08-14 09:51:39 224

原创 五分钟玩转Docker

进入容器内部修改了nginx的index.html, 后面可以使用外部挂载的方式,直接在主机下创建一个index.html. 进行修改即可。浏览器输入公网IP, 回车。

2025-08-13 11:22:12 306

原创 记录一下常用的linux命令

尤其是生产环境上,上游的文件数据格式有问题,需要使用sed 做替换,一备份,二测试,三谨慎。

2025-08-09 15:26:01 151

原创 一个不恰当数据结构引发的问题

kafka+storm,问题是storm侧出现Timeout of 60000ms expired before the position for partition xxx could be determined, Kafka 消费者(Spout)无法获取到某个 Kafka 分区(topic1)的 offset 位置。

2025-08-07 14:40:02 263

原创 一起来看DOM和事件流

最近在看到前端的书籍时,突然觉得这些设计很有趣,DOM,事件流等,随笔记录,供大家一起探讨。

2025-08-07 00:00:17 187

原创 有趣的this和new--JavaScript

以下代码片段来自于《深入了解JS重难点实例精讲》,很有意思,随手记录。

2025-08-06 15:14:09 200

原创 Kakfa开启幂等性+At Least Once保证分区内数据一致性

初始化事务后,生产者就会使用beginTransaction()启动事务,该方法会验证事务是否已经被初始化,以及是否存在存活的事务。

2025-08-04 10:16:11 131

原创 初探Spring Bean创建流程

drawio导出图片太小了。。。。。。附件已添加,持续更新中。

2025-08-03 19:08:25 160 1

原创 SQLServe---- Practice 001

张三 90 95 87。李四 98 85 90。张三 语文 95。张三 数学 96。李四 语文 90。李四 数学 76。王五 语文 89。王五 数学 88。name 语文 数学 英语。

2025-08-02 21:07:28 174

原创 初步探究浏览器--服务器--渲染

这只是简化版,实际中还有更多细节,比如处理 HTTPS、设置 Cookie、添加 User-Agent 等。curl_easy_perform() 会自动构造并发送 HTTP 请求。CURLOPT_HTTPGET 指定了使用 GET 方法。CURLOPT_URL 设置了 URL。

2025-08-02 16:39:14 202

原创 Kakfa Sender子线程执行过程

【代码】Sender子线程执行过程。

2025-07-31 15:22:16 149

原创 轻量级锁加锁自述

2025-07-29 17:03:29 162

原创 kafka 中归还一个ByteBuffer源码探究

【代码】kafka 中归还一个ByteBuffer源码探究。

2025-07-28 22:11:16 321

原创 JVM 组成部分

2025-07-28 08:41:03 181

原创 AQS源码探究

AQS源码研究

2025-07-27 22:44:58 215

原创 一条select的视角

一条select的视角

2025-07-27 18:58:29 123

原创 多线程打印ABC

多线程打印ABC

2025-07-27 18:18:20 73

原创 MySQL索引优化

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档MySQL索引优化前言一、索引分类二、适合创建索引的情况三、不适合创建索引的情况四、单表使用索引常见的索引失效前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、索引分类单值索引:指的是一个索引只包含单个列,一个表可以有多个单列索引唯一索引:索引列的值必须唯一,.

2022-03-23 15:17:58 1347

原创 说一说MySQL的binlog日志

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档说一说MySQL的binlog日志一、binlog日志是什么?一、binlog日志是什么?不管是用哪一种存储引擎,在server层都可以开启binlog日志功能,他会记录所有的逻辑操作,并且是采用追加写的形式,将写操作命令,记录在一个二进制文件中,因此binlog日志通常用语恢复数据,或者是主从复制,默认保存的位置是:/var/lib/mysql目录中。...

2022-03-23 14:48:59 617

原创 Linux中[ERROR] --initialize specified but the data directory has files in it. Aborting.

Linux中[ERROR] --initialize specified but the data directory has files in it. Aborting.:问题描述:Linux中安装mysql,由于之前安装过,卸载过,卸载的不干净,再次安装,,在进行初始化密码的时候,出现了以下错误2021-11-23T02:08:16.247240Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use

2021-11-23 10:27:18 8634 1

原创 自定义使用javaAPI进行文件的解压缩

使用javaAPI进行文件的解压缩前言二、代码前言二、代码代码如下(示例):package com.atguigu.mr.test;import static org.junit.Assert.*;import java.io.IOException;import java.io.InputStream;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;

2021-11-22 11:00:24 831

原创 Zookeeper集群无法启动的原因分析

Zookeeper集群无法启动的原因分析:centos7上搭建三台zookeeper,相关文件配置没有问题问题描述:[atguigu@hadoop102 zookeeper-3.4.10]$ bin/zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfgStarting zookeeper ... STARTED[atg

2021-11-21 10:23:27 2646

初探Spring Bean创建流程

初探Spring Bean创建流程

2025-08-04

初探Spring Bean创建流程

初探Spring Bean创建流程

2025-08-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除