自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【RabbitMQ】队列模型

RabbitMQ作为消息队列,有6种队列模型,分别在不同的场景进行使用,分别是Hello World,Work queues,Publish/Subscribe,Routing,Topics,RPC。下面就分别对几个模型进行讲述。

2025-04-08 21:10:07 685

原创 【Spring Cloud Netflix】GateWay服务网关

GateWay用于在微服务架构中提供统一的入口点,对请求进行路由,过滤和处理。它就像是整个微服务系统的大门,所有外部请求都要通过它才能访问到后端的各个微服务。

2025-04-06 23:16:39 884

原创 【spring cloud Netflix】Hystrix组件

Hystrix是由Netflix开源的一个延迟和容错库,旨在隔离对远程系统,服务或第三方库的调用,防止级联故障,提高系统的弹性和容错能力。

2025-04-06 16:32:20 844

原创 【spring Cloud Netflix】OpenFeign组件

Feign旨在使编写Java Http客户端变得更容易。前面在使用Ribbon+RestTemplate进行服务的远程调用 时,利用RestTemplate对Http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由 于对服务的依赖调用可不止一处,往往一个服务接口可能会被多次调用,所以通常会针对每一个微服务自 行封装一些客户端来包装这些依赖服务的调用。所以feign在此基础上做了进一步的封装,由它来帮助我们 定义和实现依赖服务接口的定义。

2025-04-05 18:43:57 422

原创 【spring cloud Netflix】Ribbon组件

SpringCloud Ribbon是基于Netflix Ribbon 实现的一套客户端负载均衡的工具。简单的说,Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将 Netflix 的中间层服务连接在一 起。Ribbon 的客户端组件提供一系列完整的配置项,如:连接超时、重试等。简单的说,就是在配置文 件中列出 LoadBalancer (简称LB:负载均衡) ,Ribbon 会自动的帮助你基于某种规则 (如简单轮询,随机 连接等等) 去连接这些机器。

2025-04-05 14:01:57 573

原创 【spring cloud Netflix】Eureka注册中心

就好比是滴滴,负责管理、记录的信息。无需自己寻找服务,而是把自己的 需求告诉,然后会把符合你需求的服务告诉你。同时,与之间通过“心跳” 机制进行监控,当某个出现问题,自然会把它从服务列表中剔除。这就实现了服务的自动注册、发现、状态监控。Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址服务提供者:启动后向Eureka注册自己信息(地址,提供什么服务)服务消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定 期更新。

2025-04-04 19:34:34 964 1

原创 【微服务】基础概念

微服务其实就是一种架构风格,他提倡我们在开发的时候,一个应用应该是一组小型服务而组成的,每一个服务都运行在自己的进程中,每一个小服务都通过HTTP的方式进行互通。他更加强调服务的彻底拆分。他并不是仅局限于用java来实现,可以由不同的编程用语言进行实现,当然也可以用不同的数据库。它的优点显而易见,1.服务原子化拆分,独立打包,部署和升级,保证每个微服务清晰的任务划分,利于扩展。2.微服务之间采用Restful架构风格规范接口设计,基于HTTP协议进行相互调用,发挥HTTP协议在网络传输中的轻量优势。

2025-04-04 16:43:22 1015

原创 【操作系统】进程调度

进程调度主要负责合理分配 CPU 资源,决定哪些进程(任务)可以使用 CPU,以及何时使用。它的目标是在多个进程之间高效切换,提升系统性能和用户体验。至于如何高效的提升性能,就要通过具体的调度策略来进行运作了。但是在讲不同的调度策略之前,先要有对这个策略好坏的评判指标。

2025-03-28 23:17:45 979

原创 【Mybatis】动态sql

讲之前,先把实体类给写出来。

2025-03-20 20:40:25 950 1

原创 【Mybatis】Mybatis参数深入

parameterType标签是用来设定sql语句中参数的数据类型。它可以设定的数据类型可以是基本数据类型,引用数据类型(如String类型),自定义数据类型。但是要注意的是,基本数据类型和String可以直接写类型名称,也可以使用包名。这是直接写类型名称这是写包的名称的方式至于为什么既能用包名用能用类型名称,可以看一下源码。

2025-03-18 22:53:30 1238 1

