自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 页面替换菜单栏图标

3、在components中创建对应的vue页面添加对应图标svg中代码。1、找到自己喜欢的图标下载svg。5、在对应的菜单下使用图标。4、在router中引入。2、添加到icons中。

2024-07-02 14:59:05 224

原创 vue3 +elementPlus上传照片墙

保存或修改时,第一次添加到fileList时存在response,第二次没有,这里需要debug观察。获取到照片字符串然后push到fileList对应的URL中。

2024-06-27 14:44:58 243

原创 使用远程连接忘记密码时重置密码

前提是能登录进去并且有权限:cat /etc/passwd。passwd 用户名 修改密码。

2024-05-10 09:40:54 174

原创 本地图片的保存以及访问

上传多张图片并压缩生成新的图片接口实现。

2024-05-09 09:49:30 293

原创 解决跨域问题

在 Web 开发中,一个网页的 JavaScript 代码通过 AJAX 请求后端服务器接口时,如果请求的目标地址与当前页面的地址不在同一个域(域名、端口或协议任何一项不同),就会产生跨域问题。这种情况下,根据浏览器的安全机制(同源策略)就会会限制页面的跨域请求,以防止恶意网站对其他网站的访问和操作,保护用户信息安全。1、在Controller层加上@CrossOrigin 注解。2、自定义 WebMvcConfigurer。3、使用 Filter 进行跨域配置。二、解决方案(常用)

2024-03-28 10:22:42 513

原创 宝塔部署项目

五、然后重新 运行 screen java -jar XXXX.jar。四、cltr+c关闭,cltr+a+d切换到后台运行。三、恢复窗口是 screen -r 18509。二、screen -ls 查看运行的窗口。

2024-03-26 15:55:25 191

原创 redis相关面试题

虽然Redis的事务不支持回滚操作,也不具备ACID属性,但可以保证在一个事务中的多个命令是原子执行的,即要么全部执行成功,要么全部执行失败。:客户端在向集群发送读写请求时,会根据键的哈希值计算出对应的哈希槽,并通过集群状态信息找到负责该槽的节点。在AOF文件中记录了每个写操作的命令,当Redis重启时,可以通过重新执行AOF文件中的命令来恢复数据。:当一个节点发生故障或不可用时,集群会自动进行故障转移,从该节点的从节点中选举一个新的主节点来接管数据。:集群中的每个Redis节点负责一部分哈希槽的数据。

2024-02-19 16:42:07 604

原创 RabbitMq相关面试题

主题模式(Topic):主题模式是发布/订阅模式的一种变体,消息发送者(生产者)将消息发送到一个主题交换机(Topic Exchange),交换机根据消息的Routing Key将消息路由到一个或多个队列,消费者可以根据通配符的Routing Key来订阅感兴趣的消息。消费者组内的消费者可以并行地处理队列中的消息,实现消息的负载均衡。在发送消息时,可以设置消息的过期时间,当消息在队列中等待消费时,如果消息的过期时间到达,则消息会被丢弃或者进入死信队列。通过合理设置消息的TTL,可以实现消息的延迟发送效果。

2024-02-19 16:11:14 973

原创 Mybatis开发辅助神器p6spy

(1)数据源配置放在application-dev.yml。(3)spy.properties就放着不影响。p6spy 建议在开发环境使用,生产不使用。(2)依赖scope用provided类型。

2024-02-10 15:56:51 650

原创 常用的git命令

从远程上下载的是master分支,通常开发都会重新拉一个分支,比如dev,在dev分支上进行开发,然后再合并到master上。项目clone完以后会在demo下生成一个.git文件夹,所以,我们要先进入demo文件夹下,才能进行git操作。添加到git缓冲区。在git缓冲区的文件才能提交到git本地分支。要提交到本地分支得先加入到缓冲区,这个步骤不能变。新增和修改的文件,都要经过 add–>commit–>push.把本地分支的代码推送到远程分支上。从远程上拉取新代码。

2024-02-10 15:40:36 901

原创 List stream的9种常用功能

/List分组统计,相当于数据库 select name,count(*)…group by name。//List属性转List ,如果为 null就为0。//(2)、List中的Integer属性转List。//(1)、List中的String属性转List。//List分组,null为0。//(3)、List属性求和。//如果为 null就为0。

2024-02-10 15:28:42 1181

原创 巧用liteflow,告别if else,SpringBoot整合liteflow

3.resources下创建flow.el.xml。

2024-02-10 10:11:47 945

原创 python爬取网站图片案例

4.html_tree.xpath(xpath路径)3.etree.parse() 解析本地文件。4.etree.HTML() 服务器响应文件。//:查找所有子孙节点,不考虑层级关系。2.导入lxml.etree。

2023-09-06 11:21:20 167

原创 面试题总结

