自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis的基础知识

文章目录Redis的基础知识一些基本命令Redis的执行效率为什么那么快?以及为什么Redis是单线程的?Redis的基础知识一些基本命令redis默认有16个数据库,在redis.conf配置文件中可以看到,如下图:默认使用的是第0个,可以使用select切换数据库!如下图:set命令可以存储键格式set key value,get命令可以取出指定的键对应的值格式get key,如下图:dbsize命令可以查看当前数据库的大小,也即是当前数据库里面存放了多少条数据,如下图:keys

2021-02-17 12:21:01 2655 10

原创 MyBatisPlus中向数据库表中插入数据,MyBatisPlus中使用@TableId注解来实现自增序列id自动插入的功能

MyBatisPlus的@TableId注解的使用这个注释主要用于对应数据库表的实体类中的主键属性。写法:@TableId(value=“数据库主键字段”,type = IdType.六种类型之一)例如:@TableId(value=“user_id”,type = IdType.AUTO )1、注解中type的值的含义 //IdType.ID_WORKER_STR 默认的;底层使用了雪花算法;类型为Integer //IdType.AUTO 数据库自增;数据库上也要勾上自增

2021-01-12 14:36:40 28001 5

原创 SpringSecurity用户认证设置用户名和密码的三种方式

文章目录SpringSecurity用户认证设置用户名和密码的三种方式首先明白几个单词的意思:SpringSecurity默认的用户认证1.通过配置文件进行用户认证2.通过配置类进行用户认证There is no PasswordEcoder mapped for the id "null"异常异常出现原因解决办法在内存中存取密码方式PasswordEncoder接口3.通过自定义编写用户细节实现类(需要查询数据库)进行用户认证SpringSecurity用户认证设置用户名和密码的三种方式首先明白几个单

2020-12-20 16:52:55 6181 2

原创 从ElasticSearch7开始一个索引里面只允许有一个映射

就是我们的ES中的每个索引都会有一个倒排索引,会记录这个索引中关键字出现的文档id。但是如果同一个索引 的两个不同映射里面,有一个属性名字一样 但是类型不一样,Es就不知道该去找倒排索引的哪一行了,因为这两个的属性名字都一样 比如都是叫做手机名字,但是类型却不一样,所以对于ES搜索引擎来说不好处理。因为ES最初设计的时候是类比于像mysql这样的关系型数据库,比如说ES的索引就相当于是关系型数据库中的数据库;因此在最初的时候 也就意味着 一个索引里面可以有多个映射,因为一个关系型数据库里面可以有多张表嘛!

2024-04-26 11:32:41 260 3

原创 ElasticSearch搜索引擎中,在Kibana客户端使用命令的时候,千万不要加分号结尾

但是不应该啊,我前面明明已经创建了user_index索引,并且控制台也提示命令执行成功了啊?结果发现控制台确实也是有user_index索引的,证明我们的ES中确实已经有了这个索引了,那么现在问题来了,既然有这个索引,那为什么上面我们创建映射的时候却提示我们索引不存在呢?我又继续看了很久 发现了一个很细节的问题,就是上面的控制台输出的索引并不是"user_index"而是"user_index;ES中此时只有带分号的user_index 并没有不带分号的user_index 所以就会提示找不到索引了。

2024-04-26 11:02:04 290 2

原创 Windows安装ElasticSearch

ElasticSearch服务的段括号是9200,可以直接通过localhost:9200在浏览器里面访问 如下图:而Kibana,也就是ElasticSearch的客户端的端口号是5601,我们可以直接通过localhost:5601访问 如下图:7.16.2的版本需要jdk11,但我本地是jdk8,如下图:但是高版本的不用我们环境变量中的jdk,内部直接内置了,就不会有jdk冲突问题了,因此我们可以下载个高版本的ElasticSearch。因此我就换成了一个最高版本的当前8.13.2版本的 看

2024-04-25 17:30:39 950 3

