自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程通信之wait()-notify()

线程通信之wait()-notify() 线程通信的目标是使线程间能够互相发送信号。另一方面,线程通信使线程能够等待其他线程的信号。 例如,线程B可以等待线程A的一个信号,这个信号会通知线程B数据已经准备好了。 Object提供的wait()和notify() wait,notify,notifyAll 是定义在Object类的实例方法,用于控制线程状态。 wait()方法 表示持有对象锁的...

2019-12-31 09:33:06 892

原创 自定义实现的布隆过滤器

自定义实现的布隆过滤器 布隆过滤器是一种检索一个元素是否在一个集合中的算法,它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率。 它能准确判断一个元素不在集合中,大概率判断一个元素在集合中。 基本原理 布隆过滤器数据结构布隆过滤器是一个 bit 向量或者说 bit 数组,长这样: 如果我们要映射一个值到布隆过滤器中,我们需要使用多个不同的哈希函数生成多个哈希值,并对每个...

2019-12-30 09:20:47 1132

原创 占位符工具

起源 最近开源了个监控小工具,有网友在使用过程中提出了监控日志文件的时候,日志文件名有日期在其中,而且是当天的日期。所以希望能增加占位符标识当天日期。 于是写了个占位符小工具。支持普通字符和日期(增减)占位,适合一些模板解析的时候用。 代码实现 测试效果 更多日期格式请参考DateTimeFormater 更多日期增减单位请参考ChronoUnit 代码可以在Github上找到 本文来自...

2019-12-26 15:30:37 1026

原创 造个轮子-HashMap

造个轮子-HashMap 发现自己对看源码特别痛苦,而且看了就忘。有必要按照源码已有的功能需求按照自己的想法去写一个轮子,然后比对着看才能理解。 需求分析 hashMap功能很多,结构为数组 链表(暂时忽略红黑树),准备就写两个基本功能: put存数:懒加载数组,到达阈值(负载因子0.75)扩容,hash冲突开始链表模式。 get取数:能在hash冲突的情况下取出正确的数。 我就...

2019-12-26 11:53:58 872

原创 lite-monitor 一款基于shell命令的监控系统

介绍 lite-monitor 一款基于shell命令的监控系统,可以根据项目中输出的日志定时输出或者统计输出,并发送钉钉机器人报警消息。 lite-monitor能做什么: 定时监控某个服务进程是否还存在,不存在则钉钉告警。 定时统计近一段时间内具体日志文件中关键字出现的次数,并对次数做一个阈值比较,超出阈值则钉钉告警并输出日志。 进阶监控(qps/计算效率等)可以根据awk等命令自定义实现...

2019-12-23 17:58:58 1088

原创 制造一个轮子线程池

很早之前就看过线程池源码(知道大概的运行原理),但是只是知道怎么用,并没有深究。这次为了帮助自己深入理解线程池,决定手动写一个极简(陋)的线程池,顺便记录思考和造轮过程。 虽然不太可能和jdk自带的那么完美,但是该有的功能还是要有: - 新建线程池,有核心线程数和最大线程数,线程存活时间,队列 - 在线程池加入线程,当前线程数不超过核心线程数就新建线程,超过核心放队列,队列满了再新建线程,达到...

2019-12-12 10:24:20 854

原创 一致性hash应用-分表扩容

之前给项目里的一个5000多万的表做了水平分表,暂时容量还够,用的根据id一致性hash分了32个表,每个表大概百来万数据。虽然还不需要扩容,但是准备写个demo后续如果需要扩容可以参考 hash方法用的md5,虚拟节点每个表插入了128个,扩容的时候如果按照2的倍数扩大,迁移率每个表大概在0.5左右 用一个TreeMap存放虚拟节点 private static SortedM...

2019-12-12 10:22:48 2076 1

原创 运行时可增减的动态数据源

目前公司项目有个服务提供动态的指标计算,可查不同库配置不同sql或者代码,实时计算指标,本来数据源是需要重启配置的,想了下可以做成不重启就新增或者删除 设计:在mongodb中保存数据源信息,项目启动时加载到内存初始化数据源,运行时可动态的新增或者删除数据源不需要重启服务,暂时没有需求,后续需要的时候可以基于这个改造一下 动态数据源切换是基于springboot提供的AbstractRo...

2019-12-12 10:20:43 1160

原创 大于某个时间的正则表达式

最近想做一个监控,定时的几分钟或者几小时去某台机器拉取对应目录的日志,根据关键字统计出现次数,超出阈值则发送钉钉消息到群里。 本来很简单的一个需求,但是这个按照时间段去匹配日志有点烦。网上一查都说用sed,awk,试了下,sed方式必须两个时间点都出现在日志中,但是我这定时生成的时间格式,可能在日志中没有。awk的时间匹配就太慢了。。。还是想通过grep去实现,想了下可以通过时间正则匹配。写一个工...

2019-12-12 10:17:32 2590

原创 @Transactional 注解在多线程环境下不生效问题

@Transactional 注解在多线程环境下不生效问题 直接上代码 package com.linzi.risk.indicator.service.impl; import com.linzi.risk.common.utils.threadpool.ThreadPoolManager; import com.linzi.risk.indicator.dao.AsyncCommandDao...

2018-10-11 15:48:00 11340 1

原创 Jackson解析json字符串问题记录

今天做一个简单的http的post提交,用@RequestBody来解析json参数,转为一个对象,发现对象属性如果是cName,这样的单字母小写开头+大写字母为第二个的属性,会有一个小问题,下面做个小demo记录下。 1.我们有个数据库表stu,字段分别是name,c_name,cc_name,按照正常的驼峰规则生成实体类 public class Stu { private S...

2018-09-06 16:38:04 1307 3

空空如也

空空如也

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

TA关注的人

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