自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

970655147的专栏

欢迎......

  • 博客(638)
  • 资源 (37)
  • 收藏
  • 关注

原创 55 mysql 的登录认证流程

这里我们来看一下 mysql 的认证的流程我们这里仅仅看 我们最常见的一个 认证的处理流程我们经常会登录的时候 碰到各种异常信息大概的流程是这样客户端和服务器建立连接之后, 服务器向客户端发送 salt然后 客户端根据 salt 将客户端传入的密码加密之后, 以及相关登录信息传递给服务器然后 服务器进行验证, 验证失败, 响应对应的错误信息给客户端服务器发送 salt 的信息如下客户端发送的认证请求如下服务器响应的认证失败信息如下。

2024-09-15 08:03:51 963

原创 54 mysql 中各种 timeout - connect/wait/interactive/read/write_timeout

在 mysql 的服务器配置中, 我们经常会使用到几个 timeout诸如 connect_timeout, wait_timeout, interactive_timeout, read_timeout, write_timeout 等等我们 这里来看一下 他们的具体的使用场景, 以及具体控制的相关信息 是什么这个是 客户端 和 服务器建立连接之后, 客户端需要向服务器发起认证请求如果在 connect_timeout 期限内, 客户端未发送认证请求, 服务器会断开 和 客户端的连接。

2024-09-09 12:48:33 720

原创 53 mysql pid 文件的创建

在 mysql 中文我们在 “service mysql start”, “service mysql stop” 经常会碰到 mysql.pid 相关的错误信息。通常来说, 我们使用 “service mysql stop” 或者 “kill $pid” 会执行该清理。删除了 pid 文件之后的日志信息如下, 基本上是在 mysql 生命周期的最后面了。我们这里来看一下 mysql 中 mysql.pid 文件的创建 和 清理的时机。删除 pid 文件的时候, 日志上下文如下。

2024-09-02 18:00:26 480

原创 52 mysql 启动过程中常见的相关报错信息

我们这里主要是看一下 service mysql start, service mysql stop 的过程中的一些常见的错误问题这些 也是之前经常碰到, 但是 每次都是 去搜索, 尝试 1, 2, 3, 4 去解决问题但是 从来未曾思考过 这个问题到底是 怎么造成的这个在启动的时候, 主要造成的情况一般是。

2024-08-26 20:28:00 982

原创 51 无显式主键时 mysql 增加的 DB_ROW_ID

假设有 implicit_id_table_02, 然后增加了 两条记录, 之后再向 implicit_id_table 中增加记录, 得到的 DB_ROW_ID 为 558。创建表的时候, 创建了该 三个系统字段, DB_ROW_ID, DB_TRX_ID, DB_ROLL_PTR。row_id 的处理是通过 dict_sys_get_new_row_id 函数来获取的。为 DB_ROW_ID, DB_TRX_ID, DB_POLL_PTR 分配存储空间的地方。

2024-08-19 12:50:07 567

原创 50 mysql 的 “where 1 = 1“ 的优化处理

问题是来自于 chinaunix 问题 ”mysql 中在 java 代码中我们经常会使用到 ”where 1 = 1 and username = ‘jerry’ ” 之类的条件然后 我们这里 来看一下 “where 1 = 1” 的相关处理执行 sql 如下 “select *, 2, 2, 2 from tz_test where id = 1;sql_lex 中存储的原始查询语句中的查询条件因为这里是基于索引的查询, 查询条件放到了 qep_tab->m_qs->m_ref 中。

2024-08-09 12:55:03 1202

原创 58 mysql 存储引擎之 MEMORY

加上 一部分 mysql 的隐藏字段, 比如 hash_field, group_null_fields, null_pack_fields 等等, 这里只有 null_pack 占用的空间, 三字节, 最终 reclength 为 9441。对于 varchar 部分字段, 预留了足够的空间, 长度 + 存储的空间, 这里是基于 utf8 编码, 因此存储长度 “1538 = 2 + (512 * 3)”, “193 = 1 + (3 * 64)”从这里可以看出 实际上这个逻辑过滤的条件还是在过滤。

