- 博客(73)
- 收藏
- 关注
原创 接口幂等性,如何解决快速点击重复提交问题?
数据库唯一索引,乐观锁、悲观锁、防重表(写在业务前,同一数据库)redis set md5(数据的md5值唯一),全局唯一id。
2024-04-15 10:21:52 135
原创 Linux服务器相关日志默认路径
jenkins日志 rpm安装jenkins,日志默认路径在jenkins.service(/usr/lib/systemd/system/)文件中有定义。nginx日志 yum安装nginx /var/log/nginx/access.log、/var/log/nginx/error.log。系统日志 /var/log/message。
2024-01-25 14:40:17 497
原创 Jenkins相关
1、Linux(Centos7)安装 jenkins (jdk1.8+jenkins2.346),并配置jdk,maven,git,gitee2、Linux(Centos7)安装 jenkins(jdk11+jenkins2.375),并配置JDK,Maven,Git,GitLab3、jenkins和jdk安装教程(安装支持jdk8的最新版本)4、IDEA+Springboot+Git+jenkins+tomcat实现自动部署-基本流程5、清华大学开源软件镜像站6、清华大学开源软件镜像站 - jenkins
2024-01-24 11:51:36 736
原创 Linux下载安装Mysql
6、复制/usr/local/mysql/bin/mysql.server到/etc/init.d/mysql文件中,并添加服务开机自启动chkconfig --add mysql。3、创建mysql安装目录/usr/local/mysql,mysql存储索引数据的目录/usr/local/mysql/data,tar -xvf解压文件到安装目录。4、修改mysql配置文件(mysql服务端:端口号、最大连接数、启动用户、创建新表时的默认存储引擎、安装陌路、数据目录等。mysql客户端:默认字符集)
2024-01-16 13:44:55 558
原创 Java8之Stream API
skip(n):跳过元素,返回一个扔掉了前几个元素的流,若流中元素不足n个,返回一个空流。filter(Predicate p):接收Lambda,从流中排除某些元素。2、通过数组工具类Arrays,Arrays.stream()limit(n):截断流,是元素不超过某些数量。1、通过集合,集合.stream()distinct():去除重复元素。4、创建无限流,主要用于创造数据。一、Sream的四种实例化方式。3、通过Stream.of()二、Stream的中间操作。三、Stream的终止操作。
2024-01-13 17:26:25 443
原创 mysql常用函数
REPLACE(str,from_str,to_str) 给str字符串中from_str替换为to_str。CONCAT(str1,str2,...) 拼接str1,str2成一个字符串。
2024-01-09 14:29:42 346
原创 整合【rabbitmq】
4、rabbitmq的Web管理界面。通常是http://ip:15672/,输入用户名(默认guest)和密码(默认guest)登录。2、查看rabbitmq的安装目录,通常位于"/usr/lib/rabbitmq/"或"/usr/local/rabbitmq/"。1、查看rabbitmq服务状态,systemctl status rabbitmq-server。3、查看rabbitmq的日志文件,通常位于"/var/log/rabbitmq/"目录下。
2024-01-05 01:07:22 350
原创 整合【spring-boot-starter-test】
2.2 ~ 2.4 版本 : 集成 junit3、junit4、junit5。单元测试中标注@Transactional,测试数据不会入库,执行完自动回滚。2.4 ~ 之后 版本: 集成 junit5。之前 ~ 2.2 版本: 集成junit4。表示在每个单元测试之前执行。表示在每个单元测试之后执行。表示在所有单元测试之前执行。表示在所有单元测试之后执行。
2024-01-04 11:19:33 587
原创 整合【事务】
确保如果在一个事务中执行两次相同的select语句,都能得到相同的结果,不管其他事务是否提交这些修改。允许一个事务只能看到其他事务已经提交的修改,未提交的修改不能看到。允许一个事务读取其他事务未提交的修改。
2024-01-04 11:04:08 389
原创 windows端口占用、根据端口号查进程号或任务名称
流程:1、根据端口查询进程号2、根据进程号查询任务名称。网路状况 所有进程号 查询字符串 端口号。查询所有任务列 查询字符串 进程号。
2023-12-14 15:18:51 1318
原创 yaml文件未获取到@project.description@
yml文件中类似 ${spring.application.name}、"@project.description@" 的占位符,在项目构建运行时,需要显示的告诉maven 【过滤配置文件,解析占位符】。【类似于过滤器的效果】
2023-12-14 09:37:38 458
原创 SSO...........
① 创建过滤器注册Bean(FilterRegistrationBean)FilterRegistrationBean 是 Spring 提供的用于配置和注册 Servlet 过滤器的类。它允许通过 Java 代码的方式配置过滤器,并提供了一系列方法来设置过滤器的属性。这类过滤器的初始化参数通常用于在过滤器初始化时提供一些配置信息。通过这行代码创建了一个 FilterRegistrationBean 实例,用于配置和注册过滤器。设置过滤器名称:通过 setName 方法设置了过滤器的名称。
2023-12-13 11:03:40 998
原创 java密码加密
2、用户输入明文密码md5 + 提取出的盐值与数据库中密码比对。// spring security加密。1、获取用户数据库中密码,提取出盐值。// MD5加盐加密。
2023-12-07 12:42:48 324
原创 103、全文检索
这可能很危险,因为它不会提示你确认删除,所以务必谨慎使用。是一个常用于类Unix操作系统(如Linux)中用来删除文件和目录的命令。:这代表着"remove",也就是删除的主要命令,在Unix系统中用于删除文件和目录。:这是一个选项或标志,代表"recursive",也就是递归。这意味着,如果你试图删除一个目录,:这是另一个选项或标志,代表"force",也就是强制。时,它会无条件地、递归地删除文件和目录,而不会询问任何确认。一起使用,当你希望删除一个目录及其内容而不需要确认时。
2023-08-26 11:21:16 242
原创 设置MySQL事务默认隔离界别
set session transaction isolation level read uncommited select @@session.transaction_isolation set SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDSELECT @@SESSION.transaction_isolation
2023-08-19 23:27:02 47
原创 记录windows蓝屏,强制重启后导致windows上虚拟机docker中的mysql镜像坏掉了
日常开发学习时,我都是用一个笔记本,项目采用前后端分离的微服务架构,中间件nacos在window上部署运行,mysql和redis都是部署在windows虚拟机的docker中,大量的进程给电脑内存干崩了,最后导致蓝屏,没办法只能强制重启。2、mysql是在docker中,先去看docker的启动状态(sudo systemctl status docker),发现正常启动,再看所有容器状态(sudo docker ps -a),发现redis正常,mysql未启动。
2023-07-18 23:14:45 320
原创 设计模式之代理模式
代理模式分为静态代理和动态代理,其中动态代理又包括jdk动态代理和cjlib动态代理,Spring框架底层用到了很多动态代理。
2023-06-05 22:57:57 465
原创 【坑】使用lambda表达式filter(Objects::nonNull)过滤掉空元素
开发时遇到一个问题,对象集合中所有对象的某个同一属性全是null,使用map()映射该属性得到的集合不为空
2023-06-02 17:01:10 1622
原创 for (;;) {}是什么写法?
这种写法通常用于需要持续运行或监听某些事件的场景,例如服务器端的消息监听、守护线程的执行等。在使用死循环时,需要谨慎处理循环体内部的逻辑,确保循环能够在适当的时候退出,避免陷入无限循环造成系统资源的浪费或程序无法正常终止。要注意的是,在某些情况下,编译器或代码静态分析工具可能会提示无限循环的警告或错误,因为这种写法可能会引起程序不可达的问题。因此,在使用死循环时,需要确保循环终止的条件是正确设置和处理的。这种写法的循环条件永远为真,因此循环会无限地执行下去,除非在循环体内部通过。或其他条件跳出循环。
2023-05-29 17:29:43 4586 1
原创 详解ThreadPoolExecutor
public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue,
2023-05-29 17:25:13 415
原创 函数式编程
addOne.andThen(multiplyByTwo) 表示先应用 addOne 函数,然后将其结果作为参数应用于 multiplyByTwo 函数。* composedFunction 是通过将 addOne 函数和 multiplyByTwo 函数进行组合而得到的。// 使用 Function 函数式接口进行函数组合。* @author 苏煦。
2023-05-27 16:52:13 311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人