- 博客(63)
- 收藏
- 关注
原创 Java之23种设计模式学习笔记汇总
设计模式和设计原则的核心思想都是:判断业务应用中可能会变化模块,并且把这些模块独立出来,基于指定的策略进行封装,不要和那些变化的不大的模块耦合在一起,封装思想上基于接口和抽象类,而不是针对具体的实现编程。核心目的就是降低交互对象之间的松耦合度。设计模式和原则都不是可以生搬硬套的公式,个人理解:只要形似,神韵就自然不差。8、设计模式的分类。
2025-04-03 11:11:27
531
原创 nginx https配置
指令启用从 NGINX Plus 到上游服务器的保持活动连接,定义在每个工作进程的缓存中保留的与上游服务器的空闲保持活动连接的最大数量。当超过此数字时,将关闭最近最少使用的连接。如果没有 keepalives,您将增加更多的开销,并且连接和临时端口都效率低下。默认缓存超时为 5 分钟。如果连接池里的连接空闲时间超过这个值,则连接关闭。在最简单的 HTTP 实现中,客户端打开新连接,写入请求,读取响应,然后关闭连接以释放关联的资源。在客户端读取响应后,保持连接处于打开状态,因此可以将其重新用于后续请求。
2025-03-30 23:53:32
610
原创 nginx 负载均衡
跨多个应用程序实例的负载平衡是一种常用技术,用于优化资源利用率、最大化吞吐量、减少延迟和确保容错配置。使用nginx作为非常有效的HTTP负载平衡器,将流量分配到多个应用程序服务器,可以提升Web应用程序的性能,提高扩展性和可靠性。配置服务组使用 upstream定义一组服务。注意:upstream 位于 http上下文中,与server 并列,不要放在server中。
2025-03-30 23:29:42
699
原创 nginx 动静分离
Apache Tocmat 严格来说是一款java EE服务器,主要是用来处理 servlet请求。处理css、js、图片这些静态文件的IO性能不够好,因此,将静态文件交给nginx处理,可以提高系统的访问速度,减少tomcat的请求次数,有效的给后端服务器降压。
2025-03-30 23:11:00
751
原创 win11安装运行RocketMq
变量值:自己RecketMQ的安装目录 (bin目录上一级)或者新建文本文件,改后缀.txt 为.cmd,双击运行即可。效果:启动成功会有如下提示,切记下面窗口不能关闭。如果一闪而过,就是报错了,看命令行具体报错排除。消费者的窗口会开始接收生产者发送的消息,变量名:ROCKETMQ_HOME。
2025-03-12 20:57:13
152
原创 使用Docker部署的Mysql远程连接时报错,Host ‘×××ב is not allowed to connect to this MySQL server
1.进入 MySQL 容器内部。可以使用docker exec -it <mysql - container - name> bash命令(假设<mysql - container - name>是你的 MySQL 容器名称)。4.查询用户的权限信息。使用SELECT user, host FROM user;命令可以查看所有用户及其允许连接的主机信息。2.登录到 MySQL 数据库。在容器内部,使用mysql -u root -p命令,然后输入密码登录。use mysql,进入mysql数据库;
2025-02-24 21:04:45
261
原创 SQL索引
索引(Index) 是帮助MySQL高效获取数据的数据结构。 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。索引在MySQL中也叫做“键”或者"key"(primary key,unique key,还有一个index key),是存储引擎用于快速找到记录的一种数据结构。
2025-01-03 17:30:47
1123
原创 MySql8: Public Key Retrieval is not allowed
如果用户使用了 sha256_password 认证,密码在传输过程中必须使用 TLS 协议保护,但是如果 RSA 公钥不可用,可以使用服务器提供的公钥;但是需要注意的是 AllowPublicKeyRetrieval=True可能会导致恶意的代理通过中间人攻击(MITM)获取到明文密码,所以默认是关闭的,必须显式开启。在MySQL 8中,出现"Public Key Retrieval is not allowed"错误通常是由于MySQL连接的加密设置引起的。
2024-12-26 16:09:22
505
原创 Docker 安装mysql ,redis,nacos
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果。之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件。启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )注意 : 命令中所有 冒号 前面的是主机配置 , 冒号 后面的是redis容器配置。4、Docker日志查看。
2024-12-26 13:39:11
781
原创 Error response from daemon: Get “https://index.docker.io/v1/search?q=mysql&n=25“: dial tcp 119.28.87
docker search pull报错。
2024-12-26 11:10:49
2856
6
原创 关于IDEA启动 报错Port 8088 was already in use.
2、netstat -ano|findstr 8088(输入被占用的端口号)3、taskkill -f -pid 6684(需要关闭的进程号)1、 windows +R 打开终端。
2024-12-11 14:51:18
289
原创 IDEA启动项目报错:Error running ‘‘: Command line is too long.
idea Error running '': Command line is too long.
2024-04-26 10:07:33
299
原创 四舍六入,奇进偶不进
修约描述:四舍六入,奇进偶不进;保留n位有效数字时,第n+1位小于等于4时舍去,第n+1位大于等于6时进位。第n+1为5时,则判断第n+2位为奇数还是偶数,为奇数时进位,为偶数时不进位。原因:1.23后一位为5,5的后一位时1为奇数,需要进位,则为1.24。主要思路就是字符串截取,判断后一位的值,如果是5判断后两位的值。用法:=RTS(A1,n),n为保留几位有效数字。里面里面有不少重复判断代码,后续有空了再改改。例如:=RTS(1.23512,3)
2024-03-21 09:12:45
1241
原创 DBeaver 生成的DDL没有字段注释
场景,需要拷贝几个表。但是因为一些原因无法使用navicat。DBeaver生成的DDL语句又没有字段注释。最后替换字段的双引号为单引号即可。可以通过以下SQL解决。
2024-03-14 10:03:48
4419
原创 设计模式-简单工厂模式
该模式的核心是工厂类。这个类含有必要的逻辑判断;可以决定在什么时候创建哪一个登录验证类的实例;而调用者则可以免除直接创建对象的责任。简单工厂模式通过这种做法实现了对责任的分割;当系统引入新的登录方式的时候无需修改调用者;
2024-01-24 15:56:35
1065
原创 设计模式-单例模式
单例模式保证了 系统内存中该类只存在一个对象,节省了系统资源,对于一些需要频繁创建销毁的对象,使用单例模式可以提高系统性能。当想实例化一个单例类的时候,必须要记住使用相应的获取对象的方法,而不是使用new Object() 的方式。单例模式使用的场景:需要频繁的进行创建和销毁的对象、创建对象时耗时过多或耗费资源过多(即:重量级对象),但又经常用到的对象。
2024-01-23 20:58:17
1510
原创 存储过程与视图
存储程序是被存储在服务器中的组合SQL语句,经编译创建并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与重用性。使用存储过程可以较少应用系统的业务复杂性,但是会增加数据库服务器系统的负荷,所以在使用时需要综合业务考虑。
2023-12-06 21:21:20
735
原创 MySql函数和触发器
函数存储着一系列sql语句,调用函数就是一次性执行这些语句。所以函数可以降低语句重复。函数注重返回值,而触发器注重执行过程,所以一些语句无法执行。所以函数并不是单纯的sql语句集合。触发器是特殊的存储过程,不同的是存储过程要用CALL来调用,而触发器不需要使用CALL。也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MYSQL自动触发调用。
2023-12-06 16:53:25
912
原创 Linux常用命令
r:read(读) w:write(写) x:execute(执行)u:user(所有者) g:group(所属组)o:other(其他人) a:all(所有人)Linux中定义了3种访问权限,分别是r、w、x。编辑模式下面显示:- -INSERT- -命令模式下面显示:(默认什么都不显示)尾行模式下面显示::wq(退出并保存)用户操作:需要系统的root登录。配置文件:/etc/passwd。配置文件:/etc/group。功能:修改目录或文件的权限。如果文件不存在会创建文件。
2023-12-06 09:42:13
520
原创 Liunx 部署教程
打包完成后,/data/gitee/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar就是打包完成后的jar包文件。下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。详见https://gitee.com/help/articles/4191。安装教程:https://www.runoob.com/mysql/mysql-install.html。
2023-12-01 09:12:48
1012
原创 JS赋值,深拷贝,浅拷贝区别
浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用(地址)深拷贝拷贝多层,每一级别的数据都会拷贝es6新增方法可以浅拷贝方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。//通过js的内置对象JSON来进行数组对象的深拷贝。
2023-08-23 09:17:21
144
原创 MySQL(01) 基础查询
部门和员工关系表:插入几条测试数据结果: 图解示意图图1:左外连接图2:右外连接图3:内连接 图4:左连接查询tb_dept表特有的地方。图5:右连接查询tb_emp表特有的地方。 图6:全连接 即左连接联合右连接图7:全不连接 查询两张表互不关联到的数据。 插入数据2、日期统计案例 日期范围内首条数据场景:产品日常运营活动中,经常见到这样规则:活动时间内,首笔消费满多少,优惠多少。ps:有可能会报这个错误 报错原
2023-08-09 11:25:56
171
原创 设计模式01-设计原则
减少代码一处变更引起的程序大规模改动情况,降低类的复杂度,提高类的可读性,可维护性。通常情况下,需要遵守单一职责原则,可以适当违反单一职责原则。
2023-08-09 08:48:40
136
原创 IDEA快捷键大全+动图展示
IntelliJ IDEA(Windows 版)的所有快捷键。并在此基础上,为 90% 以上的快捷键提供了动图演示,能够直观的看到操作效果。
2023-08-04 10:24:00
266
原创 分库分表概念以及应用场景
B+树叶子存的是数据,内部节点存的是键值+指针。如果你的系统处于快速发展时期,如果每天的订单流水都新增几十万,并且,订单表的查询效率明变慢时,就需要规划分库分表了。方案,比如订单id在04000万的区间,划分为订单库1,id在4000万8000万的数据,划分到订单库2,将来要扩容时,id在8000万~1.2亿的数据,划分到订单库3。分库分表采取的是分而治之的策略,分库目的是减轻单台MySQL实例存储压力及可扩展性,而分表是解决单张表数据过大以后查询的瓶颈问题,坦白说,这些问题也是所有关系型数据库的。
2023-07-29 16:53:48
996
原创 千万级数据量,如何查询优化
也许有些人没遇过上千万数据量的表,也不清楚查询上千万数据量的时候会发生什么。今天就来带大家实操一下,这次是基于MySQL 5.7.26做测试。
2023-07-28 00:43:54
405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人