自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring中基于事件监听驱动 和 线程池的异步任务

通过@Asyc注解可以实现异步我们监听事件之前要有事件源source,事件(Event),发布事件(publishEvent),然后才能到监听事件。事件驱动机制是观察者模式(称发布订阅)具体实现,事件对象(Event)相当于被观察对象(Subject), 事件监听(EventListener) 相当于观察者(Observer)

2024-04-09 12:20:35 782 1

原创 Redis+lua脚本限制ip多次输入错误密码

使用lua脚本主要保证了对上述逻辑的原子性,因为涉及获取key的值并判断,然后将key的值+1 或 删除key。不能锁username,因为如果有人恶意保留破解密码的话。二是有key的情况下,密码错误或者尝试次数大于阈值再次尝试登录,value:当前ip尝试登录的次数。这里我采用 以ip的方式进行锁定。lua脚本,放在resources目录下。Service类加载时,加载lua脚本。具体校验方法,主要逻辑调用了lua脚本。一点是有key的情况下密码正确需要。逻辑简单,假设限制错误次数为5。

2024-04-09 11:10:06 604

原创 【Java】四大函数式接口

在stream流计算中 forEach() 接收一个消费型接口Consumer用于 遍历元素。

2024-03-02 18:18:18 205 1

原创 【JVM】StringTable 字符串常量池

参考:javaGuide是 JVM 为了提升性能和减少内存消耗针对字符串(String 类)专门开辟的一块区域,主要目的是为了。

2024-02-23 18:04:02 516

原创 【Redis数据类型】String实现及应用场景

String 是最基本的 key-value 结构key 是唯一标识value 是具体的值,value其实不仅是字符串, 也可以是数字(整数或浮点数),value 最多可以容纳的数据长度是 512M。

2024-01-19 03:59:17 965

原创 CentOS安装Redis7(Alibaba Cloud Linux兼容)

下载redis的linux版本压缩包make。

2024-01-05 22:41:08 535

原创 Linux安装JDK和Maven并配置环境变量

编辑这个profile文件,在文件中添加JDK环境变量。编辑完成之后,点击键盘“Esc”按键退出编辑状态,输入。进入到/etc目录,找到profile文件。xshell连接到云主机。使用xftp上传文件。

2024-01-05 18:51:19 620

原创 CentOS快速安装Mysql5.7(Alibaba Cloud Linux兼容)

linux下安装mysql

2024-01-04 22:36:38 710

原创 【Redis】八、哨兵模式

自动选取老大的模式主从切换技术的方法是:当主服务器宕机后,需要手动把一台从服务器切为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用,这不是推荐的方式,更多时候,我们优先考虑哨兵模式。Redis从2.8开始正式提供了Sentinel(哨兵) 架构来解决这个问题。谋朝篡位的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库。哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。

2023-12-27 18:44:44 1119

原创 【Redis】七、Redis主从复制(重点)

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower)

2023-12-23 10:13:08 928

原创 【Redis】六、Redis发布订阅

参考:狂神说Java在之前的概念中,也有一个线程把消息发给线程。Redis 发布订阅(pub/sub)是一种:发送者(pub)发送消息,订阅者(sub)接收消息。微信、微博、关注系统!Redis 客户端可以订阅任意数量的频道。

2023-12-23 00:36:20 856

原创 【Redis】五、Redis持久化、RDB和AOF

Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能!

2023-12-18 22:37:44 996

原创 【Redis】四、Redis.conf详解

工作中,一些小小的配置,可以让你脱颖而出!

2023-12-16 21:48:11 932

原创 【MYSQL】事务隔离级别、脏读、不可重复读、幻读

(读取未提交) :最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。(读取已提交) :允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。(可重复读) :对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。(可串行化) :最高的隔离级别,完全服从 ACID 的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。

2023-12-15 11:13:02 979

原创 【Spring】@Transactional事务属性详解

注解开启事务,其中注解的各种属性详解。

2023-12-13 19:51:44 270

原创 【Java】恺撒密码,stream流,方法引用

普通写法, 遍历每个字符进行加密。stream流写法,

2023-11-18 14:47:39 108

转载 使用SpringBoot实现邮件发送

转载来源:https://blog.csdn.net/weixin_47390965/article/details/124015311作者:UnIQUE Eason是一个非常常见的功能,注册时的身份认证、重要通知发送等都会用到邮件发送。Sun公司提供了JavaMail用来实现邮件发送,但是配置烦琐,Spring中提供了JavaMailSender用来简化邮件配置,Spring Boot则提供了MailSenderAutoConfiguration对邮件的发送做了进一步简化。

