自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (30)
  • 收藏
  • 关注

转载 Java操作ElasticSearch,实现SimHash比较文章相似度

最后是ES查询逻辑,根据传入的SimHash,先使用ES找到至少一组SimHash相等的文档,然后在Java代码中比较剩下三组是否满足要求。说干就干,以下是我的实现代码,基于网上已有的算法进行了一些修改,总之给大家抛砖引玉了,如果有做的不好的地方还请大家指出。3、需要查询一篇文章的相似文章时,根据文章ID查到SimHash值,再去ES查询匹配的其它文章ID,不过这里。4、需要查询一篇文章的相似文章时,根据文章ID,查询结果表,找到相似文章。总之我把我的思路分享给大家,可能我代码写的比较烂,还请大家指点。

2024-02-04 20:17:57 215

转载 详解设备指纹核心算法

随着系统的不断更新迭代,加之与黑灰产的对抗逐渐白热化,各种作弊手段和工具的出现,设备上的各种参数都可以被篡改和伪造,通过一键抹机,变成一台新的设备,这就影响了对设备唯一标识的效果。稳定性计算逻辑是通过采集到的数据,构建多维度的设备画像,每次设备重新上报数据后,通过算法匹配到最相近的设备,如果找到则使用找到的设备指纹,反之则生成新的设备指纹。首先,就算法更新而言,日常的异常数据的检测仅靠应用是不够的,需要离线仓库定期分析当前的数据,对出现的异常特征可以及时发现并提取出来,然后反馈给线上进行算法优化。

2024-02-01 22:13:49 62

原创 多线程对全局Map做computeIfAbsent()引发的线程问题

多线程对全局Map做computeIfAbsent()引发的线程问题

2024-01-22 10:31:27 380

原创 由jar包冲突导致的logback日志不输出

由jar包冲突导致的logback日志不输出

2024-01-12 11:47:32 623

原创 记一次生产问题---Zookeeper之Watcher监听事件丢失分析

生产环境两个人前后一秒分别操作,一个人新增参数,一个人修改规则。侦测引擎子系统未读取到参数缓存,报空指针异常。侦测引擎 参数、规则、事件 在后管配置,配置后通过zookeeper监听机制,侦测引擎子系统去刷新缓存。

2023-12-20 21:04:27 78

原创 又一个kafka老大难问题--消费一段时间开始堆积

于是上该集群查看所有consumer,该集群上除了我这个消费组为zk方式(基于zk记录offset)消费,其他消费组均为kf方式(基于consumer_offset记录位移)。接到需求需要消费一个新集群kfk(版本0.11.0.0)的一个topic的消费。于是手动调整消费线程处罚rebalance,观察发现又可以消费了。但是过了1天又开始积压。将消费方式修改为 kf方式,测试环境模拟抛出生产级别数据测试,么有出现积压。如果你也遇到kfk消费者处理性能很好,但是仍然存在堆积的情况,不妨试试换一种消费方式。

2023-08-26 12:48:11 200

原创 34亿的mysql表如何优雅的扩字段长度兵并归档重建

34亿的mysql表如何优雅的扩字段长度兵并归档重建

2023-08-26 09:31:22 575

原创 Kafka某Topic的部分partition无法消费问题

今天同事反馈有个topic出现积压。于是上kfk管理平台查看该topic对应的group。发现6个分区中有2个不消费,另外4个消费也较慢,总体lag在增长。查看服务器日志,日志中有rebalance 12 retry。Exception,之后改消费线程停止。于是分析代码,将每个处理逻辑加上耗时日志,分析发现又是hbase写入耗时达到3秒。于是将hbase写入开关关闭。重新运行后,消费正常。

2023-06-04 21:33:08 2742

原创 记一次kafka堆积问题