单例模式分为饿汉式和懒汉式饿汉式单例模式:在类加载的时候就创建实例(使用final修饰),这种方式线程安全懒汉式单例模式:在需要的时候创建实例,这种方式可以节约资源,但是可能会出现线程安全问题。双重检查锁定单例模式:在懒汉式的基础上,加上双重检查锁来保证线程安全。提高性能volatile:加在变量前,volatile 关键字只能保证可见性和顺序性,而不能保证原子性,它确保对于变量的读取和写入操作不会被编译器优化(防止指令重排),而是直接从主内存中读取和写入。

2023-08-23 18:29:23 943 1

原创 HashMap高频面试题

当多个线程同时触发扩容时,可能操作的是同一个桶下面的的数据,这时如果一个线程执行完了,而另外一个线程在执行过程中出现了一些问题然后恢复了再次执行下面的操作时,由于采用的是头插法,需要遍历将桶下面的元素重新分配到新的位置,假设没有扩容前的顺序是C->B->A,第一个线程执行完扩容操作后,和之前的顺序相反A->B->C,另外一个线程在执行过程按照之前的顺序从C开始,C的next指向B从而导致节点的死循环。当数组的长度大于64,并且链表的长度大于等于8时,链表会转换为红黑树。

2023-08-21 16:53:03 158

原创 mysql滑动窗口案例

【代码】mysql滑动窗口案例。

2023-08-14 19:27:49 460

原创 JVM重点整理

没有最好的回收算法,只有最合适的,目前用的最多的是复合算法。

2023-07-13 17:02:43 1761

原创 @RequestPart和@RequestParam的应用(不同文件的上传方式)

使用@RequestPart(“文件属性名”) 使用MultipartFile[] 去接收。使用@RequestParam(“与前端属性名相同”)获取表单提交的文本参数。对于一个文件域,上传多个文件时,后端使用数组去接收处理。上传多个属性名相同的文件。上传一个图片和一个文本域。

2023-07-10 19:58:07 6206 1

原创 docker快速搭建环境

1.Docker会为每个启动的容器,自动分配一个ip地址,在本地互相访问用2.ip地址信息每个容器的网关都是docker0这个网卡以后同一个机器容器互相访问,只需要用 docker分配的ip即可ifconfig 看所有ip地址这种网络方式无法满足 通过主机名称访问3.创建网络a.看所有的网络b.ip adocker0就是那个桥接网络c.创建网络d.删除所有容器e.创建容器自定义网络+主机名作为域名=容器的稳定访问地址。

2023-07-07 18:58:01 785

原创 MySQL高级整理

key列显示使用了哪个索引一般就是在你的where语句中出现了between、、in等的查询 这种范围扫描索引扫描比全表扫描要好,因为他只需要开始索引的某一点,而结束语另一点,不用扫描全部索引。在决定哪个表做驱动表的时候,应该是两个表按照各自的条件过滤,过滤完成之后,计算参与join的各个字段的总数据量,数据量小的那个表,就是“小表”,应该作为驱动表。possible_keys: 查询涉及的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用,也就是可能使用到的索引。

2023-07-06 14:15:43 705

原创 手机验证码登录以及发送短信通知

一、

2023-06-22 12:27:35 113

原创 MyBatis的缓存、逆向工程、以及分页插件的使用

二级缓存是SqlSessionFactory级别,通过同一个SqlSessionFactory创建的SqlSession查询的结果会被 缓存;b>在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, int navigatePages)获取分页相关数据。一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问。false:读写缓存;

2023-04-24 17:11:39 742 2

原创 关联查询以及动态SQL

Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决 拼接SQL语句字符串时的痛点问题。if标签可通过test属性的表达式进行判断,若表达式的结果为true,则标签中的内容会执行;b>若where标签中的if条件满足,则where标签会自动添加where关键字,并将条件最前方多余的and去掉。一对多对应集合:即需要在一的一方的实体类的成员变量中加上多的一方的集合类型。多对一对应对象:即在多的一方的实体类的成员变量中需要加上一的一方的类型。

2023-04-24 16:26:15 420

原创 MyBatis单表的增删改查以及自定义映射resultMap详解

若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射--resultMap:设置自定义映射属性:id:表示自定义映射的唯一标识type:查询的数据要映射的实体类的类型子标签:id:设置主键的映射关系result:设置普通字段的映射关系association:设置多对一的映射关系collection:设置一对多的映射关系属性:property:设置映射关系中实体类中的属性名column:设置映射关系中表中的字段名--resultMap:设置自定义映射。

2023-04-24 15:45:41 585

原创 MyBatis框架的搭建和测试以及配置文件的详解

工厂模式:如果创建某一个对象,使用的过程基本固定,那么我们就可以把创建这个对象的相关代码封装到一个“工厂类”中,以后都使用这个工厂类来“生产”我们需要的对象。MyBatis中的mapper接口相当于以前的dao。log4j的配置文件名为log4j.xml,存放的位置是src/main/resources目录下。例如:表t_user,映射的实体类为User,所对应的映射文件为UserMapper.xml。b>mapper接口中方法的方法名和映射文件中编写SQL的标签的id属性保持一致。

