- 博客(27)
- 收藏
- 关注
原创 G1处理器GC调优常用参数详解
G1 垃圾收集器会根据新生代空间不足、老年代占用空间超过阈值,以及达到 Mixed GC 周期等情况,来触发 Mixed GC。Mixed GC 是一种增量式的垃圾收集策略,可以有效地回收整个堆内存中的垃圾,并控制垃圾收集的停顿时间。
2024-08-21 16:01:36
1491
转载 mybatis if判断报错找不到参数
如果参数是一个map,且map没有用@param注解修饰,直接用#{key}的形式就可以。mybatis的 <if>标签只能判断 Map 或者 javabean 里的属性 ,如果用了@param修饰,则必须为#{map.key}的形式。
2024-07-26 11:05:35
167
原创 一次内存的Gc优化过程
前段时间接了一个简单的需求,业务需要对本地缓存caffiene做拆解,把一部分及时性要求高的数据单独拆出来从新的redis读取。为了做数据的灰度验证,所以原缓存中被拆分的字段任然保留,逐步放量切到新缓存,新redis数据有问题的情况下可以及时通过灰度切换原缓存,保证不对线上业务产生影响。
2024-07-17 16:47:18
660
原创 docker创建redis
这样,新的RDB文件就会被加载到Redis容器中,并且数据会被恢复。请确保在进行操作前备份了原有的RDB文件和Redis数据,以便在需要时进行恢复。将RDB文件复制到Redis容器所在的主机上,假设文件名为。目录中(假设容器中Redis的数据目录是。这将把RDB文件复制到Redis容器的。,Redis 服务器的密码为。假设你的 RDB 文件名为。
2024-07-16 15:16:49
590
原创 docker常用命令
在 Redis 中,你可以通过执行 SAVE 命令来生成 RDB 文件。该命令会阻塞 Redis 服务器,直到 RDB 文件生成完成为止。在 Redis 中,RDB 文件是一种持久化方式,用于将 Redis 数据存储到磁盘上。你也可以在 Redis 配置文件中设置自动保存的规则,让 Redis 定期生成 RDB 文件。这些设置会让 Redis 在满足条件时自动执行 SAVE 命令来生成 RDB 文件。执行完毕后,Redis 会在工作目录中生成一个名为。这将会在后台生成一个新的 RDB 文件。
2024-07-15 15:58:35
303
1
原创 java接入微信支付
在上面的代码中,PayController接收支付请求并将请求转换为WxPayUnifiedOrderRequest,调用WeixinPayService的createOrder方法创建微信支付订单,并返回结果。在微信支付结果通知的地址上,接收微信支付结果通知,并调用WeixinPayService的processPayResultNotify方法处理支付结果通知。在上面的代码中,WeixinPayService中封装了微信支付的一些操作,包括创建订单、查询订单、处理支付结果通知等。
2024-04-08 09:35:12
633
原创 java G1垃圾处理器
JVM(Java虚拟机)的默认垃圾收集器取决于JVM的版本和配置。在不同的JVM实现中,可能会有不同的默认垃圾收集器。在Oracle JDK和OpenJDK中,自Java 9开始,G1 (Garbage-First) 垃圾收集器成为默认的垃圾收集器。在Java 8及之前的版本中,CMS (Concurrent Mark-Sweep) 垃圾收集器通常是默认的垃圾收集器。然而,这取决于具体的JVM实现和配置。
2024-04-08 09:23:31
949
原创 spring 事务注解用法
注意:尽量不要在事务方法中请求外部api或者接口,可能会发生事务方法异常回滚但是外部接口已经处理,进而导致数据不一致的问题。如果有实际场景可以选择拆分事务方法,保证事务方法的ACID特性。
2024-04-08 09:23:11
222
2
原创 SimpleDateFormat 线程不安全
类进行日期时间格式化和解析,该类是线程安全的,可以在多线程环境中使用。对象对日期进行格式化或解析时,就可能会抛出异常或得到错误的结果。对象可能会导致线程安全问题。例如,在多个线程同时使用同一个。类是非线程安全的,因此在多线程环境下并发使用同一个。方法进行日期时间格式化和解析。需要注意的是,需要将。实例,以确保每个线程都使用自己的。实例进行日期格式化和解析。在上述代码中,定义了一个。类型进行解析,然后再将。
2024-04-08 09:22:50
247
原创 shell怎么把日志输出到文件中
将标准错误输出重定向到标准输出,这意味着标准错误输出会和标准输出指向同一个地方。这通常用于捕获错误信息并将其与标准输出一起重定向到同一个文件中,方便进行日志记录和错误处理。是一个重定向操作符,用于将标准错误输出重定向到标准输出。在Shell脚本中,你可以使用重定向来将命令的输出输出到文件中。文件中,这样就可以将命令的所有输出(包括标准输出和标准错误输出)写入同一个文件。将脚本的标准输出重定向到文件中。将会把脚本中的标准输出和标准错误输出都重定向到。的标准输出和标准错误输出重定向到。的输出将会被重定向到。
2024-04-07 17:53:00
2344
原创 watchdog.sh看门狗脚本
如果你希望只有一个实例在任何时候执行,你可以在脚本中使用锁文件或者其他机制来确保只有一个实例在运行。脚本时,每次执行都会启动一个新的进程,但这些进程是相互独立的,它们不会相互影响。这个命令会返回匹配进程的进程ID,如果有匹配的进程则会返回一个非零的退出状态码。脚本添加到系统启动脚本中,以便在系统启动时自动执行。脚本,可以通过修改系统的启动脚本或者使用cron任务来实现。脚本添加到系统启动中,使其在系统启动时自动执行。脚本是否有进程在执行,你可以使用。脚本,而不是单个脚本多次执行。脚本复制到该目录,并使用。
2024-04-07 17:41:32
647
原创 cetos开启swap虚拟内存
如果系统没有swap分区或swap文件,可以创建一个新的swap文件。确定系统当前是否已经有swap分区或swap文件。最后,可以通过运行swapon -s命令来验证swap文件是否已经启用。请注意,在创建和启用swap文件时,确保系统上有足够的可用空间。
2024-04-07 17:11:46
703
原创 线程池EXECUTOR.shutdown() 方法
方法不会立即停止线程池,而是会等待任务队列中的任务执行完毕后再停止线程池。这可以确保线程池中的任务能够得到执行,同时避免新任务的接收。执行队列中的任务:线程池会等待任务队列中的任务执行完毕,不再接收新任务。关闭线程池:一旦任务队列中的任务执行完毕,线程池中的所有线程会被停止并且线程池会完全关闭。方法会停止接收新的任务,但会让已经在任务队列中的任务继续执行。这个方法会尝试立即停止线程池,并返回尚未执行的任务列表。如果你希望立即停止线程池,并且放弃尚未执行的任务,可以使用。
2024-04-07 16:44:20
1326
原创 Linux常用命令
这将会解压名为 yourfile.tar.gz 的文件。这将会解压名为 file.gz 的文件,同时保留原始的 .gz 文件。这将会解压名为 file.gz 的文件,解压后的文件名为 file。
2024-04-07 16:42:18
585
原创 vue中“==“和“===“的区别
例如,1 == "1" 会返回true,因为在比较前,字符串"1"会被转换为数字1。"===" 是严格相等运算符,也叫做恒等运算符,它不会进行类型转换,而是直接比较两个值的类型和值是否完全相同。只有在类型和值都相同的情况下,"==="才会返回true。例如,1 === "1" 会返回false,因为一个是数字类型,一个是字符串类型。在Vue中,通常建议使用"==="进行严格相等比较,因为它可以避免一些类型转换带来的意外行为。在Vue中,"=="和"==="是JavaScript中用于比较两个值的运算符。
2024-04-07 16:32:50
941
原创 import javax.annotation.Resource; 和import jakarta.annotation.Resource;有什么区别
用于注入资源,例如数据源、JMS连接工厂等。然而,在Java EE 8中,Oracle决定将Java EE移交给Eclipse基金会,并更改了一些包的命名。总的来说,这两个import语句的区别在于Java EE平台的版本。根据您的项目所使用的Java EE版本,您需要选择相应的import语句。这两个import语句涉及到Java EE平台的变化。在Java EE 8之前,所以,如果您的项目是基于Java EE 8及之后的版本,您应该使用。而如果您的项目是基于Java EE 8之前的版本,您应该使用。
2024-04-07 16:31:47
2294
原创 Redundant array length check
在 Java 编程中,"Redundant array length check" 是一个静态代码分析工具(例如 FindBugs、PMD 或 Checkstyle)可能会发出的警告。冗余的数组长度检查指的是在访问数组元素之前进行的额外检查,这些检查可能是多余的,因为在数组访问期间会自动进行边界检查。如果您使用的是静态代码分析工具,建议您根据具体情况来判断是否删除冗余的数组长度检查,以确保代码的性能和可读性。是一个冗余的数组长度检查,因为在 for 循环中已经检查了数组的长度。
2024-04-07 16:23:47
479
原创 mysql常用sql
语句向表中的特定位置插入新的字段。是已存在的字段的名称,在该字段之后添加新字段。的表,您想在第三个位置插入一个新的字段。在 MySQL 中,您可以使用。是您要添加的新字段的名称,是您要操作的表的名称,例如,如果您有一个名为。字段之后插入一个新的。是新字段的数据类型,
2024-04-07 16:18:36
153
原创 8080端口占用问题解决
重新运行您需要使用端口 8080 的程序,确保端口现在已经被释放。这将列出所有占用端口 8080 的程序以及它们的 PID。这将列出占用端口 8080 的程序以及它们的 PID。打开命令提示符(CMD)或 PowerShell。替换为您在步骤 3 中找到的程序的 PID。替换为您在步骤 3 中找到的程序的 PID。记下占用端口 8080 的程序的 PID。记下占用端口 8080 的程序的 PID。
2024-04-07 16:16:54
2685
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人