原创 创建SpringBoot和RabbitMQ的整合项目

后面是消息的一些属性 类似如我们的http协议中的request请求头的信息,包括消息的内容类型了,消息的内容编码了,消息的长度了等信息。这两个端口号特别容易搞错,千万要注意,如果配置文件里的端口号写15672,那么我们的idea里面的java程序就连接不上我们本地已经启动的rabbitmq服务器了。但是我觉得RabbitMQ应该是会有线程安全问题的,比如说因为目前看来同一个队列 两个不同的线程都是可以访问的,那这样的话有共享资源问题 就肯定会出现线程安全问题。不用写交换机和路由的具体信息。

2024-04-25 13:07:47 1834 7

原创 Druid高性能数据库连接池?SpringBoot整合MyBatis整合SpringMVC整合Druid

Druid是阿里巴巴的一个开源项目,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCP数据库连接池、C3P0数据库连接池。而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的青睐!数据库连接池是一个存储数据库连接的缓冲区,用于重复使用这些连接,以避免在每次请求时都创建新的数据库连接。因为每次连接数据库和断开数据库都是非常耗费性能的。

2024-04-23 18:16:11 1083

原创 mysql-connector-java和spring-boot-starter-jdbc和mybatis-spring-boot-start

JDBC是使用java语言操作mysql数据库的规范,java语言必须按照这个规范写才可以操作mysql数据库。

2024-04-23 10:32:10 1047

原创 创建一个空的maven项目,整合SpringBoot和Redis

在最新版的idea中创建maven项目的时候会让选择模板 如下图:我们选择quickstart快速开始模板,quickstart快速开始模板创建的maven项目里面什么都不带,只有一个简单的App类,啥都没有,是默认的maven项目模板,里面是最简单的架构。

2024-04-22 17:02:59 424

原创 @Autowired注解和@Resource注解的区别

首先来说一下IOC容器的作用,在SpringBoot中会把扫描到的每一个类都加入到IOC容器里面,比如现在SpringBoot项目里面有一个类RedisService,那么这个类就会被加到项目对应的IOC容器里面,格式为name = “redisService” type = “RedisService”。name的值固定为类型的第一个字母小写 比如RedisService类型,那么它在IOC中对应的对象的名字name就是redisService。

2024-04-22 16:14:59 767

原创 SpringBoot项目启动的时候直接退出了?

可以看出我们这里只引入了springboot和redis的整合依赖,以及springmvc依赖,并没有springboot的相关依赖,因此接下来我们只需要引入springboot的相关依赖就可以了。仅仅引入spring-boot-starter-web依赖就行了 因为springboot自带的tomcat服务器是在springboot-starter-web依赖中的。在启动SpringBoot项目的时候仅仅用了1.209s,然后直接退出了,也没有出现启动的项目对应的服务器端口号?

2024-04-22 15:36:18 401 1

原创 mvn依赖下载地址

https://mvnrepository.com/如下图:

2024-04-22 14:19:20 332

原创 创建Maven项目的时候让选择maven模板

工欲利其事 必先利其器。如果你想要干成一件事 那么必须先要精通对应的工具使用。之前我不太注重工具 我觉得只要代码写的好就可以了 但是当我们了解了产品经理的一些思想之后,我才明白一个好的产品是可以给用户提供多大的方便。同样idea里面的每个功能也都不是空穴来风,肯定是有原因的,每个功能产品经理在设计的时候都是为了解决用户的痛点问题,开发工程师肯定是遇到了麻烦,所以我们产品经理才会设计这个功能的。

2024-04-22 14:13:34 471

原创 产品原型图概念

高度还原产品运行效果,包括【设计+交互】的保真度。通过【线段+色块+文字】描述产品页面。缺点:传递信息容易遗漏。应用:客户/大领导沟通,产品设计思路的完整展示,求职能力体现。应用:早期方案讨论,需要快速输出的场景,团队配合度高。除了页面外,描述更多业务逻辑与辅助说明,指导产品研发。