2024-08-09 12:54:41 567

原创 49 mysql 子查询 加 group by 产生的奇怪现象

这里要提到的是一个 之前碰到的一个 很令人诧异的查询, 主要是 和 group 查询有关系查询如下, 按照常规理解, “select id from t_user_02 where name = 'jerry' group by age” 会返回 两条数据, 然后 整个查询 会查询出两条数据但是 结果很令人差异, 查询出了 四条数据测试数据表如下, t_user 和 t_user_02 完全一样, t_user_02 是由 t_user 复制而来测试数据如下查询结果如下。

2024-08-05 10:42:48 432

原创 48 mysql 全局变量修改了时区, 客户端拿到的依然是旧时区

这是一个 我们最近碰到的问题在我们的一个 服务平台 查询到的时间字段 比 当前时区的当前时间多 8 小时然后 这个问题 也是挺神奇的, navicate 上面查询到的 时间是在正常的时间然后 查询环境变量 tz_zone 是 “+08:00”, 也没有问题, 但是 客户端这边 拿到的是 当前时间 + 8小时时间相关数据传输以及转换 请参见 mysql date/time/datetime/year 的数据存储从结果上来看 可以大致的推断是。

2024-07-26 13:51:23 465

原创 47 ‘./test_02/tz_test_tmp‘ (errno: 184 - Tablespace already exists)

当我 看到这个的时候, 去查询了一下 information_schema 中的 INNODB_SYS_TABLES 和 INNODB_SYS_TABLESPACES 的信息, 可以看到 找不到对应的 tz_test_tmp。然后 拷贝 tz_test.idb 为 tz_test_tmp.idb 文件, 然后 将另外一张表 更新为 tz_test_tmp, 然后 就复现了问题。执行 sql 如下 “alter table tz_test_updated rename to tz_test_tmp;

2024-07-19 12:53:41 335

原创 46 mysql 客户端拿不到具体的错误信息

这是最近碰到的一个问题同样的一个 环境的问题, 在正常的 mysql 环境会返回 具体的错误信息, 然后 在我的另外一个环境里面 只能返回一些 unknown error 之类的 十分抽象的环境然后 我们这里 来看一下 具体的情况 我们这里从 错误的环境 往前推导来查看 并解决这个问题这里构造的问题是一个 Table space already exists 的问题, 在重命名表名的时候, 将表名更新为 另外一个存在 ibd 的表名, 这时候 就会抛出如下异常。

2024-07-13 09:09:50 287

原创 45 mysql truncate 的实现

这里的主要的流程是 一系列的校验, 生成新的newTableId, 删除索引, 重新创建索引, 关联 newTableId 和已有的元数据信息, truncate idb 文件 等等。truncate 数据表 tz_test_big_table_copy 的 idb 文件, 仅仅保留 114688 字节。执行 sql 如下 “truncate table tz_test_big_table_copy;information_schema 中相关元数据信息如下。重新创建 tz_test_02 的相关索引。

2024-07-06 07:46:22 377

原创 44 mysql batch insert 的实现

执行 sql 如下 “insert into tz_test_02 (`field1`, `field2`) values ("你好0", "没意思0"), ("你好1", "没意思1"), ("你好2", "没意思2"), ("你好3", "没意思3"), ("你好4", "没意思4"), ("你好5", "没意思5"), ("你好6", "没意思6"), ("你好7", "没意思7"), ("你好8", "没意思8"), ("你好9", "没意思9");tz_test_02 的数据列表拷贝如下。

2024-06-28 17:15:15 406

原创 43 mysql insert select 的实现

我们这里 来探讨一下 insert into $fields select $fields from $table;的相关实现, 然后 大致来看一下 为什么 他能这么快按照 我的思考, 应该里里面有 批量插入才对, 但是 调试结果 发现令我有一些意外呵呵 果然 只有调试才是唯一的真理测试数据表如下tz_test 的数据如下执行 sql 如下 “insert into tz_test_02 select * from tz_test;

2024-06-23 21:45:28 447

原创 42 mysql “+“ 操作符的实现

