自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spring cloud stream操作kafka和redis,以及kafka与redis队列性能比较(未完)

上次用redis队列做了性能测试,不过redis毕竟不是专门用来做队列的,这次用kafka试试。这次我用spring cloud stream来操作kafka。Spring Cloud Stream是构建消息驱动的微服务应用程序的框架。Spring Cloud Stream基于Spring Boot构建独立的生产级Spring应用程序,并使用Spring Integration为消息代理提供连接。...

2021-05-26 15:18:00 776

原创 electron+antd进行桌面开发并打包教程

electron+antd进行桌面开发教程1、初始化工程目录并安装electron,(如果安装巨慢可换成淘宝源cnpm)npx create-react-app electron-testcd electron-testnpm install electron electron-builder cross-env --save-dev2、在src目录下添加main.jsconst {...

2019-12-10 18:24:27 1138

原创 react+babel+webpack热编译+antd+router开发教程

react+babel+webpack热编译+antd+router开发教程1、初始化工程目录mkdir demo && cd demonpm init --yes2、安装依赖(此过程比较长,建议更换国内源)npm i -D webpack webpack-cli @babel/core babel-loader @babel/preset-env @babel/pre...

2019-09-25 13:17:44 462

原创 mysql行转列

在固定列的情况下,可以group by后把每个列要显示的数据通过if指定写到sql里:...SUM(IF(条件,输出的列,默认值)),SUM(IF(条件,输出的列,默认值))...group by xxx...在动态列的情况,可以使用预编译:1,先用group_concat将动态行转出一行赋值给变量2,然后用多个变量组装成最后要执行的sql,再执行SET @SQL...

2019-09-12 13:35:05 277

原创 mybatis查询方法时序图

2019-09-02 09:50:20 563

原创 java逆序单向链表实现

假设有一个单向链表,若要将其逆序ABCDNULL第一次循环ANULLBCD第二次循环ANULLBCD第三次循环ANULLBCD第四次循环ANULLBCDjava代码如下:public class ReverseChain { private static Node chain; static{ Node last=null; f...

2019-04-28 10:48:14 485

原创 Field xx in xxxx required a bean of type xxxx that could not be found解决方案

原因是因为两个不同class的bean 名字重复了,初始化报错解决方案,将其中一个bean指定下别名:

2019-04-26 13:35:44 7236

原创 mysql各种锁解释

mysql锁有行锁,表锁,间隙锁,乐观锁,下面我用实际操作来解释下这几种锁的区别首先建一个innodb的表,并初始化CREATE TABLE `user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NULL DEFAULT '0', `status` VARCHAR(50) NULL DEFAULT '0'...

2019-03-19 14:27:13 531

原创 mysql删除重复数据只保留一条

delete from test where id not IN(SELECT tmp.id FROM (SELECT id FROM testGROUP BY NAME) tmp)

2019-03-13 16:18:05 197

原创 记一次mysql间隙锁照成死锁

最近项目中发生死锁问题,发现是mysql为保证可重读而使用间隙锁导致的。场景是在在一个事务里面查询了多条记录(包括记录A),而mysql数据库的隔离机制是可重复读,为了保证在这个事务里这些数据不被其他连接修改。就会吧这些数据加上间隙锁(范围锁)。这时其他线程在另一个事务里查询了数据B,(相当于给数据B加间隙锁),然后想要修改数据A,照成两个事务互相等待对方释放锁,就照成了死锁。流程图如下:程...

2019-03-07 09:41:14 596

原创 tcpdump的使用说明

1,tcpdump未指定网卡时默认监听第一个网卡2,可以通过-i指定网卡,如:tcpdump -i eth0(如果不想限定网卡,可以使用tcpdump -i any)3, -w参数可以将网络信息写入文件,如:tcpdump -i eth0 -w net.txt4, host参数可以指定主机tcpdump -i eth0 host 127.0.0.1tcpdump -i ...

2019-03-06 11:09:56 285

原创 rock64搭建superset(适用于其他linux服务器)

1,确保有python3和pip2,安装依赖apt updateapt install -y build-essential libssl-dev libffi-dev libsasl2-dev libldap2-dev#这块会比较耗时pip install numpypip install sasl3,安装superset,执行完后就会默认8088端口启动# In...

2019-03-04 16:24:31 1322 1

原创 树莓派编译python3

1,安装python3.6 和pipsudo apt-get updatesudo apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev ...

2019-02-27 11:42:12 718 2

原创 rock64安装docker

1,首先安装系统https://www.armbian.com/rock64/#kernels-archive我安装的是Armbian Stretch 2,登陆系统,root用户默认密码12343,执行一下命令,安装docker-cesudo apt-get install -y \ apt-transport-https \ ca-certifi...

2019-02-26 00:28:09 1963

原创 收集mysql慢查询日志进elk

1,首先mysql开启慢查询日志vim /etc/mysql/mysql.conf.d/mysqld.cnf#添加配置,这块目录可以自定义slow_query_log = ONslow_query_log_file = /var/lib/mysql/slow_query.loglong_query_time = 2#然后重启mysql服务service mysqld resta...

2019-02-25 13:59:37 813

原创 mysql 设置binlog的保存时间

测试环境磁盘老爆,发现是大量mysql-bin(binlog)文件照成的,有100多个G。修改配置改成只保留7天的binlog文件vim /etc/mysql/mysql.conf.d/mysql.cnf#添加配置 保留7天expire_logs_days=7 ...

2019-02-22 17:47:25 5993

原创 修改idea的窗口布局

idea默认的窗口模式是如下:可以通过File->Appearance->Window Options->勾选 Widescreen tool window layout->OK 变成如下界面:

2019-02-22 15:03:24 9081 8

原创 mysql随机取数据优化

mysql表中随机取三条数据。本来是打算用:select * from table order by rand() limit 3结果40W的表查询要2.6秒,速度贼慢。每条记录都调用了rand()行数来排序后来发现mysql官方手册也不推荐这种做法,找到下面这种方法:SELECT * FROM table AS t1 JOIN (SELECT ROUND(RAND() ...

2019-02-20 18:00:19 480

原创 jmeter录制脚本

1,添加一个线程组2,右击线程组,添加一个录制控制器3,右击测试计划,添加一个HTTP代理服务器4,将HTTP代理服务器配置里目标控制器选为刚才创建的录制控制器。5,点击启动,然后会弹出一个证书的提示,这个是录制HTTPS服务需要的,忽略它6, 以火狐为例,进入设置7,添加Jmeter代理 8,这时候可以在火狐浏览器上开始你要录制的操作,...

2019-02-20 10:51:52 184

原创 Jmeter执行java脚本

1,先添加一个线程组2,右击线程组,添加一个BeanShell 取样器3,点击BeanShell取样器,输入JAVA代码import java.time.LocalDate;String todayStr=LocalDate.now().toString();vars.put("today",todayStr);log.info("today is {}",t...

2019-02-19 17:59:54 2043

转载 SoapUI Pro破解方法

https://blog.csdn.net/weiqing723/article/details/78865734

2019-02-14 10:54:08 1590

原创 soapui使用教程2-属性与脚本

1,新建一个空项目2,新建一个Test Suite3,SoupUI支持自定义属性4,这里我建了一个filePath属性和一个动态属性randomNum,value里面写的表达式${=(int)(Math.random()*1000)}可以生成1000以内随机数5,接下来新建一个TestCase6,SoupUI支持groovy,写一个输出时间的脚本脚本...

2019-01-24 11:43:24 869

原创 hibernate flush问题

当在同一个事务使用sql(比如jdbctemplate或jpa的nativequery)时,需要把之前jpa或者em的操作flush出去,否则sql就会先执行,再执行hql。

2019-01-22 10:31:54 505

原创 soapui使用教程1-基本使用和录制

1,创建个rest项目,File->New Project:2,然后API Definition选择REST,点OK3.,资源根属性,选择如何处理资源绝路径,默认是绝对路径;还可以选择项目路径或工作区路径4, Project Password属性来加密项目内容,不过密码如果忘记将无法找回5,还可以通过内置浏览器生成testcase,File->New ...

2019-01-21 14:38:07 1956

原创 记一次大文件导入优化

最近线上文件导入极慢,每秒才导入两行。来个25W的文件就要导半天后来发现时间消耗在每条记录的校验sql上了。每条记录要发两条sql校验耗时400毫秒,25w条数据就要27小时!这种情况在测试环境没有发生过,测试环境查询sql只要8毫秒,估计生产数据库是远程的,网络传输有延时。考虑到文件日后还有增大的可能性。遂改成:1,将导入文件不发sql校验正确性,直接落库在一张临时表里2...

2019-01-09 15:33:07 509

原创 jpa+hibernate5中lazy无效的解决办法(JpaRepository的save方法源码解析)

今天发现fetch = FetchType.LAZY这个设置无效,在查询和新增都会查一遍。@ManyToOne(optional = false, fetch = FetchType.LAZY)@JoinColumn(name = "loan_req_no", referencedColumnName = "loanReqNo", insertable = false, updatab...

2019-01-03 15:18:51 2108

原创 优雅处理lambda内异常方法

jdk8函数式编程用的很爽但是遇到需要处理异常就很尴尬,需要这么写:List<Integer> integers = Arrays.asList(3, 9, 7, 0, 10, 20);integers.forEach(i -> { try { System.out.println(50 / i); } catch (Arithmeti...

2018-12-25 15:30:12 995 1

原创 调用toString方法会StackOverflowError的原因和解决方案

今天遇到一个问题,调用一个实体类的toString方法直接就StackOverflowError(栈溢出)了。java.lang.StackOverflowError at sun.reflect.GeneratedMethodAccessor223.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.in...

2018-12-21 15:38:09 4043

原创 h2数据库被锁定解决方案

最近发生过H2数据库被锁定,项目启动不来的问题。排查后发现是H2数据库当被打开时,都会创建一个锁定文件,以指示数据库正在使用的其他进程。如果关闭数据库,或者打开数据库的进程终止,则会删除此锁定文件。而当java程序不是优雅关闭,直接kill掉java进程时,这个锁定文件没被删掉,下次启动项目就会报数据库被锁定。查官网也提供了解决方案,改成socket锁定,不维护锁文件:Strin...

2018-12-19 16:09:44 5453

原创 关于java的map顺序的问题

java里面HashMap类的在put的时候会先hash下key算出数组的下标,hash的源码如下:static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h &gt;&gt;&gt; 16); }可以看是根据key的...

2018-12-19 15:24:41 1327

原创 网站漏洞扫描工具 IBM Security AppScan Standard使用

软件可以去官网下载,有30天免费使用:https://www.ibm.com/us-en/marketplace/appscan-standard不过官网下载还要注册挺繁琐的,如果想省点事国内百度搜一下也有资源。按照好后打开软件:create new scan -&gt; regular scan -&gt; full scan configuration登录管理配置:...

2018-12-19 11:43:10 3747

原创 @PathVariable报错Could not find acceptable representation解决方案

今天用@PathVariable出现了下面问题:Could not find acceptable representation。原因是url参数里参数是文件名,带了.符号。如下图:@ApiOperation(value = "下载", nickname = "download") @RequestMapping(name = "下载", value = "download/...

2018-12-17 11:06:02 743

原创 lombok的@Builder导致初始化字段无效解决办法

当用@Builder注解时,类里面的初始化字段就无效,比如下面类中的totalAmt和lineNum字段就会置为null。@Builderpublic class FileExport { private String charset; private String[] fields; private String amtField; private Big...

2018-12-07 09:19:44 5382

原创 org.apache.commons.beanutils.ConversionException: No value specified for 'BigDecimal'解决方案

在调用org.apache.commons.beanutils.BeanUtils.populate出现org.apache.commons.beanutils.ConversionException: No value specified for 'BigDecimal'apache有提供BigDecimalConver转换类,出现这个问题一般是值为null的情况解决方案:...

2018-12-05 09:31:39 7016 2

原创 Cannot find current proxy: Set 'exposeProxy' property on Advised to 'true' to make it available.解决

用 AopContext.currentProxy()函数没配置会照成这个问题可以通过注解:@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)或配置:&lt;aop:aspectj-autoproxy proxy-target-class="true"expose-proxy="true"/&gt...

2018-12-04 16:13:11 21491 5

原创 使用hibernate审计和jpa实现历史记录表

1.首先在需要记录历史的Entity上加@Audited 对不需要审计的字段可以加@NotAudited2.配置文件中加上自定义审计历史表后缀spring.jpa.properties.org.hibernate.envers.audit_table_suffix=_history然后Entity的任何改动都会在history表记录了...

2018-11-30 16:33:38 1847

原创 EncryptionOperationNotPossibleException解决方案

今天换电脑了,以前正常的功能报异常:org.jasypt.exceptions.EncryptionOperationNotPossibleException at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:1051) at org.jasyp...

2018-11-28 19:15:20 18880 2

原创 docker部署elk日志中间件+filebeat采集

1,首先确认机器上有4G可用内存#然后输入命令查看机器上面mmap的值:sysctl vm.max_map_count#如果值小于655360#执行命令:sysctl -w vm.max_map_count=655360#然后设置修改文件vim /etc/sysctl.conf#加入:vm.max_map_count=655360启动elk:sud...

2018-11-28 11:21:26 1155 1

原创 JpaTransactionManager的初始化和获取事务

初始化JpaTransactionManager时调用栈:org.springframework.orm.jpa.JpaTransactionManager.<init>(JpaTransactionManager.java:118)org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.trans...

2018-11-26 13:56:50 7481

原创 java foreach内部实现

今天突然想看看foreach内部实现是怎样的,比如如下代码:for (EmailClientEntity emailClient : emailClientDao.findAll()) {//TODO something...}通过javap看看字节码指令: public void initAllEmailSession(); Code: 0: aload...

2018-11-23 11:28:52 763

pinpoint-agent

下载后解压,在启动参数加上-javaagent:你文件夹\pinpoint-agent\pinpoint-bootstrap-1.6.1.jar -Dpinpoint.agentId=应用名 -Dpinpoint.applicationName=实例名

2018-09-26

word,excel,ppt完美转换PDF(解决各种疑难文档)

https://mp.csdn.net/postedit/79998613 restful接口上传文件,下载转换文件,格式校验,队列缓冲 已经打成压缩包,里面集成python3,nginx。 解压点击start.vbs就会启动一个worker,两个web,一个nginx负载均衡。开箱即用。 守护进程,无弹窗。因为是调用office进程,要提前安装好wps和office(两者选其一) 如果出现连接不到redis,请把bin目录conf.py里面的redis地址改成你的。

2018-04-19

spring源码缺失的jar包

spring-cglib-repack-3.1.jar spring-objenesis-repack-2.1.jar

2015-05-21

用jquery UI实现的手风琴菜单、折叠菜单

用jquery UI实现的手风琴菜单、折叠菜单

2013-08-29

空空如也

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

TA关注的人

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