2024-04-21 18:33:20 181

原创 Axure琐碎细节

页面中的每个元件都是有层级的,有的元件层级在上面,有的元件层级在下面,层级在上面的元件会覆盖层级在下面的元件。比如说当鼠标移入到确定按钮上时,隐藏确定按钮左边的取消按钮;当鼠标从确定按钮上移开时,显示确定按钮左边的取消按钮。直接全部选中了元件中对应的文字,然后我们就可以开启编辑模式了。当鼠标停到确定按钮上之后 左边的取消按钮就消失了。然后标尺线怎么删除呢?选中然后按delete就可以删除了。

2024-04-21 18:18:22 457

原创 Axure中的样式

如下图:这里的边距指的其实是元件里面的字体相对于元件的偏移量,和我们的html中的绝对位置偏移量是一样的。其中L表示的就是left指的是向左偏移量也就是这个值越大越靠右,T表示的是top指的是向上偏移量也就是这个值越大越靠下;R表示的是right指的是向右偏移量;B表示的是bottom指的是向下偏移量;

2024-04-21 12:17:28 672

原创 leetcode上面的注释的类也可以正常使用

虽然注释了,但是我们仍然可以使用这个类。

2023-12-11 17:56:15 192

原创 远程调试Linux服务器上的代码

首先我们的环境有本地环境还有研发环境,本地环境就是我们本地电脑上面的代码,而研发环境就是我们开发好一个功能,发到一个linux服务器上面的代码;我们可以使用idea的远程debug调试,这样我们就能在本地调试研发服环境的代码了。就比如说你现在登录研发服的游戏,然后你启动了本地服代码,在穿装代码的地方打了个断点,那么等到你再研发服的游戏里面穿装之后,就会进入到你本地idea穿装代码断点的地方。上面的脚本是我们的项目在研发服对应的启动脚本,它是一个shell编程脚本,这里对外的远程调试端口号是36111。

2023-12-08 14:16:01 206

原创 CompletableFuture异步执行

Java 8引入了一个强大的类:CompletableFuture,它在java.util.concurrent包中。CompletableFuture是Future的增强版本,主要用于实现异步编程。首先,我们要理解什么是Future。Future是Java5引入的一个接口,代表一个异步计算的结果。你可以启动一个计算,获取一个Future对象,然后在计算完成后,通过这个Future对象来获取结果。

2023-12-06 14:04:09 224

原创 HTTP2

某些Web页面只想让特定的人浏览,或者干脆仅本人可见。为达到这个目标,必不可少的就是认证功能。

2023-11-28 21:06:29 175

原创 Fiddle抓包工具的安装

首先进入官网:https://www.telerik.com/download/fiddler/fiddler-everywhere-windows。

2023-11-21 15:37:15 80

原创 如何快速下载mysql的不同版本并启动mysql服务?

首先使用管理员的方式打开我们的命令行面板,如下图:右键以管理员身份运行。

2023-11-17 18:32:43 415

原创 TableUtilCache:针对CSV表格进行的缓存

首先来看下CSV文件的结构,如下图:第一行是字段类型,第二行是字段名字;再往下是数据。每个元素之间都是使用逗号分隔。

2023-11-17 14:40:15 803

原创 HTTP——

如下图:第一行:HTTP请求的方法,具体是POST方法还是GET方法,或是其它方法;URI就是你的HTTP请求的路径;后面是HTTP协议的版本;第二行往下连续多行:这些是请求头部分,也就是请求的首部设置的一些信息,相当于对HTTP请求的一些设置;空格行:在请求头与HTTP传递的内容实体之间,需要有一行空格;空格行下方:空格行下方的内容是HTTP的内容实体,比如说客户端发送HTTP请求的时候所发送的参数;

2023-11-13 11:32:40 863

原创 网络安全——