原创 【Mybatis】入门

这是我要操作的表 ,所以下面的变量根据里面来设,toString()是为了方便后面测试看结果/*** pojo与数据表user形成映射关系* 定义的规则* 1.实体类的字段和数据表中字段的名称保持一致* 2.实体类的字段的数据类型必须和数据表中字段的数据类型保持一致*/return id;return sex;

2025-03-18 10:41:47 528 1

原创 【SpringMVC】常用注解:@MatrixVariable

接收矩阵变量传送的值或许有人听都没听过矩阵变量是什么,下面来介绍一下矩阵变量是一种在URL路径中传递多个键值对参数的方式,它是在 Servlet 规范之外的一种扩展机制,可用于更灵活地传递参数。,其中color=red和year=2020就是矩阵变量。

2025-03-15 20:42:20 289

原创 【SpringMVC】常用注解:@PathVariable

用于绑定url中的占位符,例如请求中的/delete/{id},这个{id}就是 url中的占位符。url支持占位符是Spring3.0之后加入的。是SpringMVC支持 rest风格URL的重要标志。

2025-03-15 20:18:54 329

原创 【SpringMVC】常用注解:@ModelAttribute

该注解是在SpringMVC4.3版本后新加入的。它可以修饰方法和参数。出现在方法上,表示当前方法会在控制器的方法之前执行。它可以修饰 没有返回值的方法,也可以修饰没有返回值的方法。它修饰参数,获取指定 的数据给参数赋值。当表单提交的不是完整的实体类型数据时,保证没有提交数据的 字段使用数据库对象原来的数据。例如:我们在编辑一个用户时,用户有一个创建信息的字段,该字段的值是不 允许被修改的。在提交表单数据是肯定没有此字段的内容,一旦更新会把该字段 的内容设置为null。此时就可以使用此注解解决问题。

2025-03-15 20:05:12 380

原创 【SpringMVC】常用注解:@SessionAttributes

用于多次执行控制器方法间的参数共享。

2025-03-15 19:14:02 375

原创 【SpringMVC】常用注解:@CookieValue

用于把指定cookie名称传入控制器方法参数。

2025-03-15 18:42:40 410

原创 【SpringMVC】常用注解:@RequestHeader

用于获取请求头。

2025-03-15 18:33:27 383

原创 【SpringMVC】常用注解:@RequestBody

用于获取请求实体内容,直接使用得到的是key=value&key=value的数据。获取请求实体内容不适用get请求。

2025-03-14 23:00:19 373

原创 【SpringMVC】常用注解:@RequestParam

如果控制器标注的方法的参数名称与前端传递过来的参数名称不一致,使得SpringMVC无法自动启动,那么我们可以使用该注解实现前后端参数的绑定。

2025-03-14 21:22:16 370

原创 【SpringMVC】入门版

SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级web框架, 属于Spring FrameWork的后续产品,已经融合在Spring Web Flow里面。Spring框 架提供了构建web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,从而在使用 Spring进行web开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框 架,比如Struts2等。

2025-03-14 19:46:39 869

原创 【spring】springAOP

AOP即面向切面编程,它利用的是一种横切技术,解剖开封装的对象内部,并将那些影响多个类的公共行为封装到一个可重 用模块,这就是所谓的Aspect方面/切面。所谓的切面,简单点所说,就是将哪些与业务无关,却为业务 模块所共同调用的行为(方法)提取封装,减少系统的重复代码,以达到逻辑处理过程中各部分之间低 耦合的隔离效果。SpringAop底层利用的是动态代理技术,但是动态代理过于繁琐,于是Spring引入了第三方的Aspectj框架。

2025-03-12 20:28:50 1207

原创 【计算机网络】UDP

UDP全名叫做用户数据报协议,它是存在于传输层的一个协议。

2025-03-09 22:49:46 329

原创 【spring】配置类和整合Junit

在spring中,虽然可以用@Component把我们想要放入的bean所属的类放入ioc容器中,但是这个类局限于自己自定义的类,但是如果时其他已经被封装好的实现的类,我们就不能这么干了,就只能老老实实用xml文件来。其实还是有其他方法的,它就是java的配置类。那至于什么是配置类呢,它的作用其实和xml文件的作用是差不多的,都是用来管理bean的。首先来介绍它的作用就是用来指定当前的类是一个配置类。其实讲到这就够了,至于怎么获取bean后面再来讲。接着我们来讲一下。