2023-04-24 15:32:39 498

原创 ajax 的入门案例

ajax,Asynchronous JavaScript And XML,异步的JavaScript和XML同步:伴随着页面的刷新或跳转,即全局刷新;同步请求会阻塞代码的执行,即同步请求会一个一个的执行异步:在不刷新页面的情况下与服务器进行交互,即局部刷新;异步请求不会阻塞代码的执行,ajax请求一旦发送,不会等服务器响应结果完毕,后面的代码就会继续执行ajax的核心对象XMLHttpRequest。

2023-04-12 23:37:53 705

原创 thymeleaf的详解

c>通过FirstServlet向各个域对象共享数据,之后关闭浏览器,在通过SecondServlet跳转到页面,在页面中获取,观察获取情况。d>通过FirstServlet向各个域对象共享数据,之后关闭服务器,在通过SecondServlet跳转到页面,在页面中获取,观察获取情况。th:each=“变量 : 集合”,需要循环哪个标签,就需要将该属性写在哪个标签中,就可以在该标签中使用变量表示集合中的每个数据。th:unless=“条件”,若添加为false,则该属性所在的标签会在页面中存在。

2023-04-12 23:27:21 930

原创 cookie和session的详解以及区别

http无状态协议的解决:HTTP 是一种无状态协议。无状态协议不要求服务器在多次请求期间保留有关每个用户的信息或状态。但是某些 Web 应用程序可能必须跟踪用户从一个页面到另一个页面的进度,例如,当需要 Web 服务器为用户自定义网页内容时。使协议无状态的原因是服务器不需要跟踪多个请求的状态,而不是它如果愿意就不能这样做。这简化了客户端和服务器之间的合同,并且在许多情况下(例如通过 CDN 提供静态数据)最大限度地减少了需要传输的数据量。如果要求。

2023-04-03 21:11:26 1199

原创 每天学一点之Servlet

详解Servlet的相关知识

2023-03-27 19:09:39 555 1

原创 算法简单题——有效括号

利用栈来解决

2023-03-21 08:29:47 114

原创 自己封装一个工具类

将公共的代码抽取出来封装成一个类供自己以后使用

2023-03-19 21:10:09 207

原创 JDBC进阶(如何获取自增长键值、批处理、事务、数据库连接池)

结合案例加强对知识的理解

2023-03-19 12:49:26 938

原创 JDBC的基本操作流程以及Statement和PreparedStateMent的区别

详解JDBC的基本操作

2023-03-17 21:04:25 576

原创 MySQL中事务的相关问题

详解事务的相关问题

2023-03-17 20:12:01 970

原创 多种方式实现List集合的去重和移除Map中指定的元素

【代码】多种方式实现List集合的去重和移除Map中指定的元素。

2023-03-16 14:21:48 1467

原创 每天学一点之关联查询、select七大子句和子查询

详解MySQL语句的难点,以案例的形式来加强理解

2023-03-15 19:57:35 1050

原创 每天学一点之MySQL中函数的使用及其应用

Innodb引擎的表用count(*)直接读行数,效率很低,因为innodb真的要去数一遍。其实,对于myisam引擎的表是没有区别的。这种引擎内部有一计数器在维护着行数。分组函数作用于一组数据,并对一组数据返回一个值。

2023-03-14 20:38:04 192

原创 每天学一点之MySQL中的约束和索引

因此应该在键列、或其他经常要查询、排序、按范围查找的列上建立索引,而对于在查询中很少使用和参考的列、修改非常频繁的列,值很少的列(例如性别只有男和女)等列上不应该创建索引。2、一张表可以设置多个唯一键约束,也可以设置联合唯一键,即多个字段设置一个唯一约束,但是不能使用"unique key"写在字段后设置,必须写在所有字段后,使用"unique key(字段,字段)"但是索引名是列名,不是外键的约束名。从表的外键列,在主表中引用的只能是键列(主键,唯一键,外键),推荐引用主表的主键。

2023-03-14 19:13:00 729

原创 每天学一点之MySQL的基本操作

若在命令行中导入数据出现乱码问题,是因为数据库编码为UTF8,但是dos目录窗口所使用的编码为GBK,此时可以在命令行中使用"set names GBK"解决此问题。ci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小写)zerofill:0填充,当设置了整形的宽度时,若为该字段所设置的值不够宽度的要求,则会在数据之前补0,以达到宽度的要求。(5)同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名。

2023-03-13 19:20:10 174

原创 一文轻松解决MySQL数据库的安装问题

按照本文来操作没有安装不上的

2023-03-12 17:37:39 691

空空如也

空空如也

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

TA关注的人

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