不过,相比对称加密方式,后者在加密和解密上需要花费的时间比较长,在对较长的消息进行加密时往往采用两者结合的方式。今后,除了基本的网络技术外,通过正确理解安全相关的技术、制定合理的安全策略、按照制定的策略进行网络管理及运维成为一个重要的课题。即不是在遇到问题的时候才去处理,而是通过对可能发生的问题进行预测,在可行的最大范围内为系统指定安保对策,进行日常运维,这才是重中之重。然而,随着互联网的日益普及,发生了很多非法访问、恶意攻击等问题,着实影响了企业和个人的利益。IDS根据不同的用途可以提供各种不同的功能。

2023-11-10 18:09:22 1343

原创 应用层协议

利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。TCP和IP等下层协议是不依赖于上层应用类型、适用性非常广的协议。而应用协议则是为了实现某种应用而设计和创造的协议。例如,远程登录等应用经常使用的TELNET协议,它的支持基于文字的命令与应答,通过命令可以执行各种各样的其它应用。

2023-11-10 16:53:54 155

原创 使用电脑上自带的软件进行远程连接

用户名和密码怎么查看呢?

2023-11-10 14:51:27 320

原创 TCP与UDP

TCP/IP中有两个具有代表性的传输层协议,它们分别是TCP和UDP。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。总之,根据通信的具体特征,选择何时的传输层协议是非常重要的。

2023-11-09 20:59:43 503

原创 IP协议相关技术

如果每发送一个IP数据报都要进行一次ARP请求以此确定MAC地址,那将会造成不必要的网络流量,因此,通常的做法是把获取到的MAC地址缓存一段时间。即把第一次通过ARP获取到的MAC地址作为IP对MAC的映射关系记忆到一个ARP缓存表中,下一次再向这个IP地址发送数据报时不需要再重新发送ARP请求,而是直接使用这个缓存表当中的MAC地址进行数据报的发送。因此,这种缓存能够有效地减少ARP包的发送。不过,如果想修改该分层的域名或重新设置域名服务器的IP地址,还必须得在其上层的域名服务器中进行追加或修改。

2023-11-09 20:50:25 159

原创 IP协议,

IP地址(IPv4地址)由32位正整数来表示。TCP/IP通信要求将这样的IP地址分配给每一个参与通信的主机。IP地址在计算机内部以二进制方式被处理。然而,由于人类社会并不习惯于采用二进制方式,需要采用一种特殊的标记方式。那就是将32位的IP地址以每8位为一组,分成4组,每组以“.”隔开,再将每组数转换为十进制数。下面举例说明这一方法:从这个计算结果可知,最多可以允许43亿台计算机连接到网络。实际上,IP地址并非是根据主机台数来配置的,而是每一台主机上的每一块网卡(NIC)都得设置IP地址。

2023-11-09 16:31:09 111

原创 数据链路相关技术

10BASE中的“10”,100BASE中的“100”,1000BASE中的“1000”以及10GBASE中的“10G”,分别指10Mbps、100Mbps、1Gbps以及10Gbps的传输速度。而追加于后面的“5”。当然,这种方式中,一个站在没有收到令牌前不能发送数据帧,因此在网络不太拥堵的情况下数据链路的利用率也达不到100%。同样是以太网,在使用交换机与双绞线电缆(亦或是光纤电缆)的情况下,既可以通过交换机的端口与计算机之间进行一对一的连接,也可以通过相连电缆内部的收发线路分别进行接收和发送数据。

2023-11-08 15:54:06 90

原创 Mac地址和IP地址的区别?

这个地址与网络无关,也即无论将带有这个地址的硬件(如集线器、网卡、路由器等)接入到网络的何处,它都有相同的MAC地址,是不可变的。1、MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:00:50:29:5A:8H:1E就是一个MAC地址。一个16进制数代表4个二进制数,代表着4位,所以两个16进制数就代表8个二进制数,就代表一个字节,因此12个16进制数就代表6个字节,48位;1、MAC地址是在OSI通信协议的第二层,即数据链路层;

2023-11-07 20:53:40 533

