自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RT_0114的博客

量变产生质变

  • 博客(304)
  • 问答 (1)
  • 收藏
  • 关注

原创 easyexcel解析csv文件

复制一份已有的数据库对象,加个VO后缀代表是非数据库对象,修改此VO结尾的对象的字段属性全部为string,因为在easyexcel转换对象映射的时候会默认转成string类型。此注解定义和csv文件列的关系。这里注意那些没用的属性不要出现在此映射类中。

2024-08-02 16:54:35 854

原创 sftp做成一个池子

sftp:mft:pool:生产sftp连接,获取上一步定义好的属性实现三个方法,create方法创建连接import comtry {throw new RuntimeException("连接sfpt失败" , e);} }try {throw new RuntimeException("连接sfpt失败" , e);

2024-08-02 16:04:48 591

原创 mysqldump迁移数据

数据量在G级别的可以使用mysqldump来迁移,T级别的不建议使用,测试验证6.9G的文件通过mysqldump方式gz后699M,耗时27分钟,压缩率在10倍,30分钟处理7G数据,换算下来一分钟处理238M数据,结论就是如此。恢复的时候速度很快,6.9G的数据恢复具体时间没看,大概不到5分钟时间。

2024-06-13 17:38:00 480

原创 磁盘挂载lvm

新拿到一个主机,挂载磁盘,但是之前实在是没做过,这里也算是学了点东西,挂载分pv vg lv这些,这里第一个坑就是直接挂载这个后续没办法扩容,如果挂载的盘上装的数据库那就惨了,只能把数据迁移走再扩容了,下面是可扩容的操作建议全部按下面的步骤来。

2024-06-13 11:40:39 350

原创 springboot集成logback-spring.xml文件

【代码】springboot集成logback-spring.xml文件。

2024-03-28 00:45:13 408

原创 springboot+mybatis项目集成p6spy输出格式化sql日志

本文背景:公司项目框架是基于springboot+mybatis的web项目,由于鄙人在使用过程中发现打印的mybatis日志每次都要粘贴出来,然后再用在线工具的格式化填充参数,很不方便,最近发现那个在线的工具打不开了,更不方便了,因此想有没有直接可以输出的填充好参数的sql语句,当然idea的插件不算哦,因为线上服务是没有插件的,也没有集成mybatisplus因此经过一番折腾研究,找到了一个比较好用的开源依赖,可以无缝使用,他就是p6spy。

2024-03-27 23:48:15 1332

原创 springboot2.X整合activity6.X

/排除此配置,暂时排除security的验证,真正的项目中需要打开此配置。版本6.0.0目前最新的版本是7后续会加上7的集成,6和7的差别不是很大。新建springboot项目版本。至此一个建议版本的集成就完成了。让程序自动创建相关的表信息。

2024-03-25 08:52:24 931 1

原创 java客户端实现传文件,服务端用dto的属性MultipartFile类型接收

2024年发的第一篇,哎 都说认识会变的,没错我就变了,23年发了2篇,24年估计也不会多,为什么呢?因为基本没有什么我不会的了,以前总感觉自己跟做了3~5年的开发技术差不多,现在我不这么认为了,因为很多3年多的技术是摸鱼过来的,所以显得我就有一点很强,哈哈哈哈哈哈哈哈哈哈,上正文。

2024-01-27 19:43:14 658

原创 es多条件或的关系,高亮,分页查询

【代码】es多条件或的关系,高亮,分页查询。

2023-05-12 14:58:38 611 1

原创 es安装ik分词器

2、安装ik分词器,版本和es版本对应。4、启动会报错,找不到。5、自己新建这个文件。

2023-04-04 00:36:13 728

原创 java加密和js的CryptoJS加密

背景:java的解密加密和js的对应这里做个记录,这里加密hello字符串为示例。

2022-11-24 15:43:51 1586

原创 Optional常规用法

总结一下Optional用法,大概分为一下几类,不是说以前的写法不行,都可以只是现在的这种方式可以炫,其实也没啥性能提升。

2022-11-17 14:43:42 774

原创 CompletableFuture理解与应用

背景:有需要用到异步编程的,需要响应式回调,不是单线程不好,redis就很棒。根据实际情况选择,介绍了,Future和RxJava的Observable之间的区别可以看看。

2022-11-16 17:56:51 838

原创 实体类dto流式set

第二种:链式set,跟stream用起来一样很流畅。看到别人这么些还可以,没实际意义只是炫一下。第一种:普通的一行一行set。

2022-11-15 16:40:21 431

原创 线程池用法

刚好符合预期目标,3耗时最长第一个调用但最后返回,1最后调用耗时最短最先返回,异步获取结果,三个任务按照各自执行的速度谁先完成先拿到谁的结果。刚好符合预期目标3耗时最长只有等3返回了1和2才返回,每次都写每次都查记录成册,以后就看这里。callable实现同上。可以看到打印出的顺序事。可以看到打印出的顺序事。

2022-11-10 13:48:12 177

原创 一个简单的Callable

至此简单的Thread+FutureTask完成。至此简单的线程池+FutureTask完成。主线程直到获取‘将来’结果。调用任务类,不获取返回结果,调用任务类,获取返回结果,,跟上面一样,这里不过多写。

2022-11-09 17:23:16 142

原创 消耗服务器cpu和内存

背景:接到一个需求服务器的cpu利用率必须达到16%以上,不然会回收部分服务器资源。写一个程序消耗服务器cpu资源但要保持在16%不能太高也不能太低。启动(只占用其中两核心,分别占用60%、60%;,此时运行top命令查看cpu的使用率。如果要释放cpu资源,运行。至此shell脚本消耗内存和cpu的代码完成。是class文件的包名,也就是java文件的。至此java消耗服务器cpu和内存的脚本完成。需要构造消耗2颗cpu的资源运行脚本。消耗cpu脚本cpu.sh。消耗cpu和内存的脚本。

2022-11-09 14:11:21 2431

原创 一个简单的Runnable

首先是一个任务类,这里做具体的业务逻辑,需要什么参数通过。其实质跟thread模式创建一样。调用任务类发起请求,实现主线程。调用任务类发起请求,实现主线程。

2022-11-08 10:26:53 196

原创 java日期校验

【代码】java日期校验。

2022-11-08 10:07:46 934

原创 springBoot-aop-aspect注解形式和方法名形式

被拦截的方法,需要被拦截的方法上加注解。这样一个简单的注解拦截就实现了。这样就实现了一个传统的拦截。

2022-11-07 17:40:16 278

原创 mysql乾坤大挪移A库下的表去B库

使用场景:A库下的表mv到B库去,因为是mv所以很快,这里强调不是copy,执行完A库下的表就没了。测试几十G的数据只需要十几秒。

2022-10-27 11:30:43 579

原创 对象转json,json添加转义符

json添加转义符,ObjectMapper 是jackson对象。

2022-09-20 15:01:01 1116

原创 一个简单的Thread

首先是一个任务类,这里做具体的业务逻辑,需要什么参数通过构造方法引入。调用任务类发起请求,实现主线程。调用任务类发起请求,实现主线程。

2022-09-08 16:49:34 211

原创 @Profile注解多环境

在容器中如果存在同一类型的多个组件,可以使用@Profile注解标识要获取的是哪一个bean,这在不同的环境使用不同的变量的情景特别有用。例如,开发环境、测试环境、生产环境使用不同的数据源,在不改变代码的情况下,可以使用这个注解来切换要连接的数据库。注:2、4、5步其实是带参构造方法的步骤,相当于把带参构造方法拆开,在其中插入一条语句设置容器环境,这些可以在Spring的源码中可以看出,比如下面的代码。接下来,看下@Profile注解的源码,如下所示。

2022-09-08 15:23:10 974

原创 spring事件监听与发布

在使用 Spring构建的应用程序中,适当使用事件发布与监听的机制可以使我们的代码灵活度更高,降低耦合度。Spring提供了完整的事件发布与监听模型,在该模型中,事件发布方只需将事件发布出去,无需关心有多少个对应的事件监听器;监听器无需关心是谁发布了事件,并且可以同时监听来自多个事件发布方发布的事件,通过这种机制,事件发布与监听是解耦的。创建/监听事件应该以下准则事件类应该继承事件的发布者应该注入事件监听者应该实现创建事件类 继承} }创建事件的发布者 注入。