问题来自于 chinaunix,mysql 的一些基础的 算术运算符 的计算的实现这里 整理如下 case, 执行之前 设置如下变量解析 sql 的时候, 会将 表达式 解析为一个 Item_func_plus, 左右操作数为 Item_func_get_user_var 变量名分别为 a, b查询的时候 选择列即为 上面解析表达式的时候 resolve 的 Item_func_plus然后由 Item_func_plus 来计算结果, 以及响应数据。

2024-06-16 21:14:32 538

原创 41 mysql subquery 的实现

sub query 是一个我们经常会使用到的一个 用法我们这里 看一看各个场景下面的 sub query 的相关处理查看 本文, 需要 先看一下 join 的相关处理测试数据表如下, 两张测试表, tz_test, tz_test03, 表结构 一致tz_test 数据如下tz_test_03 数据如下。

2024-06-10 17:25:38 788

原创 60 关于 SegmentFault 的一些场景 (2)

呵呵 此问题主要是来自于 帖子这里主要也是 结合了作者的相关 case, 来做的一些 调试分享当然 很多的情况还是 蛮有意思本文主要问题如下。

2024-06-02 21:17:57 376

原创 60 关于 SegmentFault 的一些场景 (1)

呵呵 此问题主要是来自于 帖子这里主要也是 结合了作者的相关 case, 来做的一些 调试分享当然 很多的情况还是 蛮有意思本文主要问题如下比如如下数据, “Hello World” 会被放到 .text 段, 该段只读, 这里程序中试图更新该内存的数据调试上下文如下page fault 的时候 ip 为 4195562 = 0x4004EAerror_code 为 7, PF_PROT | PF_WRITE | PF_USER0x4004EA 对应的信息如下, 是一段执行代码。

2024-06-02 21:17:32 437

原创 59 多次 mmap 虚拟地址的关系

第六个 mmap 调用如下, dl_main - init_tls - dl_allocate_tls_storage - libc_memalign 映射了 4k 的映射区, 映射的区间是 0x7ffff7ff5000 - 0x7ffff7ff6000。第七个 mmap 调用如下, dl_main - init_tls - dl_allocate_tls_storage - allocate_dtv 映射了 4k 的映射区, 映射的区间是 0x7ffff7ff4000 - 0x7ffff7ff5000。

2024-05-25 09:26:24 341

原创 58 多次基于 malloc 分配内存的一些现象分析

问题来自于文章 内存分配的小例子请教本文的内容, 如果您有阅读, 如下文章 应该还是很好理解, 建议先阅读如下文章。

2024-05-19 20:21:40 254

原创 57 读取/写出/读取 文件的过程的调试

问题来自于文章 请教文件读写问题vim 编辑文件, 实际上删除了原有的文件建立了一个新的文件?Ls –ail . 查看 inode 编号不一样了这里主要是 调试一下 这一系列流程。

2024-05-12 21:07:11 435

原创 56 关于 linux 的 oom killer 机制

这里主要讲的是 linux 的 oom killer 机制在系统可用内存较少的情况下,内核为保证系统还能够继续运行下去,会选择杀掉一些进程释放掉一些内存。通常oom_killer的触发流程是:进程A想要分配物理内存(通常是读写内存)->触发缺页异常->内核去分配物理内存->物理内存不足,触发OOM。

2024-05-05 15:25:26 1032

原创 55 关于 icmp 的处理

icmp 也是我们经常会碰到的协议比如 我们通常使用 ping 来测试 两台主机之间是否可以正常通信ping 是基于 icmp 协议的。

2024-05-01 07:57:01 188

原创 03 spring-boot+mybatis+jsp 的增删改查的入门级项目

主要是来自于 朋友的需求。

2024-04-27 08:57:48 242

原创 02 spring-boot+mybatis+elementui 的登录,文件上传,增删改查的入门级项目

主要是来自于 朋友的需求。

2024-04-27 08:57:35 457

原创 01 校园人脸识别项目

主要是来自于 朋友的需求。

2024-04-27 08:57:23 188

原创 13 c++版本的五子棋