原创 TCP/IP的基础知识

计算机的外围附加设备或扩展卡,不是直接插到电脑上或电脑的扩展槽上就能马上使用的,还需要有相应驱动程序的支持。IP将TCP传过来的TCP首部和TCP数据合起来当做自己的数据,并在TCP首部的前端再加上自己的IP首部。因此,细看TCP/IP的应用程序功能会发现,它不仅实现OSI模型中应用层的内容,还要实现会话层与表示层的功能。每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。如上图,在下一层的角度看,从上一分层收到的包全部都被认为是本层的数据。

2023-11-07 19:20:48 933

原创 地址的层次性

然而当地址的总数越来越多时,如何高效地从中找出通信的目标地址将成为一个重要的问题。即使通信主体的IP地址不同,若主机号不同,网络号相同,说明它们处于同一个网段。另一方面,网络号相同的主机在组织结构、提供商类型和地域分布上都比较集中,也为IP寻址带来了极大的方便。个人理解,具有层次性就好比是mysql表使用了索引,可以快速的查询到一个主机,而没有层次性就只能全表搜索,查询效率比较慢。MAC地址转发表中所记录的是实际的MAC地址本身,而路由控制表中记录的IP地址则是集中了之后的网络号。

2023-11-06 15:20:43 92

原创 面向有连接型和面向无连接型

面向有连接型就好比人们平常打电话,输入完对方电话号码拨出之后,只有对端拿起电话才能真正通话,通话结束后将电话扣上就如同切断电源。因此在面向有连接的方式下,必须在通信传输前后,专门进行建立和断开连接的处理。如果与对端之间无法通信,就可以避免发送无谓的数据。因此,在面向无连接的情况下,接收端需要时常确认是否收到了数据。因此在面向无连接的通信中,不需要确认对端是否存在。即使接收端不存在或无法接收数据,发送端也能将数据发送出去。面向有连接型中,在发送数据之前,需要在收发主机之间连接一条通信线路。

2023-11-06 11:39:15 102

原创 发送Http请求的HttpClientUtil工具

使用http请求连接池,可以把一些http连接放到池子里面,这样我们就不用频繁的进行http连接和断开http连接了,需要的时候直接去连接池里面去拿,用完之后就放回到池子里面。注意这里有一个http请求连接池,功能和数据库连接池的功能差不多,都是用来提高连接效率的。为什么频繁的进行http连接和断开http连接消耗性能呢?返回的状态码是200,插入成功!

2023-11-06 11:18:33 110

原创 网络协议的基本概念

在计算机网络与信息通信领域里,人们经常提及“协议”一词。互联网中常用的具有代表性的协议有IP、TCP、HTTP等。“计算机网络体系结构”将这些网络协议进行了系统归纳。TCP/IP就是IP、TCP、HTTP等协议的集合。现在,很多设备都支持TCP/IP。除此之外,还有很多其它类型的网络体系结构。

2023-11-03 15:21:19 705

原创 TCP/IP--七层通信

比如说现在A用户使用的是A类型的邮箱,而B用户使用的是B类型的邮箱,A类型的邮箱的数据格式是A数据格式,B类型的邮箱的数据格式是B数据格式,如果没有表示层,B用户肯定是不能处理A用户发送来的数据格式的,但是有了表示层之后,表示层可以把A用户发送来的A数据格式转换为“网络通用的标准数据格式”,而B类型的邮箱可以对“网络通用的标准数据格式”进行正确的转换,可以转换成B数据格式,这样就不会出现A邮箱和B邮箱的数据格式不通问题了。而在接收端对应的层,也就是在接收端的应用层会把首部信息和发送端的发送内容相分离。

2023-11-03 14:43:49 435

原创 Linux中的Shell编程

Shell 是一个命令解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。2.对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shell脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。1.Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。3.对于大数据程序员来说,需要编写Shell程序来管理集群。

2023-11-01 18:05:12 256

空空如也

空空如也

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

TA关注的人

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