今日下午收到短信告警有个topic的lag数100w,上生产环境查看kafka'集群消费组性能,lag数确实达到了100多w,而且各partition的lag还在增加。于是将对应war日志修改为INFO级别打印kfk处理各步骤的耗时,发现hbase写入性能异常,单条写入耗时达到1000ms 导致topic中消息无法及时消费,导致了积压。需要对consumer程序处理的各步骤进行分析定位,找出具体影响点,才能解决问题。联系hbase集群运维人员,经过定位是批量任务大量写入小文件,导致hbase集群性能异常。

2023-06-04 21:03:09 236

原创 mysql load data infile含有自动增量主键

网上很容易找到lmysql load data infile 如:load data infile '/tmp/20230525/xx01db_xxData.txt' into table temp_updateprd_data fields terminated by ',' ,但是如果id为自增主键则执行报错。二、 登陆额度数据库服务器,并将个人网贷提供的两个数据文件上传至/tmp/20230525/目录,并导入到临时刷数表中。输入密码(xxxxx123456;登陆mysq root用户。

2023-05-23 15:34:00 410

原创 【算法】最容易懂得的红黑树

红黑树是一个平衡的二叉树,但不是一个完美的平衡二叉树。虽然我们希望一个所有查找都能在~lgN次比较内结束,但是这样在动态插入中保持树的完美平衡代价太高,所以,我们稍微放松逛一下限制,希望找到一个能在对数时间内完成查找的数据结构。这个时候,红黑树站了出来。

2023-04-25 10:21:26 2596 1

原创 由一次fullgc引起的RPC调用超时

公司的联机RPC服务是一个类似Dubbo的服务,默认是的垃圾回收器是CMS。一天上游系统说发现多笔调用我们RPC服务超时。于是根据对方提供信息查看日志,发现请求虽然在合理时间处理完了。但是开始处理时间和上游业务系统请求时间存在时间差,相差10秒左右。于是查看服务日志,发现有一个节点日志有30秒左右没有输出日志。然后查下gc日志,发现了这个时间点发生了一次30秒左右的fullgc。进而分析了历史fullgc记录,发现服务10天左右发生一次fullgc,每次时间在15秒。因为堆内存设置了4G,这个f

2023-04-22 10:09:24 140

原创 自己实现springioc源码(2)-解决循环依赖问题

/单例对象,就存放半成品类型public static Map singletonObjects = new HashMap();其实使用一级缓存也可以搞定,但是可是放到多线程的环境中,可能就会出现空指针问题。线程1刚把半成品a放入到缓存中,还未来得及将b注入进去。此时线程2直接在缓存中获取到了a,在尝试调用其所依赖的b的任何方法时,就会出现空指针异常。

2023-03-26 21:06:20 94

原创 Spring容器启动初始化步骤简单介绍

前面文章已经介绍如何自己实现一个简单的springIoc容器。那么下面来了解spring是如何做的。Spring的启动主要包括register() 注册配置类 BeanDefinition 到容器 和 refresh()加载或者刷新容器中的Bean 两个步骤。

2023-03-18 11:32:44 155

原创 记录一次生产应用启动后发生多次FullGc的解决过程

昨天生产发布完后,收到告警短信5分钟内FullGc次数大于2次。当时一脸懵,应用上线前做过压力测试,没测出jvm fullgc问题啊。所以按照告警时间去查日志,发现基本为spring初始化动作。后面过了半个小时也没有收到告警,基本猜测是meta区的问题下面是定位过程。

2023-03-17 17:44:14 828

原创 自己动手实现简单spring事物源码

我们先说第一个问题,因为是我们自己模拟,所以关于切点的定义我们就设置的尽量简单一些,不妨就直接指定某个包下的所有类。对于第二个问题,我们也不做的过于复杂,在方法执行前开启事务,在方法执行后提交事务并关闭连接,所以我们需要定义一个环绕通知。同时,我们也需要将连接跟事务同步,保证事务中的所有SQL共用一个事务是实现事务管理的必要条件。基于此,我们开始编写代码。通知要实现什么功能?实际需要事务管理的类。

2023-03-09 10:02:35 69

原创 spring事物源码分析

今天的任务是剖析源码,看看Spring 是怎么运行事务的,并且是基于当前最流行的SpringBoot。

2023-03-08 15:43:41 374

原创 手写Spring(一)实现简单IOC

2. Spring容器,就是Spring帮忙管理类(JavaBean),我们先写一个简单的单例容器,Bean的配置写在配置文件(applicationContext.properties)中,要根据名字获取一个bean,就需要用到工厂,当工厂被实例化时,就会用资源加载器,去反射创建bean(也就是beanDefinition),然后存入beanDefinitionMap。1.IOC:控制反转,将 bean的对象交给 spring容器来管理。2.DI:依赖注入,解决对象之间的依赖关系。

2023-03-04 16:32:42 115

原创 netty中责任连模式浅析

netty中的责任连模式

2022-10-22 15:02:03 119

原创 面试前必须要知道的Redis面试题

今天来分享一下Redis几道常见的面试题: 如何解决缓存雪崩? 如何解决缓存穿透? 如何保证缓存与数据库双写时一致的问题? 一、缓存雪崩1.1 什么是缓存雪崩?回顾一下我们为什么要用缓存(Redis):为什么要缓存现在有个问题,如果我们的缓存挂掉了,这意味着我们的全部请求都跑去数据库了。如果缓存挂掉了,全部请求跑去数据库了在前面学习我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设置过期时间,并采用的是

2022-04-27 19:15:04 194

原创 使用redis实现幂等

以上幂等性数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据 token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断token 悲观锁或者乐观锁,悲观锁可以保证每次for update的时候其他sql无法update数据(在数据库引擎是innodb的时候,select的条件必须是唯一索引,防止锁全表) 先查询后判断,首先通过查询数据库是否存在数据,如果存在证明已经请求..

2022-04-10 22:22:53 1784

原创 Redis 分布式锁实现

谈起redis锁,下面三个,算是出现最多的高频词汇:setnxredLockredissonsetnx其实目前通常所说的setnx命令,并非单指redis的setnx key value这条命令。一般代指redis中对set命令加上nx参数进行使用, set这个命令,目前已经支持这么多参数可选:SET key value [EX seconds|PX milliseconds] [NX|XX] [KEEPTTL]当然了,就不在文章中默写Api了,基础参数还有不清晰的,可以蹦到官网。

2022-04-10 10:09:27 211

原创 记一次错误使用雪花算法引起的数据库主键冲突和解决时钟回拨问题

雪花算法引起的数据库主键冲突和解决时钟回拨问题

2022-04-09 22:41:17 2926 1

原创 ES集群规划、集群搭建、集群管理

ES集群规划、集群搭建、集群管理

2022-03-25 09:29:02 4338 1

原创 win10安装mysql8.xx

mysql8 win10安装

2022-03-19 16:38:02 1493

转载 阿里为什么不用zookeeper做服务发现?

来源以及完整的文章:阿里巴巴为什么不用 ZooKeeper 做服务发现?-阿里云开发者社区注册中心需求分析及关键设计考量接下来,让我们回归对服务发现的需求分析,结合阿里巴巴在关键场景上的实践,来一一分析,一起探讨为何说 ZooKeeper 并不是最合适的注册中心解决方案。注册中心是 CP 还是 AP 系统?CAP 和 BASE 理论相信读者都已经耳熟能详,其业已成了指导分布式系统及互联网应用构建的关键原则之一,在此不再赘述其理论(CAP以及BASE理论),我们直接..

2022-03-18 22:53:49 243

原创 peer bpmn-js@“^3.x || ^4.x || ^5.x || ^6.x || ^7.x“ from [email protected] 报错解决

peer bpmn-js@"^3.x || ^4.x || ^5.x || ^6.x || ^7.x" from [email protected]

2022-02-05 22:06:11 2186 1

原创 nodejs环境安装

使用vue,安装nodejs是基础,记录一下安装步骤1.下载下载地址:https://nodejs.org/en/download/2.安装:1.下载完之后,双击打开:cancel继续2.点击next开始安装3.选择"接受按钮",cancel进行下一步4.选择安装路径5.安装你需要的模式6.开始安装install7.完成finish安装完之后打开终端 window+Rcmd 回车;输入命令:“node -v” 查看版本号C:\Users\1811197

2022-02-03 10:31:02 808

原创 Caused by:java.lang.NoSuchMethodException:xxx.xxx.类名.<init>()

调用 cls.newInstance()方法时报错:Caused by:java.lang.NoSuchMethodException:xxx.xxx.类名.<init>()xxxxxx这是因为xxx.xxx.类名类写了有参构造,那么一定要写上无参构造。如果一个类没有写有参构造,那么无参构造可以不写。类默认有无参构造,可以不写。...

2021-12-15 10:16:34 592

原创 Committing is not possible because you have unmerged files.解决

idea上提交代码报错,Committing is not possible because you have unmerged files.本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。解决:1.将本地的冲突文件冲掉,不仅需要reset到MERGE.

2021-11-24 14:14:54 3547

原创 linux(rh6.3)下nodejs(14.17)环境安装出错

[root@csidisssitapp16 bin]# ./npm -vnode: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by node)node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by no.

2021-09-10 11:29:29 630

原创 JAVA Ftpclent将一个FTP中的文件直接上传到另一个FTP

JAVA Ftpclent将一个FTP中的文件直接上传到另一个FTP,支持多文件。修改多文件时,输出流第二次为空问题解决Docker环境中storeFileStream 为空的问题.由于是片段代码,大家拿去时考虑异常处理。有问题可以留言咨询。import org.apache.hadoop.hbase.shaded.org.apache.commons.net.ftp.FTPClient;public class FtpUtil { public static String rea

2021-09-09 11:53:17 955

原创 linux部署nodejs环境

首先去https://nodejs.org/en/download/current/下载选Linux Binaries (x64) 64bit版本然后、上传到linux相关路径下,一般是/usr/local/,并执行如下命令 xz -d node-xxxx.tar.xz ---将tar.xz解压成tar文件 tar -xvf node-xxxx.tar ---将tar文件解压成文件夹 mv node-xxx node ----改文件夹的名字,改成node装完后验证...

2021-09-02 22:16:21 131

原创 Command execution failed.:Cannot run program “npm“

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (exec-npm-install) on project streamx-console-webapp: Command execution failed.:Cannot run program "npm" (in directory "E:\Flink\code\streamx-main\streamx-console\streamx-conso.

2021-08-17 22:33:02 2058

原创 Flink的几种监控方案以及对比

目录1,利用 API 获取监控数据2,reporter 去上报监控数据,比如 JMXReporter、PrometheusReporter、PrometheusPushGatewayReporter、InfluxDBReporter、StatsDReporter 等1,利用 API 获取监控数据利用 Flink UI 提供的接口去定时获取到监控数据,相关 Rest API 可以查看官网链接:rest-api-integration2,reporter 去上报监控数据,比如 JMXR.

2021-08-17 11:35:30 1186

原创 Flink集群部署模式对比

1. Session模式该模式下,作业共享集群资源,作业通过Http协议进行提交。在Flink 1.10版本中提供了3种会话模式:Yarn会话模式、K8s会话模式、Standalone。Standalone模式比较特别,Flink安装在物理机上,不能像在资源集群上一样,可以随时启动一个新集群,所有的作业共享Standalone集群,本质上就是一种Session模式,所以不支持Per-Job模式。在Session模式下,Yarn作业提交使用yarn-session.sh脚本,K8s作业提交使用ku

2021-08-11 10:12:55 1138

原创 为什么我要选择 Spark on K8s?Spark On K8S与Spark On YARN方案相比之劣势

目前,存算分离的方案相对已经比较成熟,容器化方案还处于探索和小规模应用阶段,以 Spark 为例,方案大体上分为 2 种:一种是 Spark Standalone,该方案仅对大数据系统做容器化部署改造,得益于容器轻量化、更细粒度的算力管理、任务隔离等特点,可以将主机划分成更多小颗粒的任务单元,使主机资源利用率更高,同时兼顾用户原有的使用习惯。但此方案需要提前分配固定的容器数量,并保持容器的持续运行,无法对容器进行动态管理,资源的利用率虽然有所提升,但仍存在浪费。另一种是 Spark On Kub

2021-08-09 09:44:28 536

转载 DataStream的各类算子的介绍

读完Flink原理、实战与性能优化 这本书后,对各类算子的联合使用还不是很清楚。看到这篇文章写得比较清晰于是转载出来。一、Map:对数据进行逐个遍历,常用作对数据集内数据的清洗和转换input.print(); SingleOutputStreamOperator<Tuple2<String, Integer>> map = input.map(new MapFunction<String, Tuple2<String, Integer>>() ..

2021-07-08 10:17:35 420

原创 Flink数据源DataSource读取的几种方式

case class SensorReading( id: String, timestamp: Long, temperature: Double )object SourceTest { def main(args: Array[String]): Unit = { // 创建执行环境 val env = StreamExecutionEnvironment.getExecutionEnvironment env.setParallelism(1) // 1..

2021-04-18 16:41:21 613

原创 windows上flink环境搭建

windows搭建比较简单可以参考下面两篇文章。注意版本,我本机用的版本的是flink-1.9.3,有bat可以直接启动https://my.oschina.net/wangzonghui/blog/3158877https://www.aboutyun.com/thread-29293-1-1.html

2021-04-18 16:39:35 218

libstdc++6-4.8-dbg_4.8.4-1_amd64.deb

libstdc++6-4.8-dbg_4.8.4-1_amd64.deb

2021-09-10

libstdc++6-4.8-dbg_4.8.4-1_i386.deb

libstdc++6-4.8-dbg_4.8.4-1_i386.deb

2021-09-10

手机imsi号归属地库

通过ismi前7位定位归属地,可用做简单归属地查询库,共31万条号码归属地数据。 INSERT INTO `tab_imsi` VALUES ('1', '0771', '广西 南宁市', '1330000', '电信CDMA卡', '530000'); INSERT INTO `tab_imsi` VALUES ('2', '023', '重庆', '1330002', '电信CDMA卡', '400000'); INSERT INTO `tab_imsi` VALUES ('3', '023', '重庆', '1330003', '电信CDMA卡', '400000'); INSERT INTO `tab_imsi` VALUES ('4', '010', '北京', '1330010', '电信CDMA卡', '100000'); INSERT INTO `tab_imsi` VALUES ('5', '010', '北京', '1330011', '电信CDMA卡', '100000'); INSERT INTO `tab_imsi` VALUES ('6', '021', '上海', '1330018', '电信CDMA卡', '200000'); INSERT INTO `tab_imsi` VALUES ('7', '021', '上海', '1330019', '电信CDMA卡', '200000'); INSERT INTO `tab_imsi` VALUES ('8', '022', '天津', '1330033', '电信CDMA卡', '300000');

2020-07-17

mongodb集群安装配置.rar__123

mongodb三分片副本集集群配置 ,参考目录和配置文件参考。搭建参考文章https://blog.csdn.net/clz1314521/article/details/103205612

2019-11-28

gcc离线安装

gcc离线安装包 安装Redis时,需要使用gcc。如果系统是联网的,那么直接使用如下命令联网安装。 yum -y install gcc 但是如果系统不可联网,那么就需要一种离线安装的方式了。步骤如下:

2018-01-16

db2jcc.jar

支持jdk8的 db2jcc.jar ,db2jcc4.jar,解决 在装入驱动程序时发生了安全性异常。 ERRORCODE=4223, SQLSTATE=null

2017-11-10

用Python写网络爬虫PDF&源码

用Python写网络爬虫PDF&源码用Python写网络爬虫PDF&源码用Python写网络爬虫PDF&源码用Python写网络爬虫PDF&源码用Python写网络爬虫PDF&源码

2017-09-24

ojdbc14-10.2.0.4.0.jar

ojdbc14-10.2.0.4.0.jar

2016-08-14

ojdbc14-10.2.0.2.0.jar

ojdbc14-10.2.0.2.0.jar

2016-08-14

Windows版redis

redis-2.4.5-win32-win64

2016-05-15

Osworkflow教程

不错的Osworkflow教程

2012-02-05

语音信号处理 语音信号处理 语音信号处理

语音信号处理 语音信号处理 语音信号处理

2010-08-28

QuartetSrc

QuartetSrc

2008-07-21

sql必知必会

本书是深受世界各地读者欢迎的SQL经典畅销书,内容丰富,文字简洁明快,针对Oracle、SQL Server、MySQL、DB2、Sybase、PostgreSQL、Access等各种主流数据库提供了大量简明的实例。与其他同类图书不同,它没有过多阐述数据库基础理论,而是专门针对一线软件开发人员,直接从SQL SELECT开始,讲述实际工作环境中最常用和最必需的SQL知识,实用性极强。通过本书,读者能够从没有多少SQL经验的新手,迅速编写出世界级的SQL!<br>本书是麻省理工学院、伊利诺伊大学等众多大学的参考教材

2007-11-20

head first 设计模式英文(全)6

head first 设计模式英文(全)<br>我传了6份,因为csdn最多传每次传10m。而这个文件为50多m。<br>没办法。

2007-11-19

head first 设计模式英文(全)5

head first 设计模式英文(全)

2007-11-19

head first 设计模式英文(全)4

head first 设计模式英文(全)

2007-11-19

head first 设计模式英文(全)3

head first 设计模式英文(全)

2007-11-19

head first 设计模式英文(全)2

head first 设计模式英文(全)

2007-11-19

深入浅出设计模式2.rar中文版

深入浅出设计模式中文版第2章出来了,刚出炉的。还是热的

2007-09-05

javascript最经典入门教程

废话不多说。<br>绝对是好东西。<br>绝对对得起,经典两字。

2007-07-25

sql server数据库中数据生成sql脚本的工具

如果觉得好用,就留个言。<br>让我劳动得到一点回报。

2007-07-10

springinaction示例代码

springinaction中文版<br/>大家可以找我交流学习经验.

2007-06-19

head first design patterns电子版本(第2部分)

head first design patterns.pdf英文版.希望和同道们共同分享技术.一同进步.<br/>我的qq:383456113

2007-06-14

head first design patterns电子版本(第1部分)

head first design patterns.pdf英文版.希望和同道们共同分享技术.一同进步.<br/>我的qq:383456113

2007-06-14

head first design patterns中文版

head first design patterns.pdf相信大家都知道这本书.<br/>现在这本书的中文版出来.我这里是是试读版.不过是很清晰的.<br/>在此与大家分享.希望和同道们共同分享技术.一同进步.<br/>我的qq:383456113

2007-06-14

Ajax实现三级联动下拉框

Ajax实现的三级联动下拉框

2007-06-05

网上购物系统源码

本代码可以作为入门mvc经典教程。也可以作为毕业设计使用。详情请联系qq:383456113或者邮箱[email protected]

2007-06-05

孙卫琴网上购物系统源码

本人自己实现好的java2级级联程序源码

2007-05-25

java2级级联程序源码

本人自己实现好的java2级级联程序源码

2007-05-25

空空如也

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

TA关注的人

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