- 博客(47)
- 资源 (8)
- 收藏
- 关注
原创 关于Java CyclicBarrier reset的理解
(2)CyclicBarrier初始化时配置的Runnable(barrierAction),会在所有线程突破屏障后,由最后一个到达的线程去执行,这就解释了为什么第一次没有线程抛BrokenBarrierException,而后每次都另外2个线程抛出异常。(1)执行reset时,如果有线程正在等待屏障,则此线程会抛出BrokenBarrierException。(3)在循环中时不必调用reset,一般情况下也用不到此方法。3、在stackoverflow中发现了相同的问题。2、执行后产生了如下结果。
2023-10-04 16:53:47 223
原创 清空正在写入的文件与文件空洞
清空正在写入的文件可以采用以下3中方式但是此文件在清空后仍然不断被写入,经过测试出现了以下问题:1、清空后如果暂时不写入,使用ls和du查看文件大小都为02、如果继续写入,则ls查看到的文件大小,比du查看到的大很多,ls查看的结果是清空前大小的继续累加3、出现上述问题的原因是通过之前的3种方法清空正在写入的文件出现了“文件空洞”4、文件空洞不占用磁盘物理空间,但是会体现在逻辑空间中。
2023-09-09 17:41:04 353
转载 javaweb、spring、springmvc和springboot有什么区别,都是做什么用的?
javaweb、spring、springmvc、springboot
2022-06-21 23:40:34 401
原创 Confused about stdin, stdout and stderr?
Confused about stdin, stdout and stderr?
2021-07-07 20:02:51 91
原创 grafana在图表中修改metric的名称
当遇到想在图表中metric的名称比较抽象,不利于展示的问题时,如果metric的类型比较少,可以使用sql中的if语句重命名对应的metric,如下所示:SELECT UNIX_TIMESTAMP(date) as time, number as value, if(key="1111","google",if(key="2222","ibm",other")) as metricFROM table_nameORDER BY date ASC这样就能办抽象的1111和2222展
2021-06-28 15:04:17 4101
原创 mac 10.15.7 Catalina环境中配置php的xdebug、redis扩展
背景由于mac系统升级到了最新版本,在配置php扩展包时遇到了很多问题,现在将几个关键的步骤记录如下:不要用mac自带的php,因为10.15的系统做了一些修改并增加了某些目录的写入权限,导致配置过程有很多坑,首先要做的是使用brew自行安装php安装xcodexcode-select --install # 安装 Xcode Command Line Tools切换brew源为国内源cd "$(brew --repo)"git remote set-url origin https:/
2021-01-05 11:21:35 329
原创 Log4j配置文件理解
1、如果不指定配置,log4j会加载默认的配置文件,默认的日志级别是error,且默认打印到Console中,默认配置如下:<?xml version="1.0" encoding="UTF-8"?><Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d
2020-12-11 18:02:00 219
原创 tflite模型部署为服务
背景:在使用albert_zh模型完成文本分类训练后,发现其并没有解决bert推理消耗资源的问题(cpu环境中的问题,gpu环境会好很多),后续尝试了tflite量化模型文件,发现可以减少模型大小为原来的1/2甚至1/4,但是依旧无法提升推理效率。此篇文章记录tflite量化后的模型如何部署为服务。1、使用上述bert模型微调后会生成一个output文件夹,其中包括模型的ckpt文件,参考Save and Restore a tf.estimator for inference可以生成saved_m
2020-11-19 17:49:42 465 2
原创 编译tensorflow1.15.4,使其支持AVX2 和 FMA
编译过程参考以下3篇文章就够了,19款macbook pro i5 4 核大概编译4个小时左右1、在 macOS 上编译 Tensorflow 以开启 AVX2 和 FMA2、C++ compilation of rule '//tensorflow/python:bfloat16_lib' failed (Exit 1) tensorflow/python/lib/core/bfloat16.cc #410613、从源代码构建...
2020-11-06 14:22:03 667
原创 gunicorn 几种工作模式的介绍和对比
1、Brief introduction about the types of worker in gunicorn and respective suitable scenario
2020-10-29 14:16:18 1052
原创 python单进程cpu使用率超过100%的问题
背景在使用python flask部署模型api时,发现单个进程的cpu使用率能达到500%左右,超过了100%原因python的GIL锁仅针对纯python代码有效,例如:Python interpreters uses up to 130% of my CPU. How is that possible?使用如下的纯python代码,多线程cpu使用率不会超过100%(实测最多101%)import threadingimport timedef f(): while 1:
2020-10-16 17:51:20 5563
原创 pip is configured with locations that require TLS/SSL
centos中python3.4升级到python3.7后使用pip3安装包遇到ssl报错的问题,原因以及解决办法如下链接
2020-09-22 18:06:19 159
原创 文本分类特征的选取
一、基本概念自然语言处理(NLP)策略、机器学习(深度学习)相比较基于策略的文本分类方法要求我们得尽量搞清楚影响问题的所有因素的细节,如果问题越来越复杂,手动地制定规则就变得非常困难;机器学习和深度学习可以从样本中学习到更加深层次的内容(知识,规则),同时我们可以通过调整特征和参数不断优化模型的效果。精确率、准确率、召回率二、文本特征选取文本处理的第一步一般是要做分词(也有部分文本处理算法不需要做分词,这里不做讨论),这里介绍两个分词工具,其中最常用的是jieba,两者有很多相似的地方。
2020-07-19 16:42:07 533
原创 记录一次jvm内存分析
背景一个线上应用长期占用10G左右的内存(服务器内存128G),该业务逻辑比较简单,共启用了10个线程处理上游数据,然后写入kafka,加上10个kafka producer线程,主要工作的共20个线程,考虑到数据虽然比较大,但是不至于长期占用这么大的内存,考虑对内存做一下分析。分析方法查看当前占用内存最多且存活的前20个类,未发现和业务相关的异常类。jmap -histo:live &l...
2020-04-21 19:09:01 650
原创 python requests连接池
1、下面两种方法是相同的,requests都会默认建立10个连接数上限制是10的连接池import requests#方法1s = requests.Session()s.get('https://www.baidu.com')#方法2requests.get('https://www.baidu.com')2、其中涉及到的几个参数pool_connections=D...
2020-04-05 11:05:08 3295 1
原创 召回率、精确率与准确率
1、如何解释召回率、精确绿与精确率precision:指的是所得数值与真实值之间的精确程度,翻译成“精确度”好一些。accuracy:指的是是否与事实一致,个人认为翻译为“正确性”或者“准确性”好一点。...
2020-02-27 21:26:07 183
原创 中文分词的介绍
一、分词的概念一般分词是NLP的第一项核心技术。英文中每个句子都将词用空格或标点符号分隔开来,而在中文中很难对词的边界进行界定,难以将词划分出来。在汉语中,虽然是以字为最小单位,但是一篇文章的语义表达却仍然是以词来划分的。因此处理中文文本时,需要进行分词处理,将句子转为词的表示,这就是中文分词。中文分词的三大难点:分词规则、消除歧义、未登录词识别二、当前的分词方法第一类是基于语法和...
2020-02-22 16:19:36 2713
原创 sql学习记录
一,关键语法GROUP BY的使用若使用GROUP BY聚合了一个表中的某几列,集合后其他列的值只会保留一条(可能是靠前的那一条),在使用GROUP BY的时候需要注意,所以后面如果要用到某些列作为筛选条件,则这些列要都放在聚合条件中:GROUP BY X, Y当对一个列出现多个like操作时,可以考虑使用以下正则表达式匹配的写法:SELECT * FROM article WHERE ...
2020-02-14 19:10:28 119
原创 prometheus学习记录
1、prometheus简介:https://prometheus.io/docs/introduction/overview/2、基于Prometheus的Pushgateway实战:https://www.cnblogs.com/xiao987334176/p/9933963.html
2020-01-03 10:40:02 162
原创 Pycharm 运行 flask项目报错404
直接用python3命令可以正常启动,但是在pychar中flask启动后,请求报404,代码没有问题,参考这个链接解决:https://blog.csdn.net/JENREY/article/details/86699817按照上述修改后请求可以正常工作,但是无法通过代码配置默认端口号,需要在pychar的run-Edit-Configuration 中找到Parameters参数并添加-...
2019-12-13 16:39:56 4540 1
原创 使用javax.mail发送邮件,并在邮件中嵌入图片
背景:工作中有一个场景需要在邮件中插入图片,而又没有邮件图片服务器,所以需要考虑在邮件的内容中嵌入图片。邮件的正文中有很多表格,所以使用html写入正文。实现方法以及遇到的问题:在附件中放入图片此方法的结果是图片只能位于邮件的末尾,而且不同的邮件客户端显示效果不同,例如Apple mail会直接把图片显示出来(文本附件不会直接显示),而163 mac客户端会显示一个图片的缩略图,需要下载才...
2019-11-28 16:03:36 2008
转载 Linux 中 sudo和su的区别
Linux 中 sudo和su的区别1、内容不同:su命令:用来切换用户,substitute英文含义“代替”的意思。sudo命令:sudo为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。2、用法不同:su命令:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变。sudo命令: 查看当前用户可以用sudo执行的命令都有哪些。3、...
2019-11-22 16:59:13 465
原创 hive Invalid path xxxx: No files matching path file: xxxx
背景:在本地执行代码远程连接hiveserver2,操作hive中的数据问题:从本地load文件到hive遇到一个问题,代码中执行load语句报错:Invalid path xxxx: No files matching path file: xxxx最后发现是这里的本地是相对于HDFS来说的本地,也就是说本地也得位于hiveserver2所在的节点上,但是不在HDFS中,使用LOAD DAT...
2019-11-14 20:23:37 5620
原创 Python知识点
python中的selfpython类中的方法可以分为对象方法(实例方法)类方法静态方法对象方法的第一个参数需要为self,也可以是其他写法,但是默认通用的写法是self。...
2019-11-08 14:38:57 1039
原创 Mac使用mysql
mac 安装mysqlbrew install mysql或者在官网下载dmg包安装验证mysql是否安装成功:mysqladmin --version,有输出版本号则安装成功Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:mysqladmin -u root password "new_password"启动mysql首先检查m...
2019-10-28 20:21:42 164
原创 PreparedStatement模糊查询问题
在使用PreparedStatement进行MySql模糊查询时,遇到一个问题SELECT COUNT(*) FROM TABLE WHERE BLOG LIKE ?是可以查询成功的,但是加入了模糊匹配后SELECT COUNT(*) FROM TABLE WHERE BLOG LIKE "%?%"却总是查询报错,后来发现sql语句还是需要写为SELECT COUNT(*) FROM TA...
2019-10-22 15:24:01 333
原创 Kafka consumer版本升级(0.8.2 to 1.1.1)
1、背景consumer是读取Kafka集群中某些topic消息的应用程序。当前Kafka生态中,consumer可以由多种语言实现,这里主要讨论使用Java语言开发的consumer程序。除了consumer的定义之外,还要明确consumer的版本和分类。Kafka最初版本自带由Scala语言编写的consumer客户端,称之为Scala consumer或者old consumer,即旧...
2019-10-10 20:41:59 490
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人