自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dongguabai 的博客

【欢迎关注公众号:冬瓜白】记录不知道的事,技术不分高低难易;掉不尽的底子玩不尽的味

  • 博客(23)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

转载 Html 预览word pdf excel等文件

当需要在线预览一些文本的时候可以使用一些简易的现在预览方案,本文采用office官网的在线解决方案1.准备工作,以word为例一个可以外部访问的文件地址:http://XXXX2.添加前缀即可https://view.officeapps.live.com/op/view.aspx?src=实际代码如下<iframe src='`https://view.officeapps.live.com/op/view.aspx?src==httpt://XXXX'

2021-02-28 10:38:15 41

原创 MySQL 实现类似 indexOf 的功能

需求是这样的,想看下我传入的参数是不是以数据库中某个字段开头的。找了一下可以使用 MySQL 的 LOCATE 函数实现,示例如下:select LOCATE('e', 'abcde'); -- 返回 5-- 也就是说 LOCATE 会返回子串在字符串中的位置(从1开始)那么想判断一个字符串是不是以某个子串开头可以这么用:select * from e_group where LOCATE(name, '测试新增分组adadadadad') = 1输出结果:...

2021-02-26 11:37:29 55

原创 Excel 显示空行

最近有不少同事都因为一些事情需要知道 Excel 某行数据是否是空的。其实 Excel 是支持这个功能的,这里以 WPS为例子:

2021-02-26 10:18:21 32

转载 Linux下查看某一进程所占用内存的方法

  Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如ps-ef |grepkafka可以看到kafka这个程序的进程id可以看到是2913,现在可以使用如下命令查看内存:top -p 2913这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行  也可直接使用ps命令查看:ps-aux |grepkafka第一个标注的地方是CPU和内存占用率,后面的943100是物理内存使用量,单位是k,此时kafka大约占用9...

2021-02-25 13:43:51 129

转载 Lua 判断表是否为空方法

【1】判断表为空的方法目前为止,Lua语言中判断table表是否为空有三种方式:(1)#table,当table为数组时直接返回table表的长度。(2)当table是字典时,返回table的长度function table.size(t) local s = 0; for k, v in pairs(t) do if v ~= nil then s = s + 1 end end return s;end(3)next(table),

2021-02-23 19:25:25 318

转载 Lua redis() command arguments must be strings or integers

如题,在linux命令行下运行lua脚本操作redis,提示错误。[root@server script]# cat set.lua return redis.call('set',KEYS[1],ARGV[1])[root@server script]# redis-cli --eval set.lua age 18(error) ERR Error running script (call to f_1ee8eca25a0c9466ea9bddd4c8d50569d5c49565): @u

2021-02-23 19:23:56 120

转载 Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value 解决处理

首先应该明白报这个错误说明了你用的jedis方法与redis服务器中存储数据的类型存在冲突。例如:数据库中有一个key的数据存储的是Hash类型的,但是你使用jedis执行数据操作的时候却使用了非Hash的操作方法。此时就会报WRONGTYPE Operation against a key holding the wrong kind of value这个错误!问题解决:先执行一条如下命令:redis 127.0.0.1:6379>type key此时会显示出该key存.

2021-02-23 19:22:03 221

原创 基于 Redis+Lua 实现延时队列实战

欢迎关注公众号:最近项目中有这样一个需求,在用户的考试快开始的时候要给用户发条消息,提醒用户考试快开始了。这种需求其实很常见,本质可以基于延时队列去实现,结合目前项目技术栈使用情况,想到了三种方案:时间轮Redis Key 过期监听Redis ZSet过期时间作为 score,每次取出 score 小于当前时间的数据时间轮个人感觉单机版实现简单,但是分布式环境下实现复杂;Redis Key 过期监听根据以往经验不一定靠谱,且不易于控制消费进度;于是最终选择使用 Redis ZSet

2021-02-23 19:20:15 145

原创 自定义实现 AtomicInteger 类

