自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(167)
  • 资源 (4)
  • 收藏
  • 关注

原创 java 的参数传递

经过change方法执行后,实参的值被改变了,那按照上面2.2的引用传递的定义,实际参数的值被改变了,这不就是引用传递了么。那根据上面的两段代码,可以得出新的结论:Java的方法中,在传递普通类型的时候是值传递,在传递对象类型的时候是引用传递,真的是这样吗?看到这里,同学对 1,2,4 的结果肯定是不会有疑问,可能会有一部分同学会对 3 的输出有些疑问,change方法不是对序列进行了倒排,为啥3 处mockList 的序列没变,如果有这个疑问的同学,那么你有必要要认真看下本文;

2023-05-03 22:07:05 3524 1

原创 jdk8到jdk17新特性 - 语法

现在大家普遍还是用的jdk8,最近兄弟部门升级到了jdk17,用了zgc之后,rt 99线下降了80ms+,所以总结一下jdk8 到 jdk17,在语法方面的内容,提前熟悉一下;

2023-04-10 18:40:59 1869

原创 Redis性能排查手册

在 Redis 的实际部署应用中,有一个非常严重的问题,那就是 Redis 突然变慢了。一旦出现这个问题,不仅会直接影响用户的使用体验,还可能会影响到“旁人”,也就是和 Redis 在同一个业务系统中的其他系统,比如说数据库。举个小例子,在秒杀场景下,一旦 Redis 变慢了,大量的用户下单请求就会被拖慢,也就是说,用户提交了下单申请,却没有收到任何响应,这会给用户带来非常糟糕的使用体验,甚至可能会导致用户流失。那么Redis突然变慢之后,一般出现的的原因有什么,以及我们应该怎么解决呢?

2023-02-20 20:30:25 566

原创 PushGateway + Prometheus + grafana 搭建应用监控demo

1、推送模式:Prometheus变相的实现了推送数据的方式。为什么说是变相呢。因为Prometheus获取数据的方式一直是拉取方式,官方并没有提供推送数据的功能。但是官方为了兼容推送这种方式,增加了一个PushGateway组件。这个组件相当于一个代理服务,独立部署。它没有数据抓取功能,只能被动的等待数据推送。应用把数据推送到PushGateway后,Prometheus再从PushGateway抓取。适用场景:Prometheus 采用定时拉取模式,可能由于子网络或者防火墙的原因,不能直接

2021-12-28 16:34:40 869

原创 NullPointerException 没有打印异常栈

今天在排查一个java.lang.NullPointerException 的问题的时候发现,这个异常抛出竟然没有详细的堆栈信息:如下:message: error: java.lang.NullPointerException: null查看这个空指针的错误数量,从16号开始到23号,有100多w,如下:但是这样没有堆栈信息,对于排查错误很不友好。通过查询知道这个是HotSpot VM的优化,叫做fast throw:有些特定的隐式异常类型(NullPointerException之类)如

2021-12-23 19:40:52 1307

原创 JVM频繁发生full GC 的情况

记录一些JVM频繁会发生full GC 的情况:1、System.gc()方法的调用此方法的调用是建议JVM进行Full GC,虽然只是建议而非一定,但很多情况下它会触发 Full GC,从而增加Full GC的频率,也即增加了间歇性停顿的次数。强烈影响系建议能不使用此方法就别使用,让虚拟机自己去管理它的内存,可通过通过-XX:+ DisableExplicitGC来禁止RMI调用System.gc。2、老年代空间不足老年代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行F

2021-09-02 17:26:23 1279

原创 docker容器挂载权限问题 导致日志文件不生成

1、出现问题新项目采用springboot2.3之后的自带打包方式打包成功后,启动发现目录文件里面没有日志生成logs 文件路径下没有日志生成。docker-compose.yaml 目录挂载如下:version: "3"services: dedupe: image: XXX container_name: dedupe environment: - TZ=Asia/Shanghai - LANG=zh_CN.UTF-8 - JA

