自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【c语言】头文件宏展开&获取宏定义列表

错误码头文件,宏定义,宏展开,

2023-11-02 11:49:28 205

原创 git解决冲突&多条commit合并成一条

git解决冲突并多条commit合成一条,git解决冲突,git合并commit,git将commit移到最新

2023-10-17 11:59:40 564

原创 c语言自动内存回收(RAII实现)

c语言RAII实现、c语言自动回收内存

2023-03-06 20:40:39 812

原创 redis的渐进式rehash机制

在redis的字典(dict.h)实现中,当哈希表保存的键值对太多或者太少时,会触发扩展/收缩;由于存在表中的键值对可能有成百上千个,一次性rehash到ht[1]的话会导致服务器在一段时间内停止服务,于是出现了,这个动作并不是一次性的,而是分多次,渐进式完成的。

2023-01-30 19:11:22 729

原创 【c语言】char数组强转int

char* 转 int*

2022-11-22 19:20:33 3331

原创 从汇编码理解final、static、static final

实例代码 public class FinalDemo { public final int finalState = 8; public int unFinalState = 2; public static int staticState = 3; public static final int allState = 4; public static void main(String[] args) {

2022-05-06 15:28:48 506

原创 try-with-resources详解

从汇编详解try-with-resource机制

2022-04-06 15:47:53 767

原创 查找jar包是否存在、引用某个类

替换xxx为对应的类名 或者类路径find ./ -name “*.jar” | xargs grep “xxx”

2021-11-23 10:18:15 1117

原创 linux cpu性能测试

Linux CPU性能测试计算圆周率,时间越短性能越好:time echo "scale=5000;4*a(1)"|bc -l -q

2021-03-20 19:16:11 794

原创 arthas高级用法-监听特定线程

官方文档地址:https://arthas.aliyun.com/doc/官方文档中有基本指令使用的demo,文档简单易懂,此处不做赘述高级指令监听某线程的全局变量【-n 1表示只展示一次数据】:watch 类 方法 'target.变量' '@Thread@currentThread().getName().contains("线程名")' -n 1获取运行该方法的线程:watch 类 方法 '{@java.lang.Thread@currentThread()}'...

2020-12-02 10:50:44 2595

原创 代码规范【2】-不要在父类的构造函数中调用被子类覆写的方法

父类构造函数调用子类的覆写方法,构造函数的表现是不可预计的,往往会由于子类的初始化未完成而导致异常示例1:public class ParentClass { public ParentClass() { System.out.println(toString()); } @Override public String toString() { return "i am daddy"; }}public class Chil

2020-06-12 08:23:29 957

原创 代码规范【1】-调用静态方法

文章目录使用类名调用静态方法,而不要用实例或表达式来调用使用类名调用静态方法,而不要用实例或表达式来调用明确使用类名调用静态方法不容易造成混淆当子类和父类有同名静态方法时,声明父类引用子类实例,调用该静态方法调用的是父类的静态方法而非子类的静态方法【该说法有误,笔者尝试了jdk6、8、14,均未出现该问题】class Animal { public static void name() { System.out.println("i am Animal"); }

2020-06-02 00:37:06 1967

原创 float乘法 精度问题(9.9*100=989)

问题如题,由于微信在下单时使用的是整数,如9.9元,下单时价格为990,而公司平台的价格各有不同,并不仅仅支持微信支付,所以是在进行微信下单时,将现有的价格*100,就发现了该问题,代码如下:float x = 9.9f;System.out.println((int)( x * 100));笔者预期的输出是990,但是实际输出确是989解决方案float x = 9.9f;Big...

2020-05-08 10:35:40 1341

原创 angular2 tinymce多图上传

文章目录多图上传(第三方插件,非官方插件使用方案)配置信息问题怎么使用第三方插件解决方案下载tinymce到本地配置index.htmlupfiles.html 出现iframe跨域解决方案修改axupimgs中的plugin.min.js文件将 axupimgs文件夹下的loading.gif和upfiles.html都放到项目中多图上传(第三方插件,非官方插件使用方案)由于tinymce官...

2020-05-06 16:29:07 954

原创 nginx部署单页应用-缓存无效问题

文章目录项目部署问题产生背景问题分析:问题定位:新问题出现问题解决问题脚本项目部署cdn转发域名到nginxnginx反向代理index.html和后端接口js\css文件均在cdn中设置了缓存问题产生背景在线教育突然火爆的今天,平台的用户量大幅度增长,在每次直播卖课时,都会出现用户点进平台页面出现页面加载不出来的问题。问题分析:查询日志发现:服务器压力不大数据库压力不大...

2020-04-22 15:47:16 743

原创 list去重之springboot写法

protected final <T> List<T> removeDuplicates(List<T> list) { return new ArrayList<>(new LinkedHashSet<>(list))}

2020-04-22 10:56:46 730

原创 springboot监听器实现

自定义监听器要在springboot中注入自定义的监听器,需要完成以下两个步骤实现接口注入框架实现接口第一种【实现ApplicationListener接口】实现ApplicationListener接口在实现时声明支持的事件// 示例中ApplicationStartedEvent就是声明的支持的事件,监听器将会在监听到该事件后打印出"hello world"publi...

2020-03-08 21:40:52 2707

原创 单精度四舍五入算法(细节改进)

单精度四舍五入算法从输入中读取浮点数将浮点数加上0.5后取整代码实现如下是单精度四舍五入算法的代码实现import java.util.Scanner;/** * 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。 */public class Rounded { public static void...

2020-02-20 18:59:15 632

原创 springboot2+logback+logstash 日志收集

文章目录适用人群操作步骤部署logstashnet.logstash.logback:logstash-logback-encoder包配置logback-spring.xml适用人群运维人员熟练操作docker和对elk有基本认识的人(本文不涉及elk部署)由于本文涉及到的知识众多,且并没有加以描述,所以小白慎看操作步骤部署logstash在springboot项目中引入ne...

2020-02-13 14:17:27 838

原创 error parsing HTTP 400 response body: unexpected end of JSON input: ""

问题docker pull镜像没有问题,但是docker push镜像的时候报错error parsing HTTP 400 response body: unexpected end of JSON input: ""背景nexus部署了公司内部的私有仓库,使用了8440端口,nexus配置如下在nginx中使用xxx.xxx.com域名反向代理了8440端口并且在docker中...

2020-02-04 21:49:02 5588

原创 angular2+tinymce+prism 富文本编辑器(多图上传,代码高亮)

文章目录背景文档版本使用安装步骤配置信息自定义上传文件汉化自动调整高度多图上传(第三方插件,非官方插件使用方案)配置信息问题: 怎么使用第三方插件解决方案下载tinymce到本地配置index.html问题: upfiles.html 出现iframe跨域解决方案背景笔者项目原先使用的是百度的ueditor编辑器,由于没有了维护,并且在原基础上改造的成本大,于是考虑更换新的编辑器而对于新的编...

2020-01-10 12:05:35 987

原创 tcplayer源码改造第五弹 -> 兼容sarafi/遨游

不兼容原因Safari和遨游浏览器上未能调用hls.js文件;修复修改oneweek-player(后面版本号省略).js文件,增加匹配规则:拥有Safari字段,并且没有Chrome字段,重新执行调用hls.js;...

2020-01-06 10:04:01 609

原创 python \r 在idle和命令行中运行

文章目录代码运行结果idle命令行原因代码print('hello\rworld')运行结果idle命令行原因\n 是newline开个新行\r 是Carriage return,打印头回到行首,如果没有\n就直接\r 那么这行就会被覆盖打印了现在各个操作系统对 \r 处理不太一样,在不同的终端显示上也不太相同。而在idle中并没有实现 \r的功能...

2019-12-26 22:06:49 1300

原创 查看java源码中的native方法

带有native关键字的方法表示调用的不是java源码,而是c代码,需要找到对应的openjdk,查看对应的c语言源码注意:不同版本的源码在不同方法中稍有不同,请对应自己的版本查找...

2019-12-13 17:37:04 518

原创 停止线程,volatile设置boolean标记位

这种做法是错误的,或者说不够全面,最好的方案还是使用线程的中断 – interrupt()方法原因:如果我们遇到了线程的长时间阻塞(如生产者-消费者模式,生产的速度大于消费速度),就灭有办法唤醒线程,或者永远无法唤醒...

2019-12-13 17:00:47 607

原创 创建线程,实现runnable接口还是继承Thread类好

实现runnable接口更好原因:代码架构上来说,具体执行的任务应该是和线程类(线程创建和运行机制)是解耦的继承thread类的形式,每次新建一个任务都需要创建一个新的独立线程->运行->销毁,性能损耗较大,实现runnable接口的形式可以调用线程池等实现线程复用,减少线程的创建和销毁带来的损耗继承Thread类后,由于java不支持多继承,限制了该类的可操作性...

2019-12-13 14:37:28 1048 1

原创 网络寻找最大流(Edmonds-Karp算法)

文章目录概述Ford_Fulkerson思想残量图Residual GraphEdmonds-Karp算法概述本文将介绍网络流模型中寻找最大流的算法–Edmonds-Karp(简称EK)算法,即BFS寻找增广路径该算法是基于Ford_Fulkerson思想,并且算法的实现逻辑依赖于残量图的权值,故下文将介绍Ford_Fulkerson思想和残量图Ford_Fulkerson思想在残量图中...

2019-12-12 17:58:05 1114

原创 图的拓扑排序(动图)

文章目录概述度的定义排序描述示例示例动图伪代码概述对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏...

2019-12-11 18:43:09 1912 1

原创 tcplayer 源码改造第四弹 -> 字幕(srt)

文章目录前序简介人群git地址源码改造tcplayer.js(各位客官请自行格式化代码)修改思路添加配置参数在视频中加入字幕添加显示字幕内容的节点修改字幕内容节点的样式在底部栏加上字幕切换按钮复制切换清晰度的代码,并修改加入字幕按钮使用说明参数说明使用示例前序简介主要介绍了基于tcplayer的源码改造,加入字幕功能不涉及tcplayer的使用以及框架如何调用,详情请看腾讯云点播文档源...

2019-12-06 18:19:24 1732

原创 tcplayer 源码改造第三弹 -> 防盗录

文章目录前序简介人群git地址源码改造tcplayer.js(各位客官请自行格式化代码)修改思路添加配置参数添加防盗录的节点添加防盗录的节点样式使用说明参数说明使用示例前序简介主要介绍了基于tcplayer的源码改造,加入防盗录(即随机在视频中出现自定义的字符)功能不涉及tcplayer的使用以及框架如何调用,详情请看腾讯云点播文档源码解析中有些注释是笔者加的,如需定位,请不要复制注释...

2019-12-03 14:53:05 1577

原创 BFS遍历树和DFS遍历树

遍历树按照遍历的顺序,绘制成树型结构DFS遍历树以下为图到遍历树的转化(如果不清楚图的遍历,请先阅读笔者的另一篇文章:图的遍历(动图)),按照DFS遍历的顺序,绘制成一棵树,途中红色的边就是遍历过程中没有经过的边(在遍历树上,红色的边其实是不存在的,只是为了和图做比对和便于后面的分析,笔者在遍历树上绘制出来了)从遍历树中可以看出,非遍历的边可以指向自己的祖先节点(即后向边),而查找桥的算...

2019-11-29 11:26:52 1900

原创 图论:桥(割边)和割点

桥定义对于无向图,如果删除了一条边,**整个图的联通分量数量变化,**则这条边称为桥如图,红色标注的线就是该图的一条桥(顶点3和顶点5的边).性质一个图中可以有多条桥如下图,红色的边都是图中的桥一棵树的所有边都是桥如下图,红色边都是图中的桥,一颗树中任意一条边的断开都会导致图中联通分量发生变化寻找桥设置两个数组,Order和Low,并将已访问过的顶点置为绿色...

2019-11-29 10:55:19 9157 3

原创 并查集(动图)

文章目录数组实现(quick find)树实现(quick union)优化基于节点总数的优化基于深度的优化路径压缩数组实现(quick find)树实现(quick union)合并两个节点A和B,则是将A的根节点指向B(或B的根节点指向A).优化基于节点总数的优化如图,此时要将节点8合并到节点9上,此时的节点9的深度将会变为4,即树的最大深度为4.可以考虑基于节点数的优化方...

2019-11-28 11:45:24 264

原创 图的遍历(动图)

文章目录深度优先遍历DFS广度优先遍历BFS深度优先遍历DFS广度优先遍历BFS

2019-11-27 13:54:45 1865

原创 二分图/二部图检测(动图&代码实现)

文章目录定义二分图检测染色代码实现(java)定义二分图(中文翻译问题,有时也称作二部图),是图论中的一种特殊模型。如果图可以分为两部分: 绿色和蓝色,并且每一条连线都连接着一个绿色顶点和一个蓝色定点,则称这个图为一个二分图.下图就是一个二分图.二分图检测示例图,如下:肉眼很难区分出两部分,需要采用一定的算法才可区分,下面就介绍检测的方法–染色.染色首先,选择一个节点,置为蓝色...

2019-11-27 11:43:15 1052

原创 thrift 报错 Got an IOException in internalRead

在服务端配置中加入# args为Args后的实例,以下表示10Margs.maxReadBufferBytes = 10 * 1024 *1024L;

2019-11-21 13:52:51 1177

原创 springboot+logback+logstash日志收集

适用人群运维人员熟练操作docker和对elk有基本认识的人由于本文涉及到的知识众多,且并没有加以描述,所以小白慎看操作步骤如下部署logstash在springboot项目中引入net.logstash.logback:logstash-logback-encoder包配置logback-spring.xml部署logstash笔者使用的是docker-compose部...

2019-11-20 11:12:43 2095

原创 红黑树与2-3树的等价性->深入理解红黑树

2-3树定义节点可以存放一个或者两个元素,称为2节点和3节点(这也是2-3树名称的由来),如下图是一棵绝对平衡的二插树,下图示例就是一个2-3树任意一个节点到叶子节点的深度是一致的满足二分搜索树的基本性质,即 中序遍历的结果是有序二节点 -> 左节点<中间节点<右节点,如图中的以52为根节点的子树三节点 -> 左节点<中左节点<中间节点&...

2019-11-14 17:36:05 432

原创 docker部署nexus3

#!/bin/shcur_dir="当前目录的绝对地址"docker stop nexusdocker rm nexusdocker run -d \ -p 7010:8081 \ -p 8440:8440 \ --name nexus \ -v ${cur_dir}/data:/nexus-data \ sonatype/nexus3

2019-11-01 21:04:34 242

原创 tcplayer 源码改造第二弹 -> 加入倍速播放

前序简介主要介绍了基于tcplayer的源码改造,加入倍速播放功能不涉及tcplayer的使用以及框架如何调用,详情请看腾讯云点播文档源码解析中有些注释是笔者加的,如需定位,请不要复制注释以下示例的代码为重新混淆压缩过,与原来的tcplayer.js函数名不同,不可直接复制使用,请务必跟着笔者一步步执行人群不想自己写播放器而使用tcplayer,但是又受限于播放器本身不带有倍速...

2019-11-01 18:28:51 4425 18

空空如也

空空如也

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

TA关注的人

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