2025-03-09 16:46:28 1274

原创 【spring】注解版

之前我们要想管理bean都是在xml文件中将想要添加的bean手动添加进ioc容器中,这样太过麻烦了,在 Java 开发里,针对一些较为繁琐的操作,通常会有相应的简化方式,这个也不例外,就是spring提供的注解。只需要把它写在想要放入ioc容器的bean所属的类上即可,在后面可以加上(value="")这个value的值就是相当于之前xml文件中bean标签里的id,可以直接把value去掉直接写上对应的值,毕竟就这一个值也不需要区分。

2025-03-07 18:32:25 857

原创 【spring】原生xml配置版

我们平常写项目时通常都要考虑项目的耦合性,特别时当后期想要增删功能时,最好不要去改动源代码,为了解决这个,一般用工厂模式加上反射模式来解耦合,虽然它解决了这个问题,但也带来了另外一个问题,就是每次都需要重复的去创建类的实例化对象,这样就加大了资源的开销,那么这个时候spring就应运而生了,它通过将需要实例化的类放进springioc容器中,当需要使用这个类中的方法时,就可以调用容器中相关类的bean(通常就可以理解为类的实例化对象)。

2025-03-07 11:03:26 1176

原创 【计算机网络】TCP

一旦含该SYN报文段的IP数据报到达服务器主机(前提是的确到达了,不然就没后面什么事了),服务器就会从该数据报中提取出SYN报文段,为该TCP连接分配TCP缓存和变量,并向客户端发送允许连接的报文段,其中SYN被置为1,这个的意思应该指的就是继续同步请求了,server_isn是服务端初始序列号,ack指的是确认序列号,表示接收方期望收到对方下一个报文段的第一个数据字节的序号,即对已接收数据的确认 ,所以客户端下一次发送的报文段的序号就是client_isn+1.

2025-03-04 22:15:04 1354 1

原创 【java】多线程

并发指的是多个任务在同一时间段内被执行。在单核处理器中,多个任务通过快速交替执行来实现并发效果;而在多核处理器中,多个任务有可能在同一时刻被并行执行,并行其实是并发的一种特殊情况。这里的 “时间段” 并没有严格的时长限制,只要多个任务处于交替或同时执行的状态,都可称为并发。

2025-02-28 00:06:16 1122

原创 【计算机网络】HTTP

HTTP全称叫做超文本传输协议,它是web的核心,或许此时有人有疑惑,什么叫做web,web通常是指万维网,它是一种基于超文本和 HTTP 协议的信息系统,是互联网的重要组成部分,不能把它理解为网站,网站依赖web技术运行,众多的网站共同构成了 Web 这个庞大的信息系统,Web 就像一个巨大的舞台,而网站则是在这个舞台上表演的一个个角色,它们各自发挥着不同的作用,共同为用户提供各种各样的信息和服务。HTTP基于客户端 - 服务器模型,工作在 TCP/IP 协议栈之上。

2025-02-27 00:07:04 1477

原创 【计算机网络】DNS

DNS即域名系统,是一种分布式数据库系统,它将人类易于记忆的域名(如)转换为计算机能够理解和处理的 IP 地址(如 192.168.1.1),反之亦然,实现了域名和 IP 地址之间的相互映射,使得人们可以方便地访问互联网资源。

2025-02-26 00:13:33 889

原创 【计算机网络】Web缓存

Web 缓存是一种用于存储 Web 资源副本的技术,它可以显著提高 Web 应用程序的性能和响应速度,减少网络带宽消耗。

2025-02-25 00:20:55 1336

原创 【计算机网络】cookie

HTTP服务器是无状态性的,虽然这样简化了服务器的设计,并且允许工程师去开发可以同时处理数千个TCP连接的高性能Web服务器。不同的浏览器有不同的存储方式和位置,但一般来说,它们都会按照域名进行分类存储,以确保每个网站只能访问自己设置的 Cookie。与会话 Cookie 不同,持久 Cookie 会在用户关闭浏览器后仍然保留在用户的计算机上,直到达到设置的过期时间或者用户手动删除它。也称为临时 Cookie,它仅在浏览器会话期间存在,当用户关闭浏览器时,会话 Cookie 就会被删除。