2021-02-03 13:39:59 5556 1

原创 redis实现分布式锁 工具类

/** * @description: Redis 分布式锁 * @author: cy * @create: 2020-07-10 **/@Slf4j@Componentpublic class RedisLock { private final RedisTemplate<String, Object> redisTemplate; private final ThreadLocal<String> localKeys = new ThreadLocal

2021-01-11 16:06:11 1080 3

原创 ZooKeeper集群搭建

1.集群规划在hadoop1、hadoop2和hadoop3三个节点上部署Zookeeper。2.解压安装(1)解压Zookeeper安装包到/opt/module/目录下$ tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/(2)同步/opt/module/zookeeper-3.4.10目录内容到hadoop103、hadoop104$ xsync zookeeper-3.4.10/3.配置服务器编号(1)在/opt/module/zo

2020-10-20 14:55:16 207

原创 记一次线上OOM故障 Java heap space

1、发现问题早上测试环境一个应用机器容器 异常退出,然后开始排查问题,同时查看生产环境是否异常,发现生产程序正常运行,但是内存占用特别大,达到了70%,平时大部分时间保持在2,30%的水平,因为生产机器的性能比较好,配置比较高,所以内存70%是一个很大的数值了。初步怀疑是OOM问题,测试机由于内存比较小,所以导致异常的可能性非常大。2、确认问题重启测试环境,发现一开始正常,但是内存消费在10分钟之内上升很快,最终报了OOM堆溢出 java.lang.OutOfMemoryError: Java hea

2020-09-21 16:50:05 554

原创 Jprofiler连接远程JVM ,便于线上问题排查

1、下载Jprofiler官网地址因为我这边是windows 连接远程的centos的JVM,所以我这边下载windows 和linux的版本linux上下载:wget https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_11_0_2.tar.gzwindows的下载安装我就不写了,无脑式安装2、解压Jprofiler解压tar -zxvf jprofiler_linux_11_0_2.tar.gz

2020-06-28 10:58:19 3788 4

原创 nginx 解决504超时问题

问题发现最近在做文件解析服务的压测,发现jmeter 基本有所有的错误反馈都是504,大概有1%左右的请求报504。由于文件解析服务耗时相对比较长,所以导致等待超时。分析nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导致响应超时,例如程序需要执行90秒,而nginx最大响应等待时间为30秒,这样就会出现超时。通常有以下几种情况导致程序在处理大量数据,导致等待超时。程序中调用外部请求,而外部请求响应超时。连接数据库失败而没有停止,死循环重新连。出现这

2020-06-16 14:43:18 10743 1

原创 @Async 配合线程池的使用

一、编写线程池配置类@Configuration@EnableAsyncpublic class NlpThreadPoolConfig { private static final int CORE_POOL_SIZE = 10; private static final int MAX_POOL_SIZE = 20; private static final...

2020-01-21 16:24:00 4163

原创 CompletableFuture 使用记录

Java 8 有大量的新特性和增强如 Lambda 表达式,Streams,CompletableFuture等。CompletableFuture简介在Java中CompletableFuture用于异步编程,异步编程是编写非阻塞的代码,运行的任务在一个单独的线程,与主线程隔离,并且会通知主线程它的进度,成功或者失败。在这种方式中,主线程不会被阻塞,不需要一直等到子线程完成。主线程可以并行...

2020-01-19 17:56:05 615 2

原创 Linux的top命令详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,即可以不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和...

2020-01-17 09:41:37 282

原创 nginx 简单了解与安装

1、nginx是个啥nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。特性1)、反向代理首先先看一下什么事正向代理:用户主动去指定的网站访问,通过配置的代理服务器反向代理就是与正向代理相反的操作,暴露的是代理服务器的地址,隐藏真实服务器的IP2)、负载均衡增加服务器的数量,然...

2019-12-17 17:24:33 290

原创 PageRank算法