2022-09-08 15:22:09 827

原创 redis锁基于注解实现

Target({/**请求唯一标识*/ String key() default "";}// 获得当前访问的class Class

2022-09-05 20:00:10 374

原创 easyExcel导入报错excelType

三种类型其他都报标题的错,那么好,我的是小写xlsx,改成大写问题解决。第一时间检查excel类型没问题,因为本地跑是可以的,然后百度无果。百度基本都是说流的问题,尝试过也没用。

2022-09-05 19:59:48 2409

原创 mybatis批量插入

这里传入的map结构中的key必须是users类似于传list用@Param绑定的别名,map如下。用@Param注解绑定别名,xml中的collection的值要和@Param一致。不用@Param注解绑定,xml的collection的值默认传list固定写法。用mybatis的@Param绑定别名,xml里面collection写别名。的方式在下一篇查询的时候会列举,对于优化系统至关重要。丢掉单条插入,大数据选批量插入。

2022-09-05 19:59:16 513

原创 mybatis批量查询效率对比

查询条数foreach耗时${}耗时pstm耗时最快最慢8000030722519596pstmforeach4000015971099330pstmforeach20000860639136pstmforeach10000389315101pstmforeach500022718141pstmforeach2000535616pstmforeach耗时:foreach>${}>PreparedStatement。

2022-09-05 19:58:55 1528

原创 mybatis批量插数据效率对比

可以很明显看到当数据量大于4W的时候pstm的效率比foreach高50%左右。在数据量不上万的情况下两者选foreach编码简单,效率可以忽略。插入字段值30+以上,小于30个不统计。分别插入不同数据量对比两种方式的效率。上一篇说到批量插入数据,这里详细对比。

2022-09-05 19:58:22 390

原创 线程池执行过程

总体逻辑就是:创建新的Worker对象,并获取Worker对象中的执行线程,如果线程不为空,则获取独占锁,获取锁成功后,再次检查线线程的状态,这是避免在获取独占锁之前其他线程修改了线程池的状态,或者关闭了线程池。(3)向任务队列中添加任务成功,由于其他线程可能会修改线程池的状态,所以这里需要对线程池进行二次检查,如果当前线程池的状态不再是RUNNING状态,则需要将添加的任务从任务队列中移除,执行后续的拒绝策略。此时表示线程池中的任务队列已满,并且线程池中的线程已满,需要执行拒绝策略,代码如下所示。

2022-09-05 19:57:53 1218

原创 java彻底搞懂单例模式

百度百科:是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。

2022-09-05 19:56:47 242

原创 mybatis批量更新

mybatis批量更新

2022-09-05 19:54:51 131

原创 多线程+easyExcel实现数据导入

背景:数据导入基于线程池需要获取返回值记录导入记录,采用easyExcel读取excel导入数据库。

2022-09-05 19:53:01 3698

原创 java线程异步get

分析:通过结果可以看到,代码执行任务的顺序是:3-1-2,获取结果的时候返回也是按照执行的顺序。这里有一个缺陷,主线程会一直等待任务3的结果,任务3需要执行3秒,任务1和任务2执行完了,却被任务3阻塞住了,当然部分场景这样也可以。在开发中为了提高系统处理效率,用到多线程,多线程不细讲,主要说明一下多线程执行后拿到返回结果,这个也是部分新人容易忽视的,刚好最近在使用记录下。可以看到,拿到返回结果是按照执行速度快慢返回的,避免了第一种阻塞的方式,这种方式也叫做异步获取。

2022-09-05 19:51:14 274

原创 ES中同时使用should和must导致只有must生效解决方案

使用should和must导致只有must生效

2022-07-28 19:16:33 1405

原创 es查询报错Found class org.elasticsearch.common.bytes.BytesReference, but interface was expected

Found class org.elasticsearch.common.bytes.BytesReference, but interface was expected

2022-07-24 20:51:10 1177

原创 feign调用get和post记录

调用方传userId和size并绑定@RequestParam,服务提供方会自动解析到userId到User对象的UserId上,解析size到PageRequest对象的size上。get请求调用方的形参必须都加注解,服务提供方是对象接收,调用方必须用@RequestParam修饰,多个就写多个。服务提供方和服务调用方保持一致。服务提供方和服务调用方保持一致。服务提供方和服务调用方保持一致。服务提供方和服务调用方保持一致。服务提供方和服务调用方保持一致。服务提供方和服务调用方保持一致。...

2022-07-20 14:42:01 992

原创 mongodb安装

参考:https://blog.csdn.net/qq_41992943/article/details/115546623https://blog.csdn.net/qq_29467891/article/details/107032924https://blog.csdn.net/m0_37967652/article/details/122105071下载:https://www.mongodb.com/try/download/community本次下载版本号:4.4.13 系统:cen

2022-04-12 10:39:05 858

原创 mysqlbinlog命令使用

参考:https://www.cnblogs.com/zouhong/p/14540380.html

2022-04-10 00:02:05 1776

windows版本es7.8.0和对应的ik分词器

windows版本es7.8.0和对应的ik分词器

2023-04-11

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

TA关注的人

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