- 博客(67)
- 收藏
- 关注
原创 优化接口性能从平均2.3秒降到0.278秒
背景 优化方案一:CompletableFuture 两个任务异步执行查询 优化方案二:手动写sql, * 变具体字段,字段加索引 总结 【背景】 无分页全量查询一张3000多条的单张表。以供前端使用下拉。 基于这样的需求,直接首先很简单粗暴的用的mybatis selectByExample查询。结果发现速度很慢,接口平均耗时,2秒多。明显感觉迟钝。以下是自己优化的的整个过程 【优化方案一】单线程变多线程查询,使用CompletableFuture 两个任务异步执行查询 public static .
2022-02-24 21:30:51
1001
原创 学习泛型 总结
要使用好泛型,首先要掌握好,继承,多态。 形参:尽可能是接口类型,父级类型,这样,在调用泛型方法时候,很多子类都可以方便调用 泛型,要尽可能的靠近实际类型,比如下面的这段代码,就不太好, 正确的应该是用 Class destinationClass, 这样destinationClass 更接近真实的实际类型 错误 正确 public <S, D> List<ExcelData> getExportExcelData(Iterable<S> source, C.
2021-07-16 14:17:31
376
原创 多线程-批量处理撤销
代码: 这个是每页一个线程 public static AtomicInteger pageNum = new AtomicInteger(0); public static int getPageNum() { return pageNum.incrementAndGet(); } /** * 将已推送的、已经删除的、隐藏课程,撤销回来 */ public void handBatchUnpush(int pageSize) {
2021-03-10 10:24:55
285
原创 @Transactional 与Synchronized 同时出现时,同步失效
第一测试时,在controller调用service , service使用事务和锁,使用nb工具,1000次请求,500并发的时候,出现了数据不同步的问题 将同步锁放在controller中时候,执行结果如下,时正确的
2021-03-03 11:21:08
607
转载 压测工具ab的简单使用-总结
下载工具包,借鉴的这哥们的文章 https://www.cnblogs.com/chanwahfung/p/11877021.html 下载后,使用还是挺方便,自己只是对自己写的接口,做下简单的并发测试。 第一步,进入D:\tool\Apache24\conf 对配置文件,将监听端口,和服务端口,改为了8089 第二步,在D:\tool\Apache24\bin 目录,打开cmd窗口,就可以执行命令了 执行命令 : 2000次请求,1000个并发,get请求 其中-n代表请求数,-c代表并发数 .\a
2020-08-06 18:05:22
520
原创 事务不回滚
事务不回滚解决日志 感谢博主 https://www.jianshu.com/p/ab70131452ce 先说明自己事务不会滚的原因是数据库引擎不对,小鸟论坛部分表结构使用的是mySam show create table table_name; 按照网上的教程:事务不会滚的原因有一下几种,对于每一种,都要认真检查确保没有问题。 @Transactional 注解必须作用在public的权限管理上,其余的权限管理关键字并不会使事物生效 检查数据库是否支持事务,注意有的表示innodb 有的是my
2020-06-24 11:54:07
1102
原创 用户名称中包含表情符,存入数据库报错-Incorrect string value: '\xF0\x9F\x98\x83' for column
用户名称中包含表情符,存入数据库报错-Incorrect string value: ‘\xF0\x9F\x98\x83’ for column 其实只需将mysql的编码格式,改为 utf8,并且重启mysql服务。 重点:mysql没有重启,问题就会发现没有解决。 但是如果按照这个朋友的方法也是可以的,因为他去掉了 jdbc链接时候指定的编码,这样就可能存在问题的 已解决:Incorr...
2020-04-20 10:03:12
699
转载 SpringBoot读取外部配置文件
SpringBoot读取外部配置文件 优快云 那些博主说的命令 -Dspring.config.locaiton=application.properties 我尝试了多次,可是结果读取的还是,项目里的配置文件。最终受启发,找了SpringBoot 官方文档,解决了问题。 总结 Spring Boot中文官方文档:https://www.breakyizhan.com/springboot...
2020-03-25 15:38:56
1038
原创 Safari浏览器低版本时候,只发option-CorsFilter配置
跨域拦截配置,是个坑,使用 * ,对于低版本的safri浏览器是不行的。 当初配置CorsFilter,是为了解决跨域的问题,但是今天发现低版本的safri浏览器发不了请求。最后通过抓包工具,查看发送的请求,原来发送Access-Control-Allow-Headers 要求的值是小写的,并且是还有一些之前没见过的格式,不管怎么样,直接复制粘贴上去,问题就解决了。 package com....
2020-03-23 16:47:48
989
1
转载 远程主机强迫关闭了一个现有的连接
转载 远程主机强迫关闭了一个现有的连接 解决springboot2整合Redis 后某个接口报错 java.io.IOException: 远程主机强迫关闭了一个现有的连接 Redis配置解析 [转]redis服务器与客户端保活参数(tcp-keepalive)设置 ...
2020-01-09 09:05:32
3833
原创 sql-总结-学习mysql存储过程 存储函数
-- 简单 存储过程 DELIMITER $ CREATE PROCEDURE pro_test1() BEGIN SELECT 'hell word'; END$ -- 简单调用 CALL pro_test1(); -- 将查询出来的某个值赋值给某个变量 CREATE PROCEDURE pro_test2() BEGIN DECLARE num int DEFAULT 0 ; SELE...
2019-12-27 11:43:18
336
转载 centos7 安装elasticsearch6.8.3
centos7 安装elasticsearch6.8.3 1. 上传解压到/usr/local/elastic6_8_3/ 2. 进到bin 目录下启动 cd /usr/local/elastic6_8_3/elasticsearch-6.8.3/bin ./elasticsearch 3. 启动报错 表示不能使用root用户启动elasticsearch。我们需要创建一个用户来启动ela...
2019-12-17 13:04:02
1124
原创 Mysql Max函数坑 查询出来的是最大值,但不是最大值的那条记录
Max函数 查询出来的只是最大值,但不是最大值的那条记录 发现自己并不会用Max 函数。自己想当然的认为Max 函数查询出来是最大值的那条记录。其实不是的。他只是把那个列中最大值求出来,这时比如:你再加上id , j就算查询出来,但那个id,也不是最大值时候的id。 正确的查询最大值的那条记录,应该是用子查询如下: 内查询:先查询最大值 外查询查询 where 字段 = 最大值 注意:外查...
2019-12-16 17:54:12
5038
原创 总结-学习mysql中的子查询 相关子查询 左连接
学习mysql中的子查询 今天自己回顾查询我的评论列表的代码时候,发现自己当初写的很蠢。因为自己不会把子查询,和 join 搞懵了,不知道怎么查。今天特意写下这篇文章总结。 技术经理说过。join 连接就是扩展列。子查询就是增加where 条件。 如果自己想增加列, 首先想到的是就用join(也可以在select 后面写一个子查询), 如果自己想增加判断条件,就可以考虑子查询。 关联表 ...
2019-12-13 17:00:46
857
原创 解决elasticsearch:Exception BindTransportException[Failed to bind to [9300-9400]]
解决: 1. 将ES的核心配置yml 的host 修改为:127.0.0.1 2. 这时你发现,http 访问不了,别急。nginx是个好东西。 3. 使用80端口代理9200端口。 4. location / { proxy_pass http://localhost:9200; proxy_set_header X-Real_IP $remote_a...
2019-12-05 12:11:37
7995
原创 总结-java 使用Random产生规定区间内的随机数
java 使用Random产生规定区间内的随机数 都知道可以使用java.util.Random 产生一个随机数。通过指定参数,使得产生一个小于次数的随机数。值的范围为:[ 0, Max) ; 其中Max 就是指定的参数。但是业务需求想产生一个 [ 10, 100]; 内的随机数怎么产生呢。这个问题极其了我的兴趣。 其实他是个二元一次方程。通过解方程,得到了他的公式,下面是我推导的公式。 ...
2019-12-04 16:25:16
1974
转载 solr 总结学习
大佬给的一个slor zip的安装包。解压后,可以直接运行。相当于springboot一样。 转摘的文章 1. 这个是大佬推荐的一篇文章,通过它自己将slor安装到本地,运行起来了https://blog.youkuaiyun.com/long530439142/article/details/79353845 2. 这篇文章是自己搜索的。通过它自己也在一个服务器上安装成功了。但是它的方法太繁琐了。slo...
2019-12-02 09:41:54
202
原创 swagger 配置
package com.basetnt.bss; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; impo...
2019-11-11 21:12:06
787
原创 mysql-@i-查询结果添加序号
mysql-@i-查询结果添加序号 在一个排行榜的sql中,看到了一个@i的东西。感觉看不懂的东西都是牛逼的东西。所以心里就想着自己要学会它。今天随便百度了一下,发现是个很简单的东西。其实它就是mysql中的变量。为查询结果添加序号的原理,就是生成一个变量,每行的结果加一。 下面是自己的理解。如果不对望指正。谢谢。 mysql变量 要明白mysql序号,就要先知道mysql变量。...
2019-11-02 10:48:46
1333
原创 上传文件到阿里云存储(百度云存储)
上传文件到阿里云存储(百度云存储) 将本地文件上传到阿里云存储,或者百度云存储。 文档资料https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.6.738.7c2a28baV7wNvX 需要向客户索要的几个重要内容 // endpoint private String endpoint = ""; ...
2019-10-23 10:57:02
1588
原创 springboot+mybatis+logback 配置总结
springboot+mybatis+logback 配置总结 含有配置logger 的配置文件,但是不输出mybatis sql日志 在application.properties文件中添加一下内容 logging.level.root=info logging.level.com.jingyuan.tasks=debug logging.level.com.jingyuan.dao=de...
2019-10-22 16:28:43
819
原创 nginx server中的root和location的root的区别
nginx server中的root和location的root的区别 自己发现公司服务器上的nginx的配置文件里,server中有个root, location中也有root。当直接访问域名,后面什么都不加, 发现走的是location里面的root所指的路径。并没有走server中的root所指的路径。通过百度,但是并没有很快搜索到答案,于是自己通过实验证明两者的区别。 总结:# 就近原...
2019-10-17 13:52:02
18115
4
原创 Excel解析导入
controller package com.basetnt.ad.game.xiaoxiaoqi.controller; import com.basetnt.ad.game.xiaoxiaoqi.common.Result; import com.basetnt.ad.game.xiaoxiaoqi.model.AdConfig; import com.basetnt.ad.game.xia...
2019-09-29 15:00:32
459
原创 外公司的自己的依赖jar包依赖注入不了怎么解决(maven)
外公司的依赖jar,有时就算给了jar包,里面包含了坐标的配置,放到本地仓库,也是报错飘红,用不了。下面通过maven 命令install 解决此问题。 问题 解决 win + r 打开cmd, 输入mvn -version 查看是否将mven 设为全局的。 2. 执行命令 将里面的groupid 和 artifactid 换成自己的坐标,将file路径改成jar 本地的路径。 当...
2019-09-18 15:08:54
2061
原创 springboot yml方式配置,怎样注入
springboot中,properties配置方式,注入很方便。@Value注解就可以搞定,但是在yml配置文件中,使用同样的方式发现不行,目前暂时找到一个解决方法,至于为什么不行,后续再细细研究。 yml配置 town: downloadUrl: {"com.lotus":"abc"} service 层注入 @Resource private TownProper...
2019-09-12 15:33:41
2316
原创 java8 语法学习总结
()-> 是一个方法 下面这个是一个方法,方法中有两个参数,箭头后面是执行体。 (int even, int odd) -> even + odd 如果只是一个简单的输出,则不需要参数就可以简单写成 () -> System.out.print("hello world"); ...
2019-09-06 15:02:22
235
原创 总结java 处理日期
多条件查询,往往会带有开始时间和结束时间条件,下面是按月查询 Date startDate = null; Date endDate = null; Date startM = null; Date endM = null; if (StringUtils.isNotEmpty(startTime)){ startDate = DateUtils.stringtoDat...
2019-09-06 14:37:17
197
转载 转载Windows7下git配置difftool
提交文件时候,生怕误改动了其他的文件,但是difftool可以将改动的地方看清特别清晰。这里感谢原博主无私奉献 转载https://blog.youkuaiyun.com/five3/article/details/72290508 特别提醒 在安装时候,路径中有空格式不行的,第一次安装时候,虽然安装成功,但是配置后不起作用,最后卸载了重新安装,去除了空格和特殊字符; ...
2019-08-27 18:54:42
459
转载 sql语句中笛卡尔积与left join、inner join中的on与where的区别
转载https://wenku.baidu.com/view/787401b765ce050876321308.html 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 总结inner join 和 where WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。 INNER JOIN……ON子句产生的连接称为显性连接。 WHE...
2019-08-26 18:16:29
2070
转载 经典-sql-练习
由于自己的sql 比较弱,于是决定每天练习slq 这里感谢原作者无私提供练习题目 经典联系题目 https://blog.youkuaiyun.com/paul0127/article/details/82529216 用到group by 和 having 如果 HAVING 中包含多个条件,那么这些条件将通过 AND、OR 或 NOT 组合在一起。 SELECT * from course GROU...
2019-08-08 20:57:28
277
转载 AES 秘钥 解密时报错Illegal key size or default parameters
遇到报错信息,百度了很多,最后发现一个这篇文章尝试后,最后不报错了,转载以备后用 感谢原作者 AES 秘钥 解密时报错https://my.oschina.net/dwbin/blog/1560379 ...
2019-07-30 15:57:23
565
原创 web项目中,跨域问题
本来前后端项目是不存在跨域的,但是是前后端配合的,便有了跨域的问题 百度中遇到一个很好的帖子,并且正确可用,边记录下来,以便后用 转载 https://blog.youkuaiyun.com/lmy86263/article/details/51724221 ...
2019-07-29 10:54:53
1123
原创 JDK 8 foreach
暂时记住语法格式,但是java 8 foreEach 太浪费性能, 如果注重性能,一定要用iterator, 不要用forEach map的遍历 Map<String, Integer> map = new HashMap<>(16); map.put("a", 10); map.put("b", 20); map.put("c", 30); m...
2019-07-18 15:22:11
1595
原创 https nginx 配置
https nginx 配置 注意: # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user...
2019-05-14 23:01:42
286
原创 mybatis 懒加载导致的错误-解决
mybatis 懒加载导致的错误 解决 @JsonIgnoreProperties(value = { “hibernateLazyInitializer”, “handler” }) { "timestamp": "2019-05-14 18:52:56", "status": 404, "error": "Not Found", "message": "Type defin...
2019-05-14 19:04:31
1462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