知道PageRank算法,其实是先知道TextRank算法,发现其是由PageRank算法演变而来,之前了解过,现在又回顾记忆一下。PageRank概述佩奇排名(PageRank),又称网页排名、谷歌左侧排名、PR,是Google公司所使用的对其搜索引擎搜索结果中的网页进行排名的一种算法。 佩奇排名本质上是一种以网页之间的超链接个数和质量作为主要因素粗略地分析网页的重要性的算法。目前很多重要的...

2019-10-11 09:22:44 699

原创 统计学习方法-李航 第四章 朴素贝叶斯法

朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。训练的时候,学习输入输出的联合概率分布;分类的时候,利用贝叶斯定理计算后验概率最大的输出。朴素贝叶斯法的学习与分类而条件概率分布条件概率分布参数数量是指数级的,也就是X和Y的组合很多,假设xj可能取值Sj个,Y可能取值有K个,那么参数的个数是参数个数特别地,取xj=S,那么参数个数为KSn,当维数n很大的时候,就会发生维数灾难...

2019-08-12 16:19:32 396

原创 BM25 文本相似度算法

BM25, 下一代的TF-IDF新版的lucence不再把TF-IDF作为默认的相关性算法,而是采用了BM25(BM是Best Matching的意思)。BM25是基于TF-IDF并做了改进的算法。BM25算法,通常用来作搜索相关性评分。一句话概况其主要思想:对Query进行语素解析,生成语素qi;然后,对于每个搜索结果D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进...

2019-07-11 13:32:30 3929

原创 统计学习方法-李航 第三章 K近邻法

简介K近邻 算法(KNN)是一种基本分类与回归方法,指从一个训练数据集中,找到相近的K个点,这K个实例多数属于某个类,就把输入实例分为这个类。特殊情况,当K=1时,称为最近邻算法。模型模型有3个要素距离度量方法k值的选择分类决策规则当3要素确定的时候,对任何实例(训练或输入),它所属的类都是确定的,相当于将特征空间分为一些子空间。距离度量方法当p=1时,为曼哈顿距离:...

2019-07-08 14:17:20 438

原创 统计学习方法-李航 第二章 感知机

《统计学习方法》第一篇博文,对应原著第二章,感知机, 通过对原著的理解,在加上自己的推导,后面有时间再加上代码的实现。感知机模型感知机是一个二类分类的线性模型,输入为实例的特征向量,输出为实例的类别,取+1和-1值。感知机的几何解释是,线性方程将特征空间划分为正负两个部分:这个平面(2维时退化为直线)称为分离超平面。学习策略假定数据集线性可分,我们希望找到一个合理的损失函数。...

2019-07-01 09:59:34 439

原创 NLP之BERT分类模型部署提供服务

在我们使用bert预分类模型微调之后(可以参考我前面写的文章),需要对项目进行支持,那就需要分类模型落地提供服务,这篇文章介绍python调用bert模型,提供服务。参考:https://github.com/xmxoxo/BERT-train2deploy1、转换模型在训练bert模型之后会得到一个output文件夹,里面是tf的checkout文件,模型是.ckpt的文件格式,文件比较大...

2019-06-27 11:09:16 7419 18

原创 Centos7 glibc库升级到2.23

注意:Centos 为了稳定使用的glibc版本通常比较低。而安装有些程序需要依赖新版本。升级glibc需要慎重,因很多人升级失败后导致系统不能用了。本人亲测,升级了多台机器,全部升级成功。glibc简介glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它...

2019-05-31 10:43:58 29879 34

原创 NLP之BERT中文文本分类超详细教程

bert模型是Google在2018年10月发布的语言表示模型,Bert在NLP领域横扫了11项任务的最优结果,可以说是现今最近NLP中最重要的突破。Bert模型的全称是Bidirectional Encoder Representations from Transformers,是通过训练Masked Language Model和预测下一句任务得到的模型。关于Bert具体训练的细节和更多的原...

2019-04-24 14:38:35 55854 82