2023-11-05 20:14:58 151

原创 【Java】反射基础及简单使用

Class clazz4 = cl.loadClass("类的全类名");(1)启动类加载器(引导类加载器,Bootstrap ClassLoader)它用来加载Java的核心库(JAVA_HOME/jre/lib/rt.jar或sun.boot.class.path路径下的内容)。用于提供JVM自身需要的类。并不继承自java.lang.ClassLoader,没有父加载器。出于安全考虑,Bootstrap启动类加载器只加载包名为java、javax、sun等开头的类。

2023-11-02 15:02:26 128

原创 SpringBoot整合阿里云OSS对象存储

阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。阿里云OSS将数据文件以对象(object)的形式上传到存储空间(bucket)中。可以进行以下操作创建一个或者多个存储空间,向每个存储空间中添加一个或多个文件。通过获取已上传文件的地址进行文件的分享和下载。通过修改存储空间或文件的属性或元信息来设置相应的访问权限。

2023-10-27 15:11:30 1401

原创 【Redis】三、SpringBoot整合redis

默认序列化是jdk的序列化方式,自定义RedisTemplete配置config可以自定义序列化方式可以自己配置具体的序列化方式,代码如下所示我们来编写一个自己的 RedisTemplete(下面是一个固定的模板,可以直接用)自己写一个配置类,注入自己定义的RedisTemplateimport com// 这是我给大家写好的一个固定模板,大家在企业中,拿去就可以直接使用!

2023-10-04 19:01:36 642 2

原创 IIS管理器无法打开。启动后,在任务栏中有,但是窗口不见了

原因:由于某种原因,之前该窗口的位置被改动过,显示在我们显示器之外的地方,所以我们看不见它。这个命令把它的设置还原了。并在cmd命令行中调用 inetmgr.exe /reset 进行重启。找到IIS管理器启动程序的所在位置。

2023-10-02 00:12:33 775

原创 【Redis】九、缓存穿透、击穿和雪崩

这里需要注意和缓存击穿的区别,缓存击穿,是指一个key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个缓存key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。当某个key在过期的瞬间,有大量的请求并发访问,这类数据一般是热点数据,由于缓存过期,会同时访问数据库来查询最新数据,并且回写缓存,会导使数据库瞬间压力过大。

2023-10-01 21:38:01 220

原创 【Java】集合List转换为数组【toArray() /stream()流】实现

在Java中,集合(List 接口的实现类)提供了一个名为 toArray 的方法,用于将集合中的元素转换成数组。该方法有两个主要的重载形式,分别用于不同的情况。

2023-08-28 10:48:49 4958

原创 【Redis】一、事务

Redis 事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行!一次性、顺序性、排他性!执行一些列的命令!所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行!Exec● 开启事务(multi)● 命令入队(…)● 执行事务(exec)正常执行事务!放弃事务!(DISCARD )

2023-08-22 18:46:05 116

原创 【Java】字符字符串常用操作api

【代码】【Java】字符字符串常用操作api。

2023-08-20 14:26:10 79

原创 Docker常用命令小结

【代码】Docker常用命令小结。

2023-08-17 17:44:36 52

原创 【Java】对象数组排序(Comparable接口/Comparator接口)

Comparable接口的代码。

2023-08-17 15:11:43 735

原创 VM中linux虚拟机配置桥接模式(虚拟机与宿主机网络互通)

VM虚拟机配置桥接模式,可以让虚拟机和物理主机一样存在于局域网中,可以和主机相通,和互联网相通,和局域网中其它主机相通。vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。

2023-08-15 11:12:09 4048 1

原创 JWT的token与session的区别

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

2023-07-28 17:20:09 335

原创 NAT详解(网络地址转换)

举个例子,客户端172.18.250.6和百度服务器202.108.22.5通信,172.18.250.6发送数据时,先转换为219.155.6.240:1723(任意>1024的随机端口),然后再利用这个身份发送数据给百度服务器,然后百度服务器回应数据并发送给219.155.6.240:1723,NAT网关检查自己的关联表,意识到这是自己地私网中172.18.250.6的数据包,然后把这个数据发送给客户端。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。

2023-07-27 15:29:35 1851

原创 【Java】理解java传参总是采用值传递/按值调用

