自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FourAu的博客

俺们都是在学习种成长

  • 博客(86)
  • 收藏
  • 关注

原创 MyBatis-Plus-join一张表连两次查询

selectAs(UserAddress::getFileUrl, User::getUserCover) 则是一个子查询,将 UserAddress 表中的文件 URL 字段映射到 User 表的用户封面字段。on.eq(User::getId, address::getUserId) 指定了连接条件,即 User 表的 id 字段等于 UserAddress 表的 userId 字段。这一部分是进行连表查询的关键。(on, address) 表示连接条件对象和 UserAddress 表的别名。

2024-05-29 10:51:53 381

原创 mysqlySQL中启用慢查询日志并设置阈值

分析慢查询:一旦慢查询被记录到日志中,您可以分析这些查询并采取相应的措施来优化它们。通常情况下,您可以使用EXPLAIN语句来查看查询执行计划,并根据需要优化索引或者重构查询。注意:启用慢查询日志可能会对性能产生一定影响,因为MySQL需要将慢查询信息写入日志文件。因此,在生产环境中,建议仅在必要时启用慢查询日志,并在分析完慢查询后及时禁用它。监视慢查询日志:在指定的日志文件路径中,您将找到记录慢查询的信息。重启MySQL服务器:保存并关闭配置文件后,重启MySQL服务器使更改生效。

2024-04-12 13:31:34 749 1

原创 串行流(Sequential Stream)和并行流(Parallel Stream)区别

在上面的示例中,串行流的处理是顺序执行的,而并行流的处理可以利用多线程并行处理数据。综上所述,选择使用串行流还是并行流取决于具体的应用场景和需求。:并行流可以利用多线程并行处理数据,提高处理速度,特别是在大规模数据处理情况下性能优秀。:由于串行流是单线程执行的,因此不需要考虑多线程情况下的线程安全性。:串行流无法利用多线程并行处理数据,对于需要并行计算的场景效率较低。:并行流在处理共享状态时需要考虑线程安全性,需要额外的注意和处理。:对于数据量较小且处理时间短的情况,串行流通常能够满足需求。

2024-03-29 16:06:33 518

原创 POI和EasyExcel区别和操作Excel

EasyExcel 能大大减少占用内存的主要原因是在解析 Excel 时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。请注意,仍然可能会消耗大量内存,这些内存基于您正在使用的功能,例如合并区域,注释…Apache POI 官网地址:https://poi.apache.org/会比较麻烦,比较消耗内存出现OOM(内存溢出异常)优点:可以写非常大的数据量,如100万条甚至更多条,写数据速度快,占用更少内存。缺点:写数据时速度非常慢,非常消耗内存,也会发生内存溢出,如100万条。

2024-03-20 11:55:00 1349

原创 Java8通过Function函数获取字段名称(获取实体类的字段名称)

通过Function写了个工具类。

2024-03-12 17:09:51 452

原创 Fiddler入门:下载、安装、配置、抓包、customize rules

其中判断请求url中是否包含路径是oSession.fullUrl.Contains方法,将字符串转为json的是Fiddler.WebFormats.JSON.JsonDecode(response_body)方法,获取对象中的json是response_json.JSONObject方法,打印日志是FiddlerApplication.Log.LogString(video_name)方法。一般APP都有web端主页,也有微信小程序,所以APP的网络请求可以通过web端主页看,或者通过小程序看。

2024-03-05 16:52:38 3039 1

原创 MyBatis-Plus的saveBatch批量插入为何效率很低耗时长详解及解决方案

后面我加上后还是很慢,后面一遍一遍排查,发现批量插入saveBatch(List)中的entity。,否则还是更具源码for循环中一条一条循环去插入。

2024-02-02 14:58:24 1100

原创 SSE长连接( SpringBoot整合SSE(Server-Sent Events)可以实现后端主动向前端推送数据)