其实获得了 Unsafe 之后直接调 API 就行。package dongguabai.atomic;import org.springframework.objenesis.instantiator.util.UnsafeUtils;import sun.misc.Unsafe;/** * @author Dongguabai * @description * @date 2021-02-21 19:53 */public class MyAtomicInteger {

2021-02-21 20:20:22 33

原创 获取 Unsafe 对象的方法

package dongguabai.unsafe;import sun.misc.Unsafe;/** * @author Dongguabai * @description * @date 2021-02-21 19:38 */public class Main { public static void main(String[] args) { Unsafe unsafe = UnsafeUtils.getUnsafe(); int and.

2021-02-21 19:40:18 30

原创 基于 CAS 操作实现一个简单的锁

这里基于 AtomicInteger 来实现:package dongguabai.cas;import java.util.concurrent.atomic.AtomicInteger;/** * @author Dongguabai * @description * @date 2021-02-21 18:53 */public class CasLock { /** * 0 表示未加锁,1表示已锁 */ private AtomicInteg

2021-02-21 19:02:33 69 1

转载 @CallerSensitive 注解的作用

在java的 Class类forName方法上,有个CallerSensitive注解。@CallerSensitivepublic static Class<?> forName(String className) throws ClassNotFoundException { Class<?> caller = Reflection.getCallerClass(); return forName0(className, true,

2021-02-21 17:16:11 68

转载 剖析 Reflection.getCallerClass

/** * 不推荐使用:http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html * Reflection的getCallerClass的使用:可以得到调用者的类.这个方法是很好用的. 0 和小于0 - 返回 Reflection类 1 - 返回自己的类 2 - 返回调用者的类 3. 4. ....层层.

2021-02-21 17:13:03 31

转载 为什么要这样写 final ReentrantLock lock = this.lock; ?

今天JVMPocket天方夜谭群里的一个朋友问了个问题,为什么CyclicBarrier的代码要这样写: final ReentrantLock lock = this.lock; lock.lock;其实如果阅读过java.util.concurrent包下源码的童鞋会发现,不止CyclicBarrier源码是这样做的,这个包下,所有以final修饰的成员变量读取的代码大部分情况都是这样写的,大部分指情况的是:全部的循环代码块里(while、for)读取这些final的成员变量的时候;

2021-02-20 18:45:28 40

原创 RocketMQ 源码调试环境搭建

先从 GitHub 上将源码下载下来:➜ IdeaProjects git clone https://github.com/apache/rocketmq.git正克隆到 'rocketmq'...remote: Enumerating objects: 15, done.remote: Counting objects: 100% (15/15), done.remote: Compressing objects: 100% (11/11), done.remote: Total 33

2021-02-19 17:41:38 110 3

原创 Linux 下快速安装使用单机版 RocketMQ

因为只是为了调试RocketMQ 的一些原理,直接安装一个单机最简版的。官方安装包下载地址:http://rocketmq.apache.org/docs/quick-start/但是下载太慢,我在网上找了一个 4.4 版本的,链接: https://pan.baidu.com/s/1iz3Xo0hZZqv5L3yuIjStBQ 密码: 2nnd直接解压即可:[root@MiWiFi-R4CM-srv rocketmq]# unzip rocketmq-all-4.4.0-bin-re..

2021-02-19 01:23:03 104

转载 nohup: ignoring input and appending output to ‘nohup.out’

在执行linux命令的时候出现了下面错误:nohup: ignoring input and appending output to ‘nohup.out’或者:nohup: failed to run command `xxx.sh’: Permission denied一般我们自己写的脚本,想利用nohup命令让脚本程序自己运行,但是nohup他必然会产生日志文件,所以这需要我们将日志文件写到一个文件里面去,默认是写入到nohup.out中,但是有时候会出现上面的问题。错误原因:文件没

2021-02-19 00:42:25 511

转载 CPU 平均负载为多少更合理?

CPU(Central Processing Unit)是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元,相当于系统的“大脑”。当 CPU 过于繁忙,就像“人脑”并发处理过多的事情,会降低做事的效率,严重时甚至会导致崩溃“宕机”。因此,理解 CPU 的工作原理,合理控制负载,是保障系统稳定持续运行的重要手段。CPU 的物理核与逻辑核一台机器可能包含多块 CPU 芯片,多个 CPU 之间通过系统总线通信。一块 CPU 芯片可能包含多个物理核,每个物理核都是一个实打实的运算核心(包括

2021-02-18 14:36:41 323

转载 Redis hash tag

当我们提交了一批命令,往Redis中存储一批键,那么这些键一般会被映射到不同的slot,而不同的slot又可能在Redis Cluster中不同的节点上,这样就和的预期有点不同,有没有办法将这批键映射到同一个slot呢?答案是可以。哈希标签是确保两个键都在同一个哈希槽里的一种方式。将来也许会使用到哈希标签,例如为了在集群稳定的情况下(没有在做碎片重组操作)允许某些多键操作。为了实现哈希标签,哈希槽是用另一种不同的方式计算的。基本来说,如果一个键包含一个 “{…}” 这样的模式,只有 { ..

2021-02-08 16:57:41 513

原创 每天学习一点点之 Hystrix 之 Request Cache

最近看了下 Hystrix,里面有很多设计还是蛮有意思的,这篇文章主要探讨的是 Request Cache,Request Cache 原理不难,单独看 Request Cache 作用也许并不大,还不如用 Spring Cache,但是与其他 Hystrix 机制联合会有很大的作用,其他核心原理会在后面的文章中再讨论。这里主要是做一个记录,学习一下其中的设计思想。这是在网上找的对 Request Cache 的一个描述:Hystrix 给我们提供了缓存功能,支持将一个请求结果缓存起来,下一个具有相同

2021-02-08 00:17:41 41

原创 判断一个类是否重写了父类某个方法

其实通过反射的 getDeclaredMethod 来就很简单,示例:parent 父类 B:/** * @author Dongguabai * @description * @date 2021-02-03 22:31 */public class B { protected String get(){ return ""; }}子类 A 没有重写 get 方法:package com.example.demo.hystrix.framework;

2021-02-04 12:52:28 89

原创 skywalking.oap.server.library.module.ProviderNotFoundException: storage module no provider exists.

我使用的版本:apache-skywalking-apm-6.6.0.tar.gzElasticsearch7.9.2SkyWalking 启动后在skywalking-oap-server.log 出现这个异常:org.apache.skywalking.oap.server.library.module.ProviderNotFoundException: storage module no provider exists. at org.apache.skywal..

2021-02-02 10:41:33 428

转载 ElasticSearch 7.4.2 Root mapping definition has unsupported parameters

新建索引PUT people{ "settings":{ "number_of_shards":3, "number_of_replicas":1 }, "mappings":{ "man":{ "properties":{ "name":{ "type":"text" },

2021-02-02 09:56:08 164

IDEA查看Java运行代码的汇编指令工具

IDEA查看Java运行代码的汇编指令工具,将文件导入jre/bin中后,在IDEA中进行相关配置,即可查看汇编指令,具体方法可参看:https://blog.csdn.net/Dongguabai/article/details/82818120

2018-09-22

skywalking 6.5、6.6、6.6 es7 版本 tar 包

skywalking 6.5、6.6、6.6 es7 版本下载包,官方下载太慢。要注意如果连接 ES 7 记得下载 es7 版本

2021-02-04

Dongguabai的留言板

发表于 2020-01-02 最后回复 2020-03-02

空空如也

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

TA关注的人 TA的粉丝

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