呵呵 这大概是 大学里面的 c++ 五子棋了吧有一些 面向对象的理解, 但是不多这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用然后 貌似 放在 win10 上面执行 还有一些问题, 渲染的, 应该很好调整。

2024-04-26 12:39:14 455

原创 12 c++版本的坦克大战

呵呵 这大概是 大学里面的 c++ 贪吃蛇了吧有一些 面向对象的理解, 但是不多这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用。

2024-04-26 12:39:03 536 3

原创 11 c++版本的贪吃蛇

呵呵 这大概是 大学里面的 c++ 贪吃蛇了吧有一些 面向对象的理解, 但是不多最近 因为想要 在单片机上面移植一下 贪吃蛇, 所以 重新拿出了一下 这份代码然后 将它更新为 c 版本, 还是 用了一些时间这里 具体的实现 就不赘述, 仅仅是 发一下代码 以及 具体的使用。

2024-04-26 12:38:51 699

原创 02 贪吃蛇

呵呵 这是不知道 在哪里看到的 别人做的一个贪吃蛇因此 也把我 之前的 贪吃蛇 移植上来了当然 这个不过是为了 简单的入门了解, 呵呵然后需要先移植成 c 版本, 然后 再根据 单片机相关 设计调整比如 led 点阵的输出, 比如 c99 语法的一些不兼容。

2024-04-25 09:19:51 909 2

原创 01 基础控制 数码管, led灯, led点阵, 蜂鸣管

这也是由于 身边的人 的相关需求了解一下 单片机的相关的东西呵呵 当然 这里仅仅是一些 简单的测试用例仅仅是为了学习之用, 当然 还可以 做一些 其他的东西我这里的是 做一个 花里胡哨 的 生日快乐。

2024-04-25 09:19:32 407

原创 15 spring-boot多个微服务在同一工作区间的情况下造成更新当前项目的服务端口不生效的问题

这是 2024年04月18日, 一位朋友碰到的问题甚至于情况是 怎么修改项目中的各个配置文件都不生效, 修改 A 项目, 依赖A的B项目 等等 都不行。

2024-04-19 10:29:14 909

原创 115 java 中 redisson 分布式锁

获取锁失败的线程, 会基于 redis 的 publish, subscribe 相关 api 来实现 阻塞, 唤醒 的相关操作。获取锁成功的线程, 会执行 scheduleExpirationRenewal 这里面会进行给定的 key 的过期时间的延长。然后下面的循环是 尝试获取 redis 分布式锁, 获取失败的线程, 再进行本地信号量的竞争。然后 hash 的 key 为 线程标记, 如果没有线程持有锁, 则当前线程去持有锁。最终的重试基于 tryAcquire, 即上面的相关流程进行处理的。

2024-04-19 10:29:00 205

原创 114 接口中幂等性的保证

同样是 面试问题如何确保接口的 幂等性幂等是一个 较为抽象的概念, 多次重复访问, 不会导致业务逻辑的异常这里从增删改查, 几个方面列一下一般来说, 我们核心需要关注的就是 新增 和 更新对于 增加元素, 首先针对唯一约束进行校验, 然后再处理新增的相关业务, 严格一点需要 加锁, 分布式并发控制对于 删除元素, 就是检查元素存不存在, 存在 则删除, 不存在 返回相关状态吗, 或者直接成功都 OK元素的新增基于持久化的数据库的机制比如 mysql 这边目标表, 增加唯一索引, 或者 主键。

2024-04-18 10:40:14 529

原创 113 如何排查 cpu 过高的业务进程

因此 我给出的思路是, 写脚本 多次 jstack 目标进程, 然后 再统计分析一下 出现频率最高的 topN 的方法调用附近的东西。-Xint 是防止, jvm 的编译优化, 将 funcA, funcB, funcC, funcD 的相关处理削除掉了。对于这种问题, 第一反应就是 jstack, pstack, 然后仔细观察多次堆栈信息结果的 重复率较高的代码。主要是确保 程序一直在不断的执行, 计算的相关操作, 这里不要加入 io 的相关操作。又是一个面试问题, 呵呵 之前碰到的。

2024-04-18 10:39:44 271

