自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (1)
  • 收藏
  • 关注

原创 傻瓜式——Kibana 作图指北

kibana 作图示例

2024-03-04 11:02:18 325

原创 hmget 获取到空列表?

redis hmget 获取到空列表

2023-12-25 11:56:04 89

原创 Linux从root账号切换到普通账号并执行shell脚本

su es -s /bin/bash _start_es.sh脚本自动切换账号并执行其他脚本

2023-09-17 11:30:10 842

原创 byte buddy字节码增强——输出方法执行时间

结束 ~ ~ (^ v ^)~ ~

2023-09-16 00:18:07 167

原创 RR 隔离级别下删除不存在数据导致 【死锁】

suprenum 表示超过索引中的最大值,也就是说 两个事务的间隙锁 范围都是 (-∞, +∞),左边 执行insert 的事务正在等待右边释放锁,这时候如果右边事务也执行insert 就死锁了……如果删除索引的数据不存在,会出现一个间隙锁,区间(左边最近第一个值, 右边最近第一个值), 间隙锁之间是不会冲突的,只有往间隙中插入数据的操作,才会被阻塞。(2)防止已存在的数据,更新成间隙内的数据(例如防止numer=3的记录通过update变成number=5)3. 查看INNODB_LOCKS 表。

2023-05-14 16:22:54 240

原创 Netty是如何把Channel 从Boss线程传到Work线程的?

好,继续回到 register 流程,io.netty.channel.SingleThreadEventLoop#register(io.netty.channel.Channel)一路向后,进入 io.netty.channel.MultithreadEventLoopGroup#register(io.netty.channel.Channel)继续查看io.netty.channel.nio.AbstractNioMessageChannel.NioMessageUnsafe#read。

2023-04-11 23:33:10 141

原创 Netty 中的 Channel执行完close之后, 还能进行write吗?

Netty 的 channel close之后,调用write 会报错吗

2023-02-10 00:45:50 463

原创 DevTools 热加载为什么快?

SpringBoot DevTools 为什么快

2022-08-18 22:01:45 173

原创 Netty3和Netty 4 线程模型的区别

Netty 3 和 4 比较起来,有两点印象很深刻: 一个是 4 没有了各种event 对象的创建,GC更友好。 另一个是 4的Handler 链总是IO 线程来处理,而3 是哪种线程发起了事件,哪种线程去处理Handler 链。

2022-05-15 19:09:45 586 1

转载 Java抓取SVN 信息

1. 引POM <!-- https://mvnrepository.com/artifact/org.tmatesoft.svnkit/svnkit --> <dependency> <groupId>org.tmatesoft.svnkit</groupId> <artifactId>svnkit</artifactId> <ve

2022-02-10 18:29:44 623

原创 Java 获取GitLab 项目分支信息

使用GitLab Api,因为不想通过本地clone仓库的方式获取项目分支信息gitlab 操作好,开始按图操作然后会出现一个key , 复制下来,放到自己喜欢的文件里好好保存……Java 部分pom文件 <!-- https://mvnrepository.com/artifact/org.gitlab/java-gitlab-api --> <dependency> <groupId>org.gitlab<

2022-02-10 16:12:59 2101 1

原创 使用TortoiseGit 进行cherry pick 操作

问题:将release 版本中修复的bug 合并到主干(之后用master表示主干 )第一步、 切换分支到 master分支第二步、打开 提交日志记录第三步、找到release 分支第四步、双击进去,可以看到release 分支上提交的历史记录第五步、在目标记录上 右键-> 摘取第六步、点击下面的继续按钮...

2021-12-29 14:51:10 4044

原创 限制所有的input 为number 类型的输入值