2025-02-24 23:41:04 235

原创 【源码】List集合

总结:用链表存储数据,不需要预先分配固定大小的空间,链表可以根据需要动态增长,它插入或删除元素效率更加高,但是访问效率低,每个节点除了存储数据外,还需要额外的引用指向前后节点,增加了空间开销。总结:ArrayList底层使用数组进行存储元素,最开始是创建一个容量为10的数组,当数组容量不足时,会进行扩容操作,扩容为原来的1.5倍,存储数组所用的数据类型为Object。List是一个有序的集合,允许存储重复的元素。ArrayList是基于动态数组实现的,一下是一些相关的源码。

2025-02-23 20:10:59 315

原创 【算法】高精度算法

为什么会有高精度算法,因为两个特别大的数进行四则运算大概率会超过int,long之类的数据类型,因为没有哪个数据类型是能够包括无穷大的,下面分别从加减乘除进行讲解。

2025-02-23 18:24:00 557

原创 【算法】快速幂

核心就是用指数的二进制表示减少了乘法运算的次数,主要思路就是对于一个a^n,把指数n表示为一个二进制,不断判断它的最后一位是否为1,如果为1,则乘上相应的数,若为0就跳过。“&”:按位与运算符,用于对两个整数类型的数进行按位运算,它会将两个数转换为二进制,再逐位进行比较,如果两个对应位都为1,则该位的结果为1,否则为0.在实际应用中,幂运算的结果可能会非常大,为了避免溢出,通常会对结果取模。为什么用long不用int,因为进行幂运算的结果通常很大,long的范围比int大,能有效防止溢出。

2025-02-18 19:50:27 303

原创 【数据结构】图(基础概念篇)

若存在边 (u,v),则 u 和 v 互为邻接顶点。一系列顶点组成的序列,相邻顶点间有边连接。图是由顶点集合和边集合组成的数据结构。有向图中分为 (指向该顶点的边数)和。无向图中,顶点的度是与其相连的边数。:有向图中任意两顶点间存在双向路径。下面来讲一下一些关于图的相关术语。:无向图中任意两顶点间均有路径。:将有向边视为无向后是连通的。(从该顶点出发的边数)。:不重复经过顶点的路径。:起点和终点相同的路径。

2025-02-15 22:09:12 246 1

原创 【算法】质数筛法

质数筛法顾名思义就是在一堆给定的数组中筛选出所有的质数,这不就是在学校刚学某个语言的语法基础时做的练习题,但是靠惯性思维写出来的时间复杂度太大了(或许你在学校写的时候AC了),所以需要有时间复杂度更加小的算法。下面分别来讲解。

2025-02-15 15:03:56 538

原创 【数据结构】二叉搜索树

二叉搜索树也叫二叉排序树,是一种特殊的二叉树。它的每个节点都满足一下性质:如果它的左子树不为空,那么左子树上所有节点的值都小于它的值;如果它的右子树不为空,那么右子树上所有节点的值都大于它的值;举一个例子,图如下研究一个数据结构无非就是研究它的增删改查,下面就分别从数据的查找,插入和删除来分别讲解。首先把要查找的数与根节点的值进行进行对比,如果相等,则查找成功,如果比根节点的值大,就往右子树进行查找,如果比根节点的值小,就往左子树进行查找,就这样不断的往下进行寻找,直到找到的时候。

2025-02-11 21:28:04 474 1

原创 【数据结构】并查集

并查集是一种用于处理不相交集合的数据结构,通常用树结构或数组结构来实现,从名字就可以看出它有两个功能,一个是并即合并,一个是查即查询在讲之前,要先明白一个设定,如果A和B在同一个集合,B和C在同一个集合,那么A和C在同一个集合或A,B,C在同一个集合下面讲解的时候是把集合看成一棵树,但实际上是用数组来实现先举个例子来讲解一下我们需要解决的问题。

2025-02-10 15:35:34 939 1

空空如也

空空如也

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

TA关注的人

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