原创 112 arcpy 发布 mxd地图文件 到 arcgis服务器 为 地图服务

此文档主要是记录一下 最近的一次机遇 arcpy 来发布 地图文件到 arcgis服务器 上面arcpy 主要是来自于 ArcGIS_Desktop_105_154030.zip 安装之后会在 python 的安装目录 安装另外的一份带 arcgis 的 python 环境, 然后 本文相关类库 也是基于 这个然后执行 “import arcpy” 测试 arcpy 的使用, 如下 没有任何 报错, 表示可以正常使用。

2024-04-15 08:25:36 672

原创 111 记录一次 xxl-job 任务直接卡死两天

呵呵 周末爆发的一波问题然后 没办法 让周末解决, 先保存一个 堆栈信息, 和 堆dump信息然后 重启, 没问题了这个主要是最近碰到的一个问题再 xxl-job 上面, 某任务 107, 手动执行 或者 自动执行 有触发日志, 但是没有 执行日志通篇的效果类似于如下, 这个时间点 之后的所有任务 都是这个状态。

2024-04-15 08:25:26 1886

原创 14 spring-security 中的 SessionManagerFilter 导致的每刷新一次页面 JSESSIONID 切换一次 导致 session 不可用

然后 响应了一个 set-cookie 的响应头, 告诉客户端这边重新更新 cookie, 第一批次的请求的所有响应里面都有这个 set-cookie, 并且每一个 set-cookie 中的 JSESSIONID 不一。按照 我们的通常的 web 经验的理解, 一个 session 应该是有一定的生命周期的, 为啥这里每一批次请求 就会切换 JSESSIONID 呢?然后 这个处理之后的其他业务使用到了 request.getSession(true) 的相关业务操作, 会创建新的 session。

2024-04-12 08:25:51 1165

原创 13 nacos 客户端这边 LongPollingRunnable 检测到目标配置文件一直在更新

可以很明显观察到的一个现象是 “/config/listener” 这边很快的就响应回来了, 然后 按照正常情况 nacos 这边配置没有更新的话, 它应该是有一定的超时时间的, 是客户端这边传入的 “Long-Pulling-Timeout” 默认值为 30s。最近在改造一个老项目的时候出现了这样的一个问题, 在项目启动了之后, 日志不断地输出如下的日志, 然后就很奇怪, 我的 app.properties 是一直都没有调整, 也没有改动的。

2024-04-12 08:25:44 994

原创 12 nacos 一系列 403 的构造

最近 生产环境环境出现了 一系列的 nacos 403, 然后 这里来大致看一下 各种可能得情况首先 nacos 服务器需要开启认证配置这里 nacos 调试版本为 2.0.4报错的信息如下权限的控制方式如下, 根据 用户名去 roles 中去查询 角色列表然后再根据 角色来控制权限, 如果是 ROLE_ADMIN, 直接通过认证如果是 “console/xx” 直接不过认证否则通过 permissions 表查询角色对应的权限, 来判断是否有访问给定的资源的权限。

2024-04-11 16:04:34 807

jface.text - Jar [去掉 空格 + 等号的提示]

jface.text - Jar [去掉 空格 + 等号的提示] by 970655147

2015-10-14

jface.text3.9 - Src & Bin

jface.text3.9的源代码, eclipse自动补全插件相关 来自 : http://vdisk.weibo.com/s/aWiTqHd1bs37I

2015-10-14

crawlerTools

一个简易的爬虫模板工具, 利用基于xpath, json的抓取数据模板, 抓取输入源中符合条件的数据

2015-10-02

transferTool

一个用于压缩, 转义, 格式化输出json, xml的工具

2015-10-01

transferTools

一个用于压缩, 转义, 格式化输出json, xml的工具

2015-10-01

程序启动工具

程序启动工具, 用于管理常用的程序, 详见博客

2015-10-01

简易连连看

一个简易连连看游戏, 主要是设计数据结构相关的知识, swing, 线程 等等

2015-09-30

简易扫雷游戏

一个简易扫雷游戏, 主要是设计数据结构相关的知识, swing 等等

2015-09-28

09 Runtime

个人对于java.lang.Runtime的分析

