- 博客(71)
- 收藏
- 关注
原创 redis + lua分布式锁
package com.jd.car.parrot.web.plugin.ratelimter;import com.google.common.collect.Lists;import com.car.parrot.web.plugin.config.Singleton;import lombok.extern.slf4j.Slf4j;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframe..
2022-03-03 08:40:38
802
原创 各种法则&时间管理
GROW模型帮助员工成长的模型GROW代表辅导的一个程序,你要向员工陈述你的谈话目的,不要让员工觉得云里雾里,所以G要清楚向员工陈述谈话的目的。第一步G即目标,教练通过一系列启发式的问题帮助被辅导者找到自己真正期望的目标。第二步R描述发现的问题,要求员工分析原因,避免盲目下结论,设身处地地倾听。第三个O是解决方案,最重要的是要询问员工对问题的看法以及解决方案;通过提问鼓励创造性思考“还有没有更好的做法。最后,W与员工一起商讨行动计划,制定下一次的时间,感谢员工并表达你对他的信心。
2021-07-13 14:02:11
188
原创 CompletableFuture案例
public static void main(String[] args) { try { CompletableFuture<Void> f1 = async("f "); f1.get(); CompletableFuture<Void> f2 = async("s "); f2.get(); CompletableFuture<Void> f3 = async("t ");.
2021-06-02 15:53:06
299
原创 2021-05-31
mapToDouble求数字最大、最小、和、平均值list.stream().mapToDouble(User::getAge).sum()//和list.stream().mapToDouble(User::getAge).max()//最大list.stream().mapToDouble(User::getAge).min()//最小list.stream().mapToDouble(User::getAge).average()//平均值————————————————版权声明:本.
2021-05-31 21:39:15
108
原创 一图看清 java 内存模型
更nb的图:https://processon.com/view/5f8c1378e0b34d07110cebd1?fromnew=1
2021-02-26 10:29:14
105
原创 一分钟掌握学习办法,让知识变成能力,点滴知识搭建自己的知识体系
您是不是学完知识没几天就忘;您是不是学很多东西还是比较零散;您是不是工作了好几年还是没有什么成长;如果您有这方面的困惑和焦虑,那么请继续往下看,希望能帮到您!点睛之笔:学习的办法很简单,总结来说就是两句话:一句是,维护一个属于自己的知识框架图第二句,隔三差五去看看你所记的东西为什么会忘:因为我们 的记忆是这样的这图给我们的启示是:我们学习要总结我们要隔三差五的去看一下自己学的东西;为什么我们工作了好几年,没有成长,没有知识体系;因为我们需要从学习中,从点滴知识中,搭建自己的知
2021-02-25 19:58:37
239
1
原创 很全的正则表达式用法
转载:https://www.cnblogs.com/gisblogs/p/3955648.html1。^/d+ //匹配非负整数(正整数+0)2。[0−9]∗[1−9][0−9]∗ //匹配非负整数(正整数 + 0) 2。^[0-9]*[1-9][0-9]* //匹配非负整数(正整数+0)2。[0−9]∗[1−9][0−9]∗ //匹配正整数3。^((-/d+)|(0+)) //匹配非正整数(负整数+0)4。−[0−9]∗[1−9][0−9]∗ //匹配非正整数(负整数 + 0) 4。
2021-02-25 13:50:55
467
原创 我想模糊删除 redis key
源自:https://xie.infoq.cn/article/0e34856ec9a88d749e7b1ae7a前提redis中存在很多key,可能随着业务的下架永远也用不到了,需要批量删除(当然也可以不处理,等redis内存不足的时候,自动去执行淘汰策略)。假设存在若干个如下模式的key,都是以 unkey 为前缀,现在希望批量删除。截屏2020-07-16 下午2.43.17.pngredis 2.6.0 之前通过 del直接删除(不推荐)redis官方中的..
2021-02-22 18:00:35
1783
原创 多维度访问次数限制策略
类型维度梯度维度时间段维度配置文件:[ { "seconds": 10, "times": 5, "type": "user_method", "errMsg": "" }, { "seconds": 30, "times": 15, "type": "user_method", "errMsg": "" }, { "
2021-01-25 11:54:25
539
1
原创 jdk8 stream的一些坑
坑一 :List.stream().collect(Collectors.toMap(e->e.getMainSellerId(),e->e.getSlaveSellerId()));map的key不能重复例子:public static void main(String[] args) { List<UcSellerMasterSlave> masterSlaveList = Lists.newArrayList(); UcSellerMasterSlav
2021-01-19 11:54:38
534
原创 我们的项目管理心得--二,心路历程
阶段1:是个苗子,任命我能行吗?要干不好怎么办?。。。首先要第一时间答应,然后跟老板谈一下:问题- 没有自信:不觉得自己能做好- 业务不熟:我和组员同是新人,大家都不熟悉- 人员不熟:不知道组员技术能力水平,擅长和偏好解决调整心态问老板选我的原因,找到我的优势,怎么弥补劣势快速学习不懂就花时间弄懂! 看代码是最有效的细节致胜需求分解,项目计划尽可能的细代码每处修改要了然于心上线每个步骤要规划到位人知提升1、在这个项目中你的角色是什么?2、你是否有这件事做成的独特
2020-11-01 21:23:01
639
1
原创 我的项目管理心得--一、管理
做什么战略分析项目计划任务分解项目控制范围管理时间管理成本管理质量管理怎么做好的项目经理要充分了解系统,管好人,用好工具。好的管理思想与工具:刘易斯方法; pmp ; cmm; rup; scrum;DDD(领域驱动设计)项目约束条件需求范围,时间,人力,质量 四者是相互影响相互制约的为了达到某一目标,只要是好的结果,其他三个都可以妥协:时间使命必达: 质量分期实现;人力适当增加; 需求范围也可以分期实现总是在做一直做的事,只能得到一直做的事的结果!只有改
2020-11-01 20:18:40
226
原创 高并发分布式锁--Redis之Redisson和优化
拒绝东扯西扯,直接上干货这里只讲原理,如果想了解redisson使用过程的请看看Redisson的官网。优势redisson分布式锁优势:多个redis操作乱脚本整体提交,保证性能同时,保证整体原子性! 看门狗自动延续锁生命周期,防止未处理完锁过期问题,但是同时造成了阻塞,甚至锁死 实现了自旋锁 :发现锁后get ttl进行while true对应的时间 实现了重入锁 :发现锁后再看一下clientid是不是自己,如果是+1原理redisson分布式锁使用例子:..
2020-10-14 17:03:45
2423
原创 redis驱动--jedis源码解读及原理
transaction事务: 保证原子性pipeline管道:比 挨个 set 快十几倍 这里我进行了20w次连续操作(10w读,10w写),不用pipeline耗时:187242ms,用pipeline耗时:1188msmget,mset命令会比管道更快 原因是一个命令一下发出去ps:multi和pipeline的区别在于multi会将操作都即刻的发送至redis服务端queued起来,每条指令queued的操作都有一次通信开销,执行exec时red...
2020-10-04 17:27:21
280
原创 redis驱动-redis实现2
/** * Created by orchid0809 on 15/7/9. */@Componentpublic class JedisClient { private static final Logger log = LoggerFactory.getLogger(JedisClient.class); /** * 冲突延时 1000ms */ private static final int MUTEX_EXP = 1000; pri..
2020-10-04 15:10:32
245
原创 redis驱动-jedis实现1
/** * The type Jedis client. * * @author wangsiyu * @date 2019.10.22 */@Slf4j@Componentpublic class JedisClient { /** * The constant SIMPLE_CLASS_OBJ. */ private static final List<Class<?>> SIMPLE_CLASS_OBJ = Lists...
2020-10-04 14:59:55
543
原创 redis驱动风云 and 分布式锁
jedis redission lettuce 同步 异步非阻塞 异步非阻塞 spring-data内置 111 netty实现 netty实现
2020-10-04 10:28:15
140
原创 在线Excel的前端组件、控件,实现web Excel
在线Excel的前端组件、控件,实现web Excel在互联网众多领域,都有导入导出的场景;但是有些场景 是导出来 编辑 再导进去,无疑是一个很麻烦的事情,失去了互联网的价值,同时也存在性能,数据一致性的问题。所以一个线上Excel很是重要。这里推荐两个 前端技术供大家参考:SpreadJSSpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,提供了完备的公式引擎、排序、过滤、输入控件、数据可视化、Excel 导入/导出等功能,适用于 .NET、Jav
2020-08-08 09:24:16
3718
原创 领域驱动设计 DDD 开篇
背景及目标问题域+业务期望+统一语言面对客户的业务需求,由领域专家与开发团队展开充分的交流,经过需求分析与知识提炼,以获得清晰的问题域。战略设计通过对问题域进行分析和建模,识别限界上下文,利用它划分相对独立的领域,再通过上下文映射建立它们之间的关系,辅以分层架构与六边形架构划分系统的逻辑边界与物理边界,界定领域与技术之间的界限。进入战术设计阶段深入到限界上下文内对领域进行建模,并以领域模型指导程序设计与编码实现。在实现过程中,若发现领域模型存在重复、错位或缺失时,再进而对已有模型进行重构,甚
2020-07-29 17:35:19
197
原创 spring boot升级与logback的坑
spring boot 从 2.2.1.RELEASE升级2.3.2.RELEASE后logback打印不出日志来了,之前的情况是:logback-spring.xmapollo配置logging.path解决方案:apollo配置改为logging.file.path
2020-07-29 14:04:51
939
原创 OKclient踩坑记
responseresponse.body().toString() 和response.body().string()区别response.body().toString():打印对象地址response.body().string():打印responseBodyresponse.body().string()只能用一次,多次会报错:close原因:https://blog.youkuaiyun.com/my_truelove/article/details/80133556response
2020-07-10 11:07:40
264
原创 shell脚本之服务器监控
#!/bin/sh\033[31m红色文字\033[0m“\033[31m红色文字\033[0m”#tomcat logs 目录大小echo -e ‘\033[31m&&&&&&&&&&&&&日志目录大小\033[0m’cd /data/du -h |grep ‘_server/logs’ | grep -v ‘task’磁盘检查echo -e ‘\033[31m------------磁
2020-06-13 07:46:42
270
原创 soul高性能网关gate
Soul - 高性能微服务API网关https://www.bookstack.cn/read/soul-zh/0.md
2020-06-04 13:41:17
976
原创 kafka broker与kafka client适配关系
摘录自:https://cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix Broker 0.10.1 Basic client compatibility: Java: any version KIP-35 enabled clients: any version ...
2020-03-19 12:25:56
1301
原创 kafka client各个版本与spring kafka的兼容关系
较新版本对应较早本对应:https://blog.youkuaiyun.com/lzx1991610/article/details/100777040
2020-03-19 10:47:14
7154
原创 apollo说明文档
https://github.com/ctripcorp/apollo/wiki/Apollo%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E4%BB%8B%E7%BB%8D
2020-01-20 16:46:08
1975
原创 Kibana6 入门4 - 数据可视化
原文:https://www.jianshu.com/p/f22d869c1fb4在左侧导航栏选择Visualize,进行数据可视化操作。Visualize功能可以多种纬度展示数据。例如,使用饼图来显示银行账户数据集合中的账户余额信息。点击 屏幕中央的Create a visualization按钮。image.png选择Pie。images/tutorial-...
2020-01-15 19:31:34
582
原创 kibana---timelion
Timelion入门源文:https://segmentfault.com/a/1190000016679290Timelion使你可以轻松获得以下问题的答案:随着时间的推移,每个唯一的用户会查看多少个页面? 这个星期五和上周五之间的交通量有什么不同? 今天有多少日本人口来到我的网站? 标准普尔500指数的10日均线是多少? 过去两年收到的所有搜索请求的累计总和是多少?创建...
2019-12-23 21:39:13
809
原创 精尖版:spring aop execution的常用语法
execution(public * *(..)) 任意公共方法的执行;execution(* set*(..)) 任何一个以“set”开始的方法的执行;execution(* com.xyz.service.AccountService.*(..)) AccountService接口的任意方法的执行;execution(* com.xyz.service.*.*(..)) 定义...
2019-12-13 18:51:52
199
原创 Kibana多用户创建及角色权限控制
1 介绍ELK日志管理属于基础设施平台,接入多个应用系统是正常现象,如果接入多个系统的索引文件没有进行权限划分,那么很大程度会出现索引文件误处理现象,为了避免这种情况发生,多用户及权限设置必不可少。通过Filebeat采集应用日志,发送到redis(或者kafka),通过在filebeat.yml中设置fields.log_type属性来确定是哪个应用生成的日志文件,然后在logstash...
2019-12-13 17:53:53
3470
原创 Logback日志自定义配置
Logback日志自定义配置即便如此,还是有很多想要的东西显示不了,这时就可自定义配置。比如我希望每条日志有个uuid类型的id,希望每条日志能打印ip地址一、新建两个配置类,重写convert方法package cn.jiashubing.config.logback;import ch.qos.logback.classic.pattern.ClassicConverte...
2019-12-11 18:31:48
472
原创 logback pattern配置及详解
<encoder>:负责两件事:一是把日志信息转换成字节数组,二是把字节数组写入到输出流。目前PatternLayoutEncoder是唯一有用的且默认的encoder,有一个<pattern>节点,用来设置日志的输入格式。使用“%”加“转换符”方式,如果要输出“%”,则必须用“\”对“\%”进行转义。例如:Xml代码<encoder&...
2019-12-11 17:39:38
32100
1
原创 MySQL最简单的split函数
SUBSTRING_INDEXsource: 源字符串target: 分割字符串index: 获取哪几个1:前一个;2:前两个;-1:最后一个;-2最后两个第一个select SUBSTRING_INDEX('name=liwenguang&psw=xxx&src=www.liwengaung.cn','&', 1)第二个: 组合使用实现...
2019-12-11 12:32:12
37220
原创 启动,ps,停止应用程序shell脚本
启动(后台):应用正常,错误日志均不保存 (详见:https://blog.youkuaiyun.com/snail_bi/article/details/103487912)/data/filebeat/filebeat-6.6.2-linux-x86_64/filebeat -e -c /data/filebeat/filebeat-6.6.2-linux-x86_64/filebeat.yml &g...
2019-12-11 10:51:47
566
原创 Linux shell标准输入,标准输出,错误输出
sudo kill -9 `ps -elf |grep -v grep|grep $1|awk '{print $4}'` 1>/dev/null 2>/dev/null/dev/null 代表空设备文件: 意思是:不输出command < filename 把标准输入重定向到filename文件中command 0...
2019-12-11 10:27:32
575
原创 Filebeat的配置参考
指定要运行的模块 前提: 在运行Filebeat模块之前,需要安装并配置Elastic堆栈: 安装Ingest Node GeoIP和User Agent插件。这些插件需要捕获示例仪表板中可用的某些可视化所使用的地理位置和浏览器信息。您可以通过在Elasticsearch主路径中运行以下命令来安装这些插件: sudo bin/e...
2019-12-10 21:01:18
2919
原创 zkCli.sh zk客户端
通过zkCli.sh连接zookeeper服务连接本机zookeeper服务,执行:./zkCli.sh连接远程zookeeper服务,跟上参数:./zkCli.sh -server ip:port查看所有目录: ls /查看具体目录下的内容: ls /elk_log在命令行输入:help查看命令列表[zk: localhost:2181(CONN...
2019-12-09 18:16:54
306
原创 brew安装
brew安装2019.05.18 16:31:48字数 97阅读 2,457MacOS上的包管理工具。类似RHEL/CentOS上的yum或者Ubuntu上的apt-get一样。一、前置条件brew是ruby开发的,需要确认ruby是否已安装,缺省状况下是已经安装的。which rubyruby -v二、安装ruby -e "$(curl -fsSL https://...
2019-12-03 09:23:34
311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人