Java所有的方法传参都是按值调用,方法得到的是所有参数值的一个拷贝。方法参数共有两种类型一个内部方法不可能基本数据类型,但能通过对象引用能够修改对象的内容。如下代码所示解释:方法得到的是对象引用(从某种角度来说可以理解为指针,但严谨来说不是指针)的拷贝,对象引用及其他的拷贝同时引用同一个对象。如果Java采用的是引用调用,那么这个方法能够交互数据的效果但方法没改变存在变量a,b中的对象引用,swap中的x和y被初始化为两个对象引用的拷贝,swap方法交换的是x,y变量中存储的引用(也可以理解为

2023-07-16 20:37:01 212

原创 【Java】自定义对象作为HashMap的键,同时重写hashCode和equals方法

如果要将自定义类的实例 作为HashMap的 键,必须重写hashCode和equals方法。

2023-07-09 22:11:25 616

转载 VUE element-ui中el-button使用iconfont图标

注意:这里icon-font将图标作为文字格式处理,即修改字体大小样式,icon随之改变。4、将文件解压后,在项目assets下新建文件,将解压文件放入。1、进入iconfont官网。可以看到和其他相同的效果;可以看到字体样式太大。并使用任意方式登录。

2023-06-27 16:31:45 2682

原创 torchvision.utils.save_image()保存tensor显示图片异常问题解决

刚开始以为是图像数据分布范围的问题,在保存之前输出图像tensor的最大max和最小min值,出现了 -0.0x和1.0x的数值,说明图像的像素范围超出了0-1。可是通过读utils.save_image()的源码发现,就算超出0-1也不应该出现这种问题,源码中存在如下部分代码。图片和保存路径传入给 save_image()函数就行,不会出现问题。而我在保存之前进行了降维处理,降成了三维(squeeze(0)是降维)有些像素点会显示为全黑(灰度图),如下图所示,第一张和第三张图。

2023-06-22 22:57:34 1321 1

原创 使用torchvision.utils.save_image()将张量 保存 为 单通道灰度图

在这个示例中,我们首先创建了一个假设为128x128的灰度图像张量 gray_image,其形状为 [1, 1, 128, 128]。然后,我们通过将张量的值缩放到0到255的范围(整数)并限制在0到255之间,将其转换为合适的灰度图像格式。最后,我们使用utils.save_image函数将灰度图像保存为PNG文件,命名为gray_image.png。确保在运行代码之前已经安装了torchvision库,该库提供了utils.save_image函数来方便地保存图像。以下是保存灰度图像的示例代码。

2023-06-07 11:23:36 2346 2

原创 快速批量提取PPT中所有图片

将PPT重命名为rar或zip格式后缀(压缩包格式)然后将rar解压,所有图片都在某一文件夹下。解压后,所有图片均在。

2023-05-26 11:21:17 164

原创 vue中文字转语言,适配web移动端

在PC端文字转语音可以使用HTML5中的API,SpeechSynthesisUtterance。

2023-04-09 10:42:32 1538 3

原创 WGS84(GPS坐标) BD09坐标(百度坐标)GCJ02(国测局坐标、高德) 的相互转换

关于三种坐标系的介绍使用手机(如安卓)的默认GPS定位使用的是WGS84坐标系,百度地图使用的自家BD09LL坐标系,高德地图和腾讯地图都是GCJ02即火星坐标系,所以相互之间是需要转换的,不然会有位置偏移。

2023-03-22 10:31:21 11126 1

原创 vue跳转相同路由强制刷新该相同路由组件

而vue自身如果路由不变的情况下是不会这样做的,就是说跳转的路由和当前的路由相同,vue不会进行任何操作,平时开发的时候可能遇到这种需求,在打开该菜单页面的情况下,再次点击菜单需要刷新该组件(销毁再创建)。如果想销毁原路由组件并重新加载一个相同的路由,需要进行以下操作。这样跳转相同路由就能强制刷新组件了,因为key值不同。

2023-03-15 22:26:21 2897

原创 vue,el-table文字过长省略,修改点击显示后el-tooltip的样式

在移动端,使用elementUI表格进行数据展示的时候,有时候有一些不是很关键的信息,不希望占据很多的板面信息。可以添加 min-width=“120” :show-overflow-tooltip=“true”2. 打开开发者工具查看 class 为 el-tooltip__popper。必需要在App.vue文件中修改该 class 的样式才行,在App.vue的。1.点击后会显示省略信息,若想修改显示信息的大小。3. 并发现 dom 位于全局app之外。这样会省略过长的信息。style标签中添加。

2023-03-13 21:17:29 2015

RedisUtils工具类

RedisUtils工具类

2023-10-04

空空如也

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

TA关注的人

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