实现sse接口 SseServiceImpl.java。定时任务 SendMessageTask.java。前端路由 IndexController.java。定义sse接口 SseService.java。定义一个返回数据 Message.java。这里简单是用Apifox测试了一下的效果。

2024-01-30 14:09:39 1326 1

原创 Android下载gradle失败解决方法

2、在setting中查看Gradle的保存路径,如下图:C:/Users/Administrator/.gradle,加上第一步的zip路径得到下载gradle zip包路径即:C:/Users/Administrator/.gradle/wrapper/dists。3、用下载工具把对应版本的gradle下载下来(下载地址:https://mirrors.cloud.tencent.com/gradle/),把下载的zip包放进第二部的目录中。

2024-01-23 15:00:28 1350

原创 设计数据库原则

常见关键字(不得直接作为相关命名):range、match、delayed、select、and、from、where、not、in、out、add、as、user、name、key、index、type、group、order、max、min、count、concat、by、desc、asc、null等等,更多请参考 MySQL 官方保留字。如果超长,则从前面单词开始截取,保留单词前三位,保留完整的最后一个单词,如果依然超长,则保留前面单词首字母,直接和最后一个单词连接;内部变量命名以“v_”开头命名;

2024-01-23 09:06:50 904

原创 Use try-with-resources or close this “FileInputStream” in a “finally” clause.

2.类实现AutoCloseable方法也可以,直接不用写finally就可以。1.finally里close的时候用try{}catch{}包起来就好了。原始代码是这样的,当时是个阻断的bug。使用sonarqube检查代码时报错。

2024-01-18 13:12:22 824 1

原创 安卓fragment监听文本内容取值

首先需要自己定义一个最大的BaseFragment,继承这个BaseFragment并在骑宠填充你需要绑定的Fragment。其中v是绑定Fragment的位置。可以在后面的代码中获取直接获取信息。在初始化的时候根据id进行赋值。

2024-01-11 15:58:59 483

原创 samba安装挂载整体流程

samba安装挂载整体流程。

2024-01-05 11:33:35 555

原创 修改微软输入法的时间&日期格式

比如,按照上面我的设置,输入"sj"后第五个候选词,情况如下,虽然我设置的格式确实是第五个候选词,但只是把原生的配置挤到后面了。我想快捷方便记录输入时的当前时间,但是使用这种方式记录的时间格式不友好,很多数据处理软件没办法直接识别这个格式(比如Excel),所以我打算换成常用的时间格式。(因为对于按键习惯来说,按下"5"远没有按下"1"方便,同时很少情况是只输入一个"s"然后选词,也就忽视了1位置被占用给我选词带来的麻烦)一般来说: %yyyy%-%MM%-%dd% %HH%:%mm%:%ss%

2024-01-02 17:16:26 515

原创 JDK下载地址

1.官网下载java 1.8地址(需要注册一个oracle账户):3.华为镜像下载。

2024-01-01 20:14:35 413

原创 maven命令导入第三方jar包

第一步:在pom.xml文件中添加jar包依赖配置,如导入的包名为libH5SDK-Common-1.0.5.0.jar ,配置如下。-DgroupId=com.oracle :这个是项目的包路径,叫什么都可以,一般我们用什么类型的jar包名就叫啥。-DartifactId=ojdbc6 :jar包名称。叫什么无所谓,但最好和jar名一致。-Dfile=C:6.jar jar包所在路径,一定要写对,否则会找不到。需要修改的地方:(等号右边的值修改为你自己的)这个命令有点长,中间不要有换行,换行会出问题。

2023-12-12 09:49:25 428

原创 mysql my.cnf配置文件不生效

翻译这句话就是:全世界都能修改这个my.cnf文件, 安全考虑那就忽略这个文件吧,你配置的我们不用了,全部默认。言外之意就是,配置文件的权限是。

2023-10-31 11:14:03 310

原创 使用canal实现数据实时同步

我自己的应用场景是在统计分析功能中,采用了微服务调用的方式获取统计数据,但是这样耦合度很高,效率相对较低,我现在采用Canal数据库同步工具,通过实时同步数据库的方式实现,例如我们要统计每天注册与登录人数,我们只需要把会员表同步到统计库中,实现本地统计就可以了,这样效率更高,耦合度更低。这其实是添加了能远程访问mysql数据库的用户,账号和密码都是canal,由于我的虚拟机本来就添加过root用户,这里我就不再添加这个canal了,你根据自己情况。基于数据库增量日志解析,提供增量数据订阅&消费。

2023-10-27 10:04:28 1523

原创 23种设计模式详解

简单工厂存在的问题与解决方法: 简单工厂模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了开闭原则,所以,从设计角度考虑,有一定的问题,如何解决?虽然我们具体在构建一台主机的时候,每个对象的实际步骤是不一样的,比如,有的对象构建了i7cpu的主机,有的对象构建了i5cpu的主机,有的对象构建了普通键盘,有的对象构建了机械键盘等。当客户端进行享元对象的请求时,如果享元池中有对应的享元对象则直接返回对应的对象,否则工厂类创建对应的享元对象并保存到享元池。

2023-10-10 09:35:21 213

原创 springboot2.7.15集成springcloud,springcloudalibaba

这边用的是springboot2.7.15以下是集成springcloud,springcloudalibaba的版本推荐。这个是springcloud版本组件的说明。其他的依赖均继承父依赖即可。

2023-10-08 10:15:39 861

原创 数据库被攻击需要注意什么

【代码】数据库被攻击需要注意什么。

2023-09-14 09:51:44 223

原创 Maven导入包

有些时候maven导入不进去包,这个时候可以去直接去maven仓库找到你需要的包。(这只是一个样例,请根据自己需要的包参考)

2023-08-26 23:57:55 478

原创 容器运行命令

docker运行各种容器命令和挂在目录(后续再补充)

2023-08-25 08:45:40 60

原创 fatal: not a git repository (or any of the parent directories): .git

提示说没有.git这样一个目录。

2023-08-22 10:12:37 248

原创 Nginx代理转发地址不正确问题

使用ngix前缀去代理转发一个地址,貌似成功了,但是进不到正确的页面,能够访问,但是一直404远处出来nginx会自动拼接地址在后面。后面才知道要将这段代码加上去,去除前缀转发。

2023-08-21 21:31:41 388

原创 idea 设置了 vm options后无法启动

找到自己idea使用的.vmoptions文件,我是因为之前idea有缓存,一直用的我修改的文件,后面删了就可以启动了。今天想扩展ideaj的JVM 设置了 vm options后无法启动。找了很久,重新卸载后安装也没有用。后面直接打开idea的bat文件。

2023-07-24 10:55:56 617

原创 word使用通配符替换

2023-07-19 09:05:09 70

原创 使用FFmepg对视频进行切片

【代码】使用FFmepg对视频进行切片。

2023-06-21 14:06:17 475

原创 使用java调用Ffmpeg转码

Java 视频转码(转为MPEG-4格式)

2023-06-15 09:04:01 592

原创 nginx配置文件上传大小,超时时间

nginx配置文件上传大小。

2023-06-01 10:41:52 1319

原创 Spring Boot Redis工具类

【代码】Spring Boot Redis工具类。

2023-05-04 23:07:59 606

原创 redis配置文件详解

和 Spring 配置文件类似,可以通过 include 包含,redis.conf 可以作为总文件,可以包含其他文件。开头定义了一些基本的度量单位,只支持 bytes,不支持 bit。这些单位对大小写是不敏感的。

2023-05-04 09:00:54 82

原创 在Java泛型中,T、E、K、V、?等字母都是泛型的类型

需要注意的是,这些字母只是泛型类型参数的一种命名方式,其实际含义并不限于上述解释,而是取决于具体的代码实现。在实际编程中,可以根据需要自定义泛型类型参数的名称。在Java泛型中,T、E、K、V、?K:表示Map中键的类型,常用于泛型类或泛型方法中。V:表示Map中值的类型,常用于泛型类或泛型方法中。E:表示集合元素的类型,常用于泛型类或泛型方法中。T:表示一般的类型,常用于泛型类或泛型方法中。: 通配符,表示任意类型,常用于泛型方法中。

2023-04-23 15:47:40 963

原创 观察者模式

缺点: 1、如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。需要在系统中创建一个触发链,A对象的行为将影响B对象,B对象的行为将影响C对象……意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。一个对象的改变将导致其他一个或多个对象也发生改变,而不知道具体有多少对象将发生改变,可以降低对象之间的耦合度。何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。

2023-04-19 09:00:14 374

原创 redis集合指定返回对象

在这里,我们定义了两个不同的RedisTemplate Bean:一个用于<String, Object>,另一个用于<String, List>。若您已经定义了多个名为userListRedisTemplate的RedisTemplate bean,并且想要在注入时使用指定的RedisTemplate,可以使用@Qualifier注解结合bean名称指定具体的RedisTemplate。此时我们需要添加配置文件,添加自己指定的类型,并扩展redisTemplate。

2023-04-14 22:43:27 343

原创 k8s常用软件包下载

请根据实际需要选择相应版本的安装包进行下载。如果下载速度较慢,可以尝试使用下载工具如 wget 进行下载,也可以考虑使用国内镜像源进行下载。下载完成后,可以将这些安装包上传到内网服务器中,方便后续的安装。在安装过程中,需要注意软件之间的版本兼容性问题。

2023-04-06 14:19:26 1117

原创 JAVA接收Byte字节数组,判断文件是否什么图片类型

在 Java 中,我们可以通过解析图片字节数据的前几个字节来获取图片的类型,通常我们称之为文件的“魔数”。例如,JPEG 图片的前两个字节的十六进制表示是 “FF D8”,PNG 图片的前八个字节的十六进制表示是 “89 50 4E 47 0D 0A 1A 0A”。需要注意的是,将图片转换为不同的格式可能会导致图片质量的降低。同时,如果需要处理多个图片,需要为每个图片生成不同的临时文件来避免文件名冲突。如果你需要对图片进行格式转换,建议使用专业的图片处理工具来进行转换,以保证图片质量和大小的最优化。

2023-03-27 23:00:52 2425

原创 docker虚拟机满了解决方法no space left on device( [ERROR] Unknown/unsupported storage engine: InnoDB )

如果你想让这个磁盘在每次系统启动时都自动挂载,可以将挂载信息添加到/etc/fstab文件中。找到你要挂载的磁盘,并创建一个目录来作为挂载点。忙了一天,发现说此版不够用户,第一时间是给虚拟机分配磁盘。虚拟机中分配完磁盘后,需要将其挂载到虚拟机的文件系统中才能使用。在这个命令中,/dev/sdb1是要挂载的磁盘设备名称,/mnt/mydisk是挂载点目录。这个命令会将挂载信息写入fstab文件中,这样系统在启动时会自动挂载这个磁盘。修复完后检查了一下,原来是日志满了,差点删除docker容器了。

2023-03-27 22:40:15 820

原创 springBoot虚拟机运行脚本

把这个文件放在 /etc/systemd/system目录下。#新闻一个新的server 后需要让这个server生效。#使用journalctl查看管理日志。#修改配置文件需要reload。

2023-03-20 14:21:13 217

原创 Nginx上传文件401报错

看了看后端的配置文件,也已经设置了单个请求最大3GB.后面发现Nginx也有一个设单个请求大小的地方。看了一个Ngixn配置跨域,已经允许跨域了。将这个地方设置成你所需要的大小就可以了。今天上传文件视频报了个错401。后面发现视频大小一个多G。

2023-03-20 13:57:39 418

空空如也

空空如也

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

TA关注的人

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