原创 使用余弦相似度算法计算文本相似度

在求相似度的时候经常会有以下一些方法,1.基于词向量余弦相似度曼哈顿距离欧几里得距离明式距离(是前两种距离测度的推广),在极限情况下的距离是切比雪夫距离2.基于字符的编辑距离simhash共有字符数(有点类似 onehot 编码 ,直接统计两个文本的共有字符数,最 naive 的相似度算法了)3.基于概率统计的杰卡德相似系数4.基于词嵌入模型的word2ve...

2019-04-09 09:19:35 16018 2

原创 Idea连接远程调试

当项目部署到生产环境之后,如果出现一些问题,不调试一下,想找到这个问题简直就是噩梦,下面就是远程调试的大显身手的时候了。步骤一:在服务器开启调试,并且开发端口我使用的是docker-compose部署,添加的配置如下,jar部署和docker也是同理:version: '3'services: 你的docker服务名: image: 你的镜像地址 container_n...

2019-03-21 14:44:06 1672

原创 Kafka动态关闭、开启监听

在实际生产开发中经常会有这样的场景,因为某些场景需要暂时关闭kafka的监听,比如重刷缓存等,等刷好之后再度开启kafka监听,这里记录一下。一、首先在监听的地方,给监听加一个id。 public static final String KAFKA_LISTENER_ID = "KAFKA_ID"; @KafkaListener(id = KAFKA_LISTENER_ID,topics...

2019-02-25 15:23:47 8963 3

原创 Mysql远程定时备份数据

Mysql远程定时备份数据前提条件:首先在备份机上安装mysql的客户端,或者直接安装mysql也可以。开始备份1、 创建备份路径mkdir /data/backup/test/2、创建备份脚本vim backup.sh写入shell:mysqldump -h 需要备份数据库所在机器ip -u用户名 -p密码 备份的数据库名 --opt -Q -R --skip-lock...

2019-02-11 17:13:42 2757

原创 CentOS7设置时间同步

安装ntp服务的软件包sudo yum install ntp将ntp服务设置为缺省启动systemctl enable ntpd修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作sudo vi /etc/sysconfig/ntpd启动ntp服务sudo service ntpd restart将系统时区改为上海时间 (亦即...

2019-01-10 20:24:33 14176 4

原创 HanLP无法动态加载停用词,无法重载停用词的自定义处理

在使用HanLP框架的过程中,发现其内置的CoreStopWordDictionary类只有删除、添加方法,没有动态的重载。而项目的需求确实可以动态加载,用他内置的方法去全删掉,然后一个个添加,在直观上感觉没有那么优美。。。所以准备重新写一个服务在做停用词的加载。新建服务类:CoreStopwordService首先,HanLP的停用词记载是从其资源包中的stopword.txt下读取的数...

2018-12-24 14:17:52 3074

原创 Mysql数据库的Bigint字段值溢出问题

今天在处理文章去重的过程中,在把simhash计算出值放到mysql数据库的过程中发现hash字段值溢出的情况。在java程序中我的值是BigInteger类型的,数据库存放的字段也是bigint类型,这个按道理是可以存放的,百思不得其解,一直在原因。后面发现是数据库字段设置问题,即字段的有无符号问题。unsigned 既为非负数,用此类型可以增加数据长度!例如如果tinyint最大是...

2018-12-08 14:33:51 10416 1

原创 ArangoDB的ASL的常用操作

arangodb 的 AQL的简单 CURD 操作https://www.arangodb.org/3.3/AQL/ 阅读笔记1、插入数据单条插入INSERT { "name": "Ned", "surname": "Stark", "alive": true, "age": 41, "traits": [&quo

2018-12-01 15:21:59 1733

原创 keras的验证码识别实战

keras的验证码图像识别一、简介接触过机器学习的都应该知道,TensorFlow和keras的一个经典的入门例子就是MNIST的手写图片识别,具体内容是根据手写的0-9的图片,通过机器学习,最后能够得到手写图片的具体数字。MNIST手写例子请移步TensorFlow中文社区:http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.h...

2018-10-25 14:25:48 6055 7

原创 python的pandas使用入门

在处理语料的时候,由于之前的主要武器是java,而业务部门给的数据格式都是excel的,在用java处理的时候,尤为麻烦,还要用poi第三方jar。所幸python有pandas这个强大的库,所以必须要系统的看一下这个库的使用。pandas是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。1、使用pandas首先导入库import pand...

2018-09-21 15:23:52 485

原创 python的NumPy使用

Numpy 的主要用途是以数组的形式进行数据操作。 机器学习中大多数操作都是数学操作,而 Numpy 使这些操作变得简单!所以专门学习记录一下numpy是十分有必要的!1、导库使用numpy只需要在使用之前导入它的库:import numpy as np2、创建数组我们可以用numpy来创建一系列的数组:### 通过直接给出的数据创建数组,可以使用 list 或 tuple### ...

2018-09-21 11:29:25 1115

原创 python的matplotlib使用入门

在机器学习的结果分析,准确率和损失、数据分析上经常要用到图标显示,这里学习了一下python中经常使用的图表库,做一下记录。官网:https://matplotlib.org/各个模型缩略图:https://matplotlib.org/gallery.htmlmatplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也...

2018-09-20 11:25:46 482

原创 TensorFlow之tf.keras的文本分类

这段时间在学习TensorFlow,这些都是一些官网上的例子,在这里和大家分享记录一下。出自:https://www.tensorflow.org/tutorials/keras/basic_text_classification此教程使用评论文本将电影评论分类为正面或负面。这是二元或两类分类的一个例子,这是一种重要且广泛适用的机器学习问题。我们将使用包含来自Internet电影数据库的...

2018-09-19 14:04:26 2207

原创 TensorFlow之tf.keras的基础分类

这段时间在学习TensorFlow,这些都是一些官网上的例子,在这里和大家分享记录一下。出自:https://www.tensorflow.org/tutorials/keras/basic_classification本指南训练神经网络模型,对运动鞋和衬衫等服装图像进行分类。如果您不了解所有细节,这是可以的,这是一个完整的TensorFlow程序的快节奏概述,详细解释了我们的细节。本指...

2018-09-18 17:16:23 13609 4

原创 NLP关键字提取之TF-IDF算法

最近在看关键字提取的算法,之前看了hanlp的textrank算法,今天看了下tf-idf算法,这两个算法都比较简单,优缺点也很明显,主要都是通过词频来统计的。这个算法主要是参考了TF-IDF与余弦相似性的应用(一):自动提取关键词有一篇很长的文章,我要用计算机提取它的关键词(Automatic Keyphrase extraction),完全不加以人工干预,请问怎样才能正确做到?这个问题...

2018-09-13 11:20:40 21130 2

原创 NLP关键字提取之TextRank算法

今天看了一下HanLP框架的关键字提取的算法,总的来说很简单,就是互相计算词频的一个算法。谈起自动摘要算法,常见的并且最易实现的当属TF-IDF,但是感觉TF-IDF效果一般,不如TextRank好。TextRank是在Google的PageRank算法启发下,针对文本里的句子设计的权重算法,目标是自动摘要。它利用投票的原理,让每一个单词给它的邻居(术语称窗口)投赞成票,票的权重取...

2018-09-06 14:26:53 2729

diff-match-patch-master.zip

diff-match-patch

2021-05-26

最全的算法版本停用词

最全的算法版本停用词

2021-01-11

cs224n:NLP视频中文字幕18集全集

包含全套的CS224n 斯坦福深度自然语言处理课 Christopher Manning/ Richard Socher 领衔主讲

2018-11-30

jQuery EasyUI 1.4.5 版 API 中文版 开发文档

jQuery EasyUI 1.4.5 版 API 中文版,这个是easyUI的帮助手册开发文档

2017-08-09

空空如也

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

TA关注的人

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