2015-09-13

08 ProcesBuilder

个人对于java.lang.ProcessBuilder的分析

2015-08-29

简易黑白棋

一个魔方的简易模拟, 主要是设计数据结构相关的知识, swing 等等

2015-08-28

07 StringBuilder

个人对于java.lang.StringBuilder的分析

2015-08-26

06 AbstractStringBuilder

个人对于java.lang.AbstractStringBuilder的分析

2015-08-26

05src String

个人对于java.lang.String的分析

2015-08-25

src04 Byte

个人对于java.lang.Byte的分析

2015-08-24

src02 Integer

个人对于java.lang.Integer的分析

2015-08-19

src01 Object

个人对于java.lang.Object的分析

2015-08-19

简易魔方模拟

一个魔方的简易模拟, 主要是设计数据结构相关的知识, swing 等等

2015-08-17

简易迷宫寻路

一个简单的迷宫寻路程序, 包括了dfs搜索, java基础内容, 多线程 等等

2015-08-11

简易推箱子

一个简易的推箱子, 主要涉及的技术 : swing, java基础

2015-08-10

1个路由器配置一个子网的dhcp服务+2个路由器配置dhcp服务器+dhcp中继器配置两个子网的dhcp服务

参见 1个路由器配置一个子网的dhcp服务+2个路由器配置dhcp服务器+dhcp中继器配置两个子网的dhcp服务

2024-06-10

2个路由器构造三个子网相互访问, 3个路由器构造5个子网相互访问

参见2个路由器构造三个子网相互访问, 3个路由器构造5个子网相互访问

2024-06-10

2个交换机+vlan构造两个逻辑上的子网

参见 2个交换机+vlan构造两个逻辑上的子网

2024-06-10

1个路由器+两个子网示例

参见文章 1个路由器+两个子网

2024-06-10

vue 实现的贪吃蛇 实现了自动导航

vue 实现的贪吃蛇 实现了自动导航 参见文章 https://jerryhe.blog.csdn.net/article/details/127459183

2022-10-22

html + js 实现的贪吃蛇 实现了自动导航

html + js 实现的贪吃蛇 实现了自动导航 参见文章 https://jerryhe.blog.csdn.net/article/details/127459183

2022-10-22

greenplum 6.0 安装相关

greenplum 6.0 安装相关

2022-05-15

Test24StringInConstantsPool.java.zip

String.intern 同一个字符串返回不同的引用 里面提及的 2021.11.21 部分内容修正 的测试用例

2021-11-21

hsdis-amd64.dll 动态库

PrintAssembly 选项所需要的动态库, 可以参见 : https://blog.csdn.net/u011039332/article/details/83690224

2018-11-03

mybatis-springMapper太多导致StackOverflow_StackTrace

详细请参见文章 : https://blog.csdn.net/u011039332/article/details/83045246

2018-10-14

my-carousel

参见 "24 MyElCarousel" 在 element-ui 原生 carousel 的基础上面增加了两个配置[displayLabelNum, marginWithItem ]

2018-09-02

ExcelUtils.zip

参见文章 23 ExcelUtils, 一个基于 POI 的封装, 15 字

2018-08-11

StringEncoding_decode 的crash日志

一次调试 StringEncoding.decode 的crash日志

2017-08-10

HXBlogDeps[HXLibs + tests resources]

HXBlog_V2.0 所依赖的包 + 部分测试资源

2017-07-16

HXServerLibs

HXServer 所依赖的jar包[json, image4j]

2015-11-27

Athena (转)

一位大神, 十年之前写的一个简易的服务器

2015-11-27

HXBlog Libs

HXBlog 所需要的jar包, apacheCommon, json, servlet, sqlite, ueditor

2015-11-16

简易2048小游戏

一个简易的2048小游戏, 详见播客介绍

2015-11-15

简易艾摩君

一个fc的艾摩君游戏, 主要是设计数据结构相关的知识, swing, 线程 等等, 详见博客

2015-10-28

代码格式化工具

代码格式化工具, 用于格式化显示代码片段, 详见博客

2015-10-22

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

TA关注的人

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