杂文
老王头的笔记
这个作者很懒,什么都没留下…
展开
-
长事务导致的一次故障
交代背景我做了一个每日结算的定时任务,为了测试大数据量操作,模拟造240w数据,任务会由此生成240w条新数据,且插入数据库时每1000条数据一次性插入。任务执行一直不成功。执行一部分数据后莫名其妙开始报错。显示数据库链接关闭。报错信息大概如下:uncategorized SQLException; SQL state [null]; error code [0]; Connection is closed; java.sql.Exception: connection is closed原创 2021-07-28 15:28:02 · 1080 阅读 · 0 评论 -
Docker 搭建 ELK + filebeat
参考:https://www.linuxprobe.com/docker-deploy-elk-filebeat.html1. 下载官方镜像$ docker pull elasticsearch$ docker pull logstash$ docker pull kibana2.原创 2020-12-27 20:02:05 · 686 阅读 · 2 评论 -
轻量级HTTP客户端 - Retrofit
# 从公众号java知音看到的,copy学习一下。做个案例验证了一下,用起来的感觉就是和feignclient超级像,简洁优雅。但如果是springboot项目的服务间调用,根本没必要引入这个组件,因为还需要引入额外配置。但如果是对外发起的http请求可以用到扔掉okhttp、httpClient,来试试这款轻量级HTTP客户端神器在SpringBoot项目直接使用okhttp、httpClient或者RestTemplate发起HTTP请求,既繁琐又不方便统一管理。因此,在这里推荐一个..原创 2020-12-04 14:33:14 · 907 阅读 · 0 评论 -
jenkins2 pipeline 持续集成
使用jenkins2的 pipeline 做持续集成1. 构建项目2. 编写pipeline文件如下是我做的一个很简单的springcloud项目,依赖了eureka,启动后是一个eureka注册中心。然后在 eureka/docker 目录下定义了 pipeline.ci,在 jenkins 配置的脚本路径就指向这个文件。如果是微服务项目。那每个服务下面都要定义一个该服务部署的流水化脚本。现在我把项目上传到gitlab仓库就可以测试了,如下为我定义的4个发布阶段,简单.原创 2020-11-23 10:44:07 · 350 阅读 · 0 评论 -
linux 中的 zcat 操作压缩包的命令
1、使用zcat命令可以在不打开压缩包的情况下把压缩包内容读取出来, 如:zcat test.gz这样就读取到test.gz内文件的内容了 2、在压缩包中搜索关键字1) 假如是非压缩包文件,可以用grep命令去搜索,例如: grep –i "被查找的字符串" 文件名 2) 假如是.gz压缩包类型的话,可以用zgrep命令去搜索,例如: zgrep –i "被查找的...原创 2019-01-28 14:20:53 · 1552 阅读 · 0 评论 -
关于java项目启动配置文件的加载
写一点我的总结:1、项目启动时,logback的加载会优于配置文件的加载,所以把 logback中 的日志配置放到配置文件需要一些技巧。2、java项目启动时,会把环境的配置信息加载到运行时环境(即System)。3、如何理解System,项目启动后 System.getenv() -> 获得一个map,打印效果如下:USERDOMAIN_ROAMINGPROF...原创 2019-01-10 10:54:27 · 3444 阅读 · 0 评论 -
logback 的使用
转自:http://www.cnblogs.com/warking/p/5710303.html 写的很详细。 总结:1、logback.xml的加载优先于applicationContext.xml,正常使用 ${key} 是无法获取配置文件参数的 2、在 /resources/logback.xml 中,有3个主要标签:logger 定义哪个包或者类,打印的日志级别;...转载 2019-01-08 18:32:56 · 128 阅读 · 0 评论 -
JWT 生成 Token
1、添加依赖<!--jwt生成token--><dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.1.0</version>&原创 2019-01-08 15:50:52 · 940 阅读 · 0 评论 -
java中的日历类Calendar
Calendar 能够是日期在毫秒和日期间相互转化,异常好用package com.fbank.dis_common.utils;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * Created by pactera on 2019/1/3. */p...原创 2019-01-03 17:26:38 · 3441 阅读 · 0 评论 -
非对称加密 RSA
1、代码如下,运行 main 方法看效果。package com.fbank.dis_common.utils;/** * Created by pactera on 2018/12/27. */import java.io.ByteArrayOutputStream;import java.security.Key;import java.security.KeyFacto...转载 2018-12-28 17:19:04 · 120 阅读 · 0 评论 -
curl 请求Http及文件传输
0、[options]-X POST/GET #指定请求方式-H 'Content-Type: application/json' #指定请求头内容,每个头内容都要指定一次-d/--data #发送POST请求时用来补充body中的报文或form表单-o/--output <filename> #指定文件名-O/--remote-name #保留使用远程文...原创 2019-01-29 14:31:41 · 2578 阅读 · 0 评论 -
使用Calendar 计算两个日期相差天数,
1、代码:public static void main(String[] args) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d1 = sdf.parse("2018-12-01 22:20:22"); Date ...原创 2019-02-11 10:29:51 · 11602 阅读 · 5 评论 -
springboot 项目中使用线程池
多线程异步调用的使用场景:在复杂业务逻辑中,交易链路过长,使用多线程异步服务来提高效率 1、线程池配置类package com.fbank.dis_midware.config;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.context.annotation...原创 2019-02-20 16:43:56 · 23858 阅读 · 0 评论 -
巧妙使用xxl-job分片任务完成大数据量消费,实现无状态分布式任务
1、现有一个需求,需要在很短的时间内将数据库中的数据在限定时间内完成,比如一个小时完成1万笔业务数据并回写数据消费完状态,在测试过程当中一台机器去消费数据很慢,而且消费数据量可能短时间内暴增,需要动态增加处理能力,在没有使用xxl_job前,是使用redis分布式锁完成的,主要是每个消费者一定要取到不同数据消费,不能重复消费数据,因此使用分布式锁来锁定多个程序在同一时刻只能有一个应用消费数据,...转载 2019-03-04 11:47:32 · 14330 阅读 · 1 评论 -
linux磁盘占满 - 排查过大文件
1、查找大文件find /-type f -size +100M #查找根目录下100M以上的文件2、对查找结果按照文件大小做一个排序find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr3、查找当前目录下:文件夹大小排前20的大目录,单位MBdu -hm --max-depth=2 | so...原创 2019-04-08 18:05:34 · 1219 阅读 · 0 评论 -
抓包工具 Fiddler 及操作命令
推荐学习:http://www.cnblogs.com/Chilam007/p/6985379.html1、下载地址:https://www.telerik.com/fiddler2、开启解密HTTPS规则,支持抓HTTPS包:开机启动时,自动设置成系统代理,即上网时先走127.0.0.1:8888的本地代理,但如果你没有启动Fiddler的话,找不到服务代理就上不...原创 2019-04-17 15:45:33 · 363 阅读 · 0 评论 -
Fiddler对App抓包
Fiddler安装请参考:https://blog.csdn.net/m0_37606574/article/details/89356790对app抓包前提:1).电脑需要安装Fiddler2).测试手机需要支持Wifi3).测试手机与电脑需要同一网络4).所测APP需支持代理1、设置 FIddler 允许远程计算机连接(需重启Fiddler生效)...原创 2019-04-17 17:42:10 · 662 阅读 · 0 评论 -
性能优化指南
转自方志鹏的博客:https://mp.weixin.qq.com/s/ydCzuEB29gSX6TwaE1S5Ng转载 2019-05-15 11:29:35 · 118 阅读 · 0 评论 -
zkclient操作zookeeper的代码
执行main()看效果,使用zkCli查看节点内容:import org.I0Itec.zkclient.IZkChildListener;import org.I0Itec.zkclient.IZkDataListener;import org.I0Itec.zkclient.ZkClient;import java.util.List;import java.util.con...原创 2019-05-31 23:12:08 · 418 阅读 · 0 评论 -
maven工程的 dependencyManagement、provided
1、<dependencyManagement>、<dependencies> 标签:1) 父工程的 pom.xml 中,<dependencies> 没有外层标签 <dependencyManagement>,里面的依赖可以被子工程直接使用。2) <dependencies> 处于 <dependencyManagemen...原创 2018-12-27 16:05:34 · 434 阅读 · 0 评论 -
完整的日志输出
1、代码package com.fbank.dis_common.utils;import org.springframework.stereotype.Component;import java.util.ArrayList;import java.util.List;@Componentpublic class ErrorLog { public static ...原创 2018-12-14 16:12:05 · 420 阅读 · 0 评论 -
Intellij IDEA修改代码补全快捷键
修改 IDEA 代码提示的快捷键:1.打开设置界面(file--settings--keymap,在keymaps中选择dufault copy)2.在搜索框中输入completion,选择Basic,右键选择第一个Add Keyboard Shortcut,在输入框中输入“alt+/”设置 IDEA 代码提示时不区分首字母大小写:...原创 2018-06-27 11:06:26 · 859 阅读 · 0 评论 -
数据库事务的4种隔离级别
转自:https://blog.csdn.net/qq_33290787/article/details/51924963数据库事务的隔离级别有4种,由低到高分别为Read uncommitted 、Read committed 、Repeatable read 、Serializable 。而且,在事务的并发操作中可能会出现脏读,不可重复读,幻读。下面通过事例一一阐述它们的概念与联系。Read ...转载 2018-06-04 19:32:28 · 150 阅读 · 0 评论 -
IntellJ IDEA修改背景颜色
题主发现网上很多帖子和自己用的不同,才发现很多人用的是mac版本却没有注明:以下为IntelliJ IDEA 2017.03.04 windows版1.设置编辑器背景颜色:打开设置面板settings...原创 2018-03-29 14:51:19 · 21674 阅读 · 0 评论 -
Java web前台的遮罩层和请求等待
1、应用场景在前台开发的过程中,经常需要用户在点击某个功能等待返回结果的时候,拒绝用户再次点击或进行其他操作。这时候就需要一个遮罩层遮挡用户的所有操作。2、原理在页面的body上追加一个覆盖整个浏览器的div,这个最上层的div遮挡住了其他所有能操作的功能。3、js代码var loadConfig ={ msgheight: 40,//遮罩层中间存在消息的和动图的div参数 msgwidth: 1...原创 2018-04-09 17:29:39 · 1829 阅读 · 0 评论 -
IDEA 使用git进行版本管理,github 作为远程仓库
完整教程--idea使用git进行项目管理第一部分: 安装1. 下载地址: https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载;2. 点击安装, 然后下一步, 直到下面这个页面:建议: 按照上面所示方式选中复选框 ;3 点击下一步, 直到出现这个页面:建议: 这个页面是选择git使用的命令行, 建议使用第一个git自带的;4. 点击下一步, 直到出...转载 2018-04-16 12:39:58 · 592 阅读 · 0 评论 -
AES对称秘钥的加解密java实现
转自:https://blog.csdn.net/elim168/article/details/73456866Java使用AES加解密目录1.1生成密钥1.2密钥的存储1.3获取存储的密钥1.4加解密1.5使用存储的密钥进行加解密示例 AES是一种对称的加密算法,可基于相同的密钥进行加密和解密。Java采用AES算法进行加解密的逻辑大致如下:1、生成/获取密钥2、加/解密 1.1生成密钥密钥的...转载 2018-03-27 09:15:10 · 3890 阅读 · 1 评论 -
restful 接口测试
在我们实际开发过程中,经常会设计到restful的接口调用,如前端调用后台的接口,后台调用其他接口,这时我们就需要模拟发送接口请求,可以使用代码解决,当然我这里来推荐一个好用的工具,火狐浏览器的restClient插件。1.安装:在火狐浏览器-附加组件-插件,搜索restClient,点击安装:如下这个按钮就是安装好的restful插件2.打开插件,填写请求信息:请求头信息:填写完整请求信息:数据...原创 2018-03-20 19:41:50 · 3896 阅读 · 0 评论 -
IntellJ IDEA快捷键与eclipse对照
注:后面括号中的为eclipse中的快捷键ctrl+空格,代码提示(alt+/)ctrl+shift+空格,代码补齐ctrl+shift+u,大小写转换(ctrl+shift+x,ctrl+shift+y)ctrl+shift+f,全局检索(alt+h)ctrl+shift+r,全局替换ctrl+shift+n,全局查找资源文件(ctrl+shift+r)ctrl+sh...原创 2018-03-19 19:59:15 · 639 阅读 · 0 评论 -
java 整合 kafka
转自:https://www.cnblogs.com/hei12138/p/7805475.html 1. kafka介绍 1.1. 主要功能根据官网的介绍,ApacheKafka®是一个分布式流媒体平台,它主要有3种功能: 1:It lets you publish and subscribe to streams of records.发布和订...转载 2018-08-08 17:22:30 · 11981 阅读 · 1 评论 -
linux 服务器拷贝 tomcat 的注意点:
服务器部署项目,如何方便地部署 tomcat:1、从服务器上拷贝一个 tomcat 项目2、conf/server.xml,SHUTDOWN、HTTP/1.1、AJP/1.3 对应的3个端口改掉,端口不能重复。3、bin/catalina.sh,CATALINA_BASE、CATALINA_HOME日志输出目录改为当前 tomcat 部署的目录。4、bin/catalina...原创 2018-08-24 17:14:16 · 2535 阅读 · 2 评论 -
使用Java写文件不覆盖原有内容
File file = new File("D:\\home\\tomcat\\logs\\app1.log");FileOutputStream fileOutputStream = new FileOutputStream(file, true);e.printStackTrace(new PrintStream(fileOutputStream));FileOutputStrea...原创 2018-12-14 15:14:44 · 6592 阅读 · 0 评论 -
cp、scp 文件拷贝
1、 cp使用方式:cp [options] source destcp [options] source... directory说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。把计-a 尽可能将档案状态、权限等资料都照原状予以复制。-r 递归拷贝,针对于文件夹。-f 若目的地有同名文件存在,则在复制前先予以删除再行复制。范例:将档案 a...原创 2018-11-28 18:25:58 · 597 阅读 · 0 评论 -
git 关联多仓库源的实践
我本地项目是从 gitlab 上拉下来的,但是我想把项目 push 到阿里云上,让一个项目能同时往多个远程仓库推,应该怎么做呢?1、首先从 gitlabpull 一个项目。2、然后在阿里云上创建一个与项目同名的 repository,得到这个仓库的地址。3、把本地项目关联阿里云仓库,(这个 aliyun 和 origin 都是属于远程仓库的标签)git remote ad...原创 2018-11-30 13:56:28 · 1479 阅读 · 0 评论 -
windows 解决端口占用问题
1、查看占用端口netstat -anonetstat -ano| findstr [端口号]2、查看占用程序 (可选)tasklisttasklist|findstr xxx3、杀死占用程序taskkilltaskkill /t /f /pid xxxtaskkill /t /f /im xxx.exe...原创 2018-11-23 15:29:49 · 142 阅读 · 0 评论 -
zookeeper 可视化工具!
序言有个十分好用的 zookeeper 可视化工具,dubbo-view-tool.war,只需部署在 tomcat 启动即可。该工具功能更强大,页面更美观,且具有时效性。下载地址:https://download.csdn.net/download/m0_37606574/10740855 使用方法:1、下载 war 包,修改 \WEB-INF\dubbo.propertie...原创 2018-10-24 11:55:28 · 598 阅读 · 0 评论 -
restful风格的http接口调用
说明:参数1:http请求的访问路径参数2:请求方式 post get patch delete参数3:请求内容,xml或json格式的报文,字符串都可以附代码:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStrea...原创 2018-03-22 17:08:38 · 4517 阅读 · 0 评论