自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 将用户添加到docker组

通过这个命令,您向其他用户授予了对Docker套接字的读写权限,这意味着其他用户可以通过该套接字与Docker守护进程进行通信,而不需要通过sudo命令获取root权限。因为只在当前会话有效,所以执行完该命令后,我们在当前终端中实行docker的命令,不需要添加sudo,但是如果打开一个新的终端,执行docker images还是会提示权限不足。上网查了资料,如何关闭了终端或者重新登录后,仍然可以不使用sudo执行docker命令,尝试了注销再次重新登录,重启虚拟机,都没有用。1.查看docker用户组。

2024-02-21 12:42:12 1884

原创 使用idea远程开发maven项目遇到的问题

通过问同学是否有remote development选项,他的版本是2022,webstorm是2022,至少都不是2021,也都有远程开发的选项,于是尝试升级idea版本。查看文件夹的权限是否是可写的,如果是只读的,要修改权限)在setting中查看maven的设置,发现不是之前下载好的3.6.0版本的maven,setting.xml和repository的路径也不对。的,不是maven没有拉取依赖,而是无法写入到你所指定的文件夹中。之后项目一直在加载,maven拉取依赖一直在加载。

2024-02-20 17:04:39 522

原创 SQL中的AVG函数

使用distinct关键字,avg函数仅计算字段中的唯一的值。默认使用all关键字,avg函数将获取计算字段中的所有值。)的行的数量,然后除以总行数,得到条件为真的行的比例。eg:一组集合number(1,2,3,3,4)函数时,它首先会计算条件表达式为真(即非空的。完整示例代码,对应力扣题号:550。

2024-01-26 10:47:59 1355

原创 日期和时间函数datediff和timestampdiff的区别

datediff(日期1,日期2):得到的结果,返回值是日期1和日期2相差的天数(日期1 - 日期2)。结果datediff1 是 1,datediff2是 -1。

2024-01-24 14:58:49 427

原创 布隆过滤器

应用场景,用来判断一个元素是否存在与包含大量元素的集合中。我们可以把布隆过滤器当成由一个较大的bit array()和几个组成的数据结构。

2024-01-18 13:36:38 350

原创 TCP三次握手和四次挥手

举个例⼦:A 和 B 建立连接。第一次握手:客户端发送位码为SYN=1,随机产生seq number=client_isn的数据包到服务端,服务端由SYN=1知道,客户端要求建立连接(第二次握手:服务端收到请求后需要确认连接信息,向客户端发送ack number=(客户端的seq + 1),随机产生seq number=server_isn的包(

2024-01-14 12:34:28 877

原创 StringBuffer为什么比String快

修改字符串:StringBuilder:建议单线程使用、速度快StringBuffer:线程安全,速度略慢与StringBuilder,远大于StringStringBuffer为啥比String快 - huangwu - 博客园 (cnblogs.com)

2024-01-13 22:25:07 449 1

原创 @RequestBody的作用

总的来说,在处理GET请求时,通常使用`@RequestParam`来提取URL参数,而不使用`@RequestBody`注解。`@RequestBody`更适用于处理POST、PUT等请求方法,其中请求体中包含需要处理的数据。

2023-11-14 19:33:37 66 1

原创 <学习笔记> Docker学习

黑马笔记。

2023-07-02 17:35:14 100

原创 <学习笔记> Gateway网关学习

区别在于GatewayFilter通过配置定义,处理逻辑是固定的。而GlobalFilter的逻辑需要自己写代码实现。GlobalFilter的作用也是处理一切进入网关的请求和微服务响应,与GatewayFliter的作用一样。对所有路由都生效的过滤器,并且可以自定义处理逻辑。2.添加@Order注解或实现Ordered接口。1.实现GlobalFilter接口。1.身份认证和权限校验。2.服务路由、负载均衡。

2023-06-24 17:16:03 122 1

原创 <学习笔记> 为什么还要使用Feign来代替RestTemplate

Feign是一个声明式的http客户端,(要实现发送http请求不好发,只需要把发请求所需要的信息声明出来,剩下的事情就不需要管了,由Feign帮你来做)其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。可读性差:上面的一段代码,是一个http请求的代码,有url路径,又有复杂的请求方式,对于没有接触过远程调用的人来讲,这段代码根本看不懂。太优雅了,只需要一行代码,并且也符合学习springboot时候编写代码的习惯,先注入再调用。请求路径:/user/{id}请求参数:Long id。

2023-06-23 23:50:58 356 1

原创 <学习笔记> Nacos实现配置的热更新/多环境配置共享

prefix中的内容表示,使用配置文件中前缀为pattern的属性的值初始化该bean定义产生的bean实例的同名属性。在使用这个bean时,其属性dateformat会是配置文件中的值。通过@Value注解注入,需要在@Value注入的变量所在类上添加注解@RefreshScope。方式二:通过添加配置类,使用@ConfigurationProperties注解来实现。Nacos中的配置文件变更后,微服务无需重启就可以感知。这个图解释的很清楚。

2023-06-23 18:20:50 323 1

原创 <学习笔记> Nacos配置管理

在原本没有Nacos配置文件的时候,我们项目启动只需要读取本地配置文件,但是现在我们需要加入Nacos配置文件的读取。操作如上图,但是在读取nacos配置文件的时候需要一些信息:1. 去哪里读取,2.读取什么信息。所以在读取nacos文件之前,首先需要知道nacos的地址,但是nacos的地址写在本地配置文件中,所以需要提前知道nacos的地址。这时候就需要bootstrap.yml文件了。这个文件的优先级要比application.yml文件高很多。

2023-06-20 12:32:44 314 2

原创 <学习笔记> Eureka和Nacos的对比

④ Nacos集群默认采用AP模式(强调数据的可用性),当集群中存在非临时实例时,采用CP模式(强调数据的可靠性和一致性)临时实例采用心跳模式,非临时实例采用主动检测模式。③ Nacos支持服务列表变更的消息推送模式,服务列表更新更及时。② 临时实例心跳不正常会被剔除,非临时实例则不会被剔除。Eureka采用AP模式,不会切换。②都支持服务提供者心跳方式做健康检测。① 都支持服务注册和服务拉取。

2023-06-20 10:27:56 188 1

原创 <学习笔记> Redis的持久化RDB / AOF

先使用redis-cli连接Redis,再执行save命令,就会执行RDB的备份操作了。但是该执行的操作是由Redis的主进程来完成的,我们知道Redis又是单线程的。因为主进程在忙着执行RDB的,而RDB操作是需要把数据写到磁盘当中,而磁盘的IO往往是比较慢的。Redis执行save操作,是在主动停机Redis的时候执行,但是如果我们的Redis服务器执行了一个月,没有来得及save,突然宕机了,数据就丢失了。# 开启子进程执行RDB,避免主进程受到影响(适用于在Redis执行的过程中去执行)

2023-06-14 13:44:15 53

原创 <学习笔记> Redis中哨兵的作用

(redis客户端需要去访问集群,实现数据的读写,但是因为做了读写分离,需要在主节点做写操作,需要在从节点做读操作。所以通知的意思就是我们的Java客户端,在赵主从地址的时候,不是直接去找主从节点集群,而是去找sentinel,由sentinel去告诉客户端主从地址是什么。将来一旦主从发生了切换,sentinel会立即将服务的状态变更,并通知Java客户端,使得Java客户端知道新的主和新的从是谁了,从而就能改变自己的节点访问的地址了。当故障实例恢复后也为新的master为主。黑马redis学习笔记。

2023-06-13 14:11:06 99

原创 <学习笔记> Java基础面试

标识符就是给变量、方法,类起的名字,但是有一些标识符,Java已经赋予了特殊的含义,这些被赋予特殊含义的标识符就叫关键字。对于int类型左移/右移大于32位,会先对位移的位数做求余操作,再进行位移操作,比如需要位移32位,32%32=0,就表示不需要进行位移操作;2.C++支持方法的重载和操作符的重载,但是Java仅支持方法的重载,因为操作符的重载增加了复杂性,与Java最初的设计思想不符。1.Java的类是单继承的,C++的类是可以多继承的,但Java的接口可以多继承。Java和C++的区别是什么?

2023-06-03 11:03:23 38

原创 <学习笔记> Java基础面试

在一个Java进程开始运行或,虚拟机就开始实例化了,有多个进程就会启动多个虚拟机实例。进程退出或关闭,则虚拟机实例就会消亡,在多个虚拟机实例之间不能共享数据。每种操作系统的解释器都是不同的,但基于解释器实现的虚拟机是相同的,这也是Java能够跨平台的愿因了。首先我们也知道一个命令Javap,这个是Java自带的反解析编译器,可以查看Java编译器生成的字节码。3.机器码调用相应操作系统的本地方法库执行相应的方法。2.JVM将字节码文件编译成相应的操作系统机器码。1.Java源文件被编译器编译成字节码文件。

2023-06-02 09:08:38 46

原创 <学习笔记> SpringCloud 23/05/28

1.单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发。(会员服务,用户服务,积分服务,这些都属于会员模块中的功能,但是我们不能把他们都包含在一起,应该进一步拆分为单独的模块,这样每一个服务业务更少了,影响的范围更少了。2.面向服务:微服务对外暴露服务接口。(但是属于同一功能模块之间的服务需要互相调用,就需要对外暴露服务接口。3.自治团队独立:一个小团队开发一个服务技术独立:一个团队负责一个服务,技术可以根据业务去选择合适的,也可选择自己熟练的技术。数据独立。

2023-05-28 20:23:24 37

原创 <学习笔记> Redis为什么单线程还这么快?

Redis是基于内存操作,CPU不是Redis性能的瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,就是使用单线程了,所以就使用单线程了。(狂神redis课)???听完感觉是:因为这样,所以这样。看完我的想法是:那多线程上下文切换和访问共享资源会浪费时间,那多线程好在哪?再看问题:redis单线程为什么那么快,意思是单线程按理说比多线程慢。知道了多线程和CPU的关系,CPU早期是单核,并且一次执行完一个线程再执行下一个。现在是多核CPU,一核执行一个线程。

2023-05-28 17:39:20 47

原创 <学习笔记> Redis基础知识

set name jack:在当前数据库中加入key为name,value为jack的数据。get name:获取当前数据库中key为name的值。keys *:查看当前数据库中的所有的key。flushall:清楚全部数据库中的内容。1. redis默认是16个数据库,默认使用的是第0个。select 3:切换到第四个数据库;dbsize:查看数据库的大小。flushdb:清楚当前数据库。

2023-05-28 15:36:29 87

空空如也

空空如也

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

TA关注的人

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