小小tips var inputs = $("input"); for (var curInput = 0; curInput < inputs.length; curInput++) { var curObj = inputs[curInput]; if ("number" === curObj.type) { // input 赋最小值 curObj.min = 0; } }...

2021-12-28 17:15:39 114

原创 Mysql char 类型为null 的话会占表空间吗

Mysql char 类型为null 的话会占表空间吗?有可能,当行记录格式为Redundant 的时候 char 即使为null, 也会用0x00 填充当然Redundant 已经是Mysql 5.0 之前的行记录存储方式了。compact 记录格式下是不会占用空间的。突然有感,必须写点……...

2021-12-10 23:59:36 628

原创 Json排除指定字段小工具

json 时排除指定字段小工具1.0

2021-11-08 18:26:38 242

原创 log4j2日志打印、滚动切割流程解析

log4j2日志打印、滚动切割流程解析

2021-10-17 00:19:23 1093

原创 log4j2修改动态创建log文件名字

动态创建log文件名,但是log4j2 创建的文件名字是固定的,只能……

2021-10-16 23:15:50 2469 3

原创 Long值范围你知道吧,Long值10进制有多少位你晓得不?

Long值10进制有多少位922337203685477580719位,晓得了知道毫秒时间戳有几位吗?163291101811313位,晓得了所以拼接大数值的时候注意啊,Long可以拆成两个int, 但是尽量不要和拼字符串似的拼。

2021-09-29 18:35:14 1325

原创 Thymeleaf使用记录

模板布局th:include 加载指定文件内容(Thymeleaf 3.0 之后不再推荐使⽤ th:include.),例如<div th:include="/common/select::server"></div>加载common目录下select(.html, 因为项目里配了匹配后缀,这里不需要加)的 server 部分,server部分是啥嘞?<div th:fragment="server1">是这个</div>th:fragm

2021-09-29 11:56:18 62

原创 没有手动提交事务,Mybatis 的 POOLED 连接池炸了

就是先开启了事务连接,未提交或关闭,导致连接池连接全部占满。此时进行一次非事务连接操作,但是因为此时已经没有可以空闲的连接,并且创建的连接数已经最大。pooled 连接池会从活动的连接里面找一个 连接时间超过配置的 连接,重新创建一个连接使用。但是这个旧对象(暂且称其为对象)在我们的事务集合里面仍然保留引用,此时已经不能用了(valid 为false),所以报错。例子:for (int i =

2021-03-26 14:40:53 757

原创 map.get(Object key)常识规避

小问题规避map.get(Object obj)传参的时候要注意类型。

2021-01-13 14:36:27 1222 1

原创 单个Java 文件过大,idea 中显示 “J” 图标 解决办法

情景再现: 单个 类显示 “J” , 编译可以正常编译,没有受到影响, 但是Idea 却标红。打开文件 后,发现最上面有一行 浅黄色的提示原因找到了,文件有点大,idea设置的默认值小了。找到 idea 安装目录下的 bin/idea.properties。下面这个字段调大一些。...

2020-11-03 16:29:26 682

转载 Ant 学习笔记

在 xml 文件的声明前面没有任何空行或者空格。否则会出错<?xml version="1.0"><project name="Hello World Project" default="info"> <target name="info"> <echo>Hello World - Welcome to Apache Ant!</echo> </target></project>...

2020-07-31 16:22:26 147

原创 MySQL存储过程删除包含目标字符串所有相关数据

需求目标:将t_class 表numbers 字段中含有 tom, tony, jack 的行记录都删除掉CREATE TABLE t_class( t_id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY , t_name VARCHAR(50), t_number TEXT);INSERT INTO t_class(t_name, t_number) VALUES('English Class', '{"s1":"tom"}');INSERT I

2020-06-18 15:27:49 406

原创 JavaScript 制作嵌套JSON数据

<html> <script> function updateProps() { debugger; var jsonInfo = {}; var name = "base.props"; var subJsonInfo = {}; if (jsonInfo.hasOwnProperty()) { subJsonInfo = jsonInfo[name]; } var subKey = "attack"; subJson.

2020-06-08 14:45:46 1224

原创 为了安全,栈还是不要用Stack实现了

前几天刷题的时候,题解区大佬提到了 Java程序员,不要用Stack(原链接找不着了)。        之前从来没有注意到哎,不过倒也是,除了刷题偶尔需要自己做栈外,日常业务开发好像没有敲过 Stack这个类。Stack继承了Vector。因为Vector是一个动态数组。数组嘛,瞅一下它的方法就明白了 public void add(int index, E element) { insertEleme

2020-06-02 22:48:23 333

原创 通过 MySQL的 binlog 查找问题根源

问题背景: 我家运营哥哥向我反映了一个看起来很反常的数据显示问题。简单来说就是,用户因捣乱被封号(几个小时后会自动解封)。奇怪的是,用户方已经自动解封,但是管理平台仍然显示 封号 状态。怀疑1: 解封sql 执行失败, 经过日志比对,解封sql 成功执行。怀疑2: 被后执行的 sql 覆盖了数据, 查代码……,好多,还是算了,去查binlog 吧。找到binlog 的位置vi /et...

2020-04-20 18:53:42 191

原创 搞Arthas出现的两个岔子

1. shutdown 和 stop 才会让session 关闭。

2020-04-06 17:16:05 253 1

原创 Executor的线程池

四种线程池源码探究

2020-03-12 19:00:45 113 1

原创 shell脚本基础

shell 中的注释 ① 行注释 # ② 段落注释 ``` :<<EOF 注释内容... 注释内容... 注释内容... EOF ``` 其中的EOF 可以替换成其他字符定义变量 Variable="hello"使用变量 使用 $ 符号进行调用,这里需要注意的是在字符串中调用变量的情况, 只有在**双引号内才可以引用变量值**...

2020-02-28 22:26:41 132

原创 Dubbo + Zookeeper集群 Demo 服务搭建笔记

Dubbo demo 本地搭建由于Dubbo需要注册中心,这里使用zookeeper 来做注册中心,那就需要一个zookeeper集群,OK,下面就是搭建zookeeper 集群步骤:找到zookeeper的配置文件zoo_sample.cfg, 重命名为 zoo.cfg(zookeeper默认加载zoo.cfg),配置文件常用的配置项:tickTime:这个时间是作为 Zookeeper...

2020-02-22 22:21:56 178

原创 Java处理JSON数据出现MorphDynaBean

使用Properties 类将数据处理完毕,下一步就是以字符串的形式写到数据库中,顺手就用了Properties中的toString() 方法。然后杯具了! toString() 不会处理嵌套的数据 就是下面这样的 :在这里插入代码片...

2020-01-15 15:24:30 821

翻译 Mina自定义编解码器

本文摘自《Mina用户指南》Chapter 9 - Codec Filter,但是用户指南中客户端没有完整版代码,在这里我简单的补上了。实现内容: client端向server端发送请求(请求图片),server端向client端传输请求的图片。第一步构架请求/响应消息实体。// 请求实体 public class ImageRequest { private int w...

2019-12-02 16:13:59 588

原创 使用Mina发送数据执行过程分析

这里对上一篇出现的编解码器执行过程分析一下:客户端和服务端建立连接之后,开始发数据进到AbstractIoSession#write(Object message, SocketAddress remoteAddress)中, 直到这里writeRequest是对数据信息、session、以及remoteAddress 等信息的封装。然后进到DefaultIoFilterChain#fi...

2019-12-02 16:10:02 623

原创 switch-case引发的车祸

还记得大学时期 C++课上测验的时候, 有这么一道题目(具体忘了,考察的是switch-case 知识点): switch (1) { case 1: System.out.print("1"); case 2: System.out.print("2"); break; case 3: System.out.print("3"); break; ...

2019-11-22 12:40:42 163

原创 ObjectInputStream与ObjectOutputStream的顺序问题

背景:正在阅读《NIO与Socket编程技术指南》一书,在书中看到作者特别标注了 Server端和Client端ObjectInputStream 和 ObjectOutputStream 的创建顺序。我很疑惑,难道顺序有要求吗?找找看!先简单测试一下第一种情况,Server端和Client端都是生成ObjectInputStream 在前,ObjectOutputStream 在后。Ser...

2019-11-09 23:58:30 484

原创 Java中的浅克隆和深克隆实现方法

背景:记得之前总结过浅克隆和深克隆之间的区别,奈何,忘了…看到JDK中clone()方法上注释可以知道这是浅克隆,那深克隆又是什么呢? 就是利用Serializable 进行序列化和反序列化得到的对象即是深克隆结果。参考文章:浅谈Java中的浅复制和深复制浅谈Java中的深克隆和浅克隆(阿里面试)...

2019-11-05 15:16:23 720

原创 图解HTTP随笔

用户请求资源基本流程客户端部分:1.HTTP协议的职责:生成针对目标Web服务器的HTTP请求报文比如:请求获取http://XXX.YY/index 页面的资源2.TCP协议的职责:为了方便通信,将Http请求报文分割成报文段(按序号分为多个报文段)然后将每个报文段可靠的传给对方路由器部分(多个):IP协议的职责: 搜索对方的地址,一边中转一边传送。详细介绍服务器部分:1.TCP...

2019-10-22 18:51:20 116

原创 记 一次服务更新失败(编码问题)

早上在赶往公司的路上接到主管的消息——服务启动失败,异常原因是 找不到XXX配置文件。要求十一点要开服,蛋四手头并没有电老(论随身带电脑的重要性o(╥﹏╥)o)。①先检查当前版本包中 有没有 程序没找到的配置文件。没有,继续。②查看系统编码,locale出问题了,配置文件编码都是UTF-8,这里是GBK,找找新添的配置文件路径——有中文。问题找到,将中文换成英文,重新打包发布,问题解决!...

2019-09-24 11:34:29 391 5

原创 Java中类似GOTO语句的存在

空闲之余,看一下String源码,正好看到 获取子串最后出现索引 的函数,其中让我眼前一亮的是 startSearchForLastChar: ,惭愧,到现在才看到这个玩意,看起来像C++的goto 语句,不过C++的goto语句可以在调用后面定义,这个不可以。而且该语句只能和循环在一块。static int lastIndexOf(char[] source, int sourceO...

2019-08-22 23:52:16 872

图解HTTP随笔1.docx

《图解HTTP》随笔,https://blog.csdn.net/qq_38746380/article/details/102688140 的补充版本。

2019-10-23

空空如也

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

TA关注的人

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