- 博客(174)
- 收藏
- 关注
原创 浏览器缓存得学习
平时所说的强制缓存,对比缓存,以及 Cache-Control 等,也都归于此类。我们可以在 Chrome 的开发者工具中,Network -> Size 一列看到一个请求最终的处理方式:如果是大小 (多少 K, 多少 M 等) 就表示是网络请求,否则会列出 from memory cache, from disk cache 和 from ServiceWorker。这是 HTTP 1.0 的字段,表示缓存到期时间,是一个绝对的时间 (当前时间+缓存时间),如。
2024-10-17 10:56:24 412
原创 雪花算法学习
雪花算法(Snowflake)是一种生成全局唯一ID的分布式算法。它的主要功能是在分布式系统中生成一个全局唯一的ID,且ID是按照时间有序递增的。1.核心思想Snowflake算法使用一个64位的二进制数字作为ID。这64位long型ID被分割成四个部分:符号位、时间戳、工作机器ID、序列号。通过这几部分来表示不同的信息,将数据映射到具有特定结构的分布式系统中,实现数据的存储和查询。该算法由一系列节点组成,每个节点负责存储数据的一部分。
2024-10-08 13:54:54 1036
原创 ECHARTS学习
type:'category'代表类目轴。适用于离散的类目数据,类目数据可自动从series.data或者xAxis.data设置类目数据。5、刻度标签xAxis.axisLabel.formatter:'{value} 米' -给标签值增加单位。.symbol:'arrow'左右有箭头 :['none','arrow']右边是箭头。而xAxis指定了类目型的data,所以Echarts也能识别出这是类目型的坐标轴。,所以这里的type: 'category'可以不写。4、刻度 xAxis.
2024-04-30 16:26:03 572
原创 spring cloud gateway
通过实现Ordered接口 ,每个过滤器必须指定一个int类型order值,值越小,优先级越高,执行顺序越靠前。- Path=/card/** 代表以card开头的多级路径请求 ,多级和一级请求都会生效。- Path=/card/* 代表以card开头的一级路径请求 ,只有一级请求会生效。反向代理(请求的转发)、路由和负载均衡、身份认证和权限控制、对请求的限流。路由的目标地址,http代表固定地址,lb代表根据服务名称负载均衡。1、路由id(id) 当前路由的唯一标识。2、路由目标(uri)
2024-02-02 10:08:51 651 2
原创 @WebServlet和文件下载
1、需要在启动类设置@ServletComponentScan 这样才能扫描到我们创建的servlet2、实现自己的Servlet最常用的就是实现Servlet接口,或者直接集成HttpServlet。自己实现接口的形式要自己重写service方法,而集成HttpServlet的话一般直接重写doPost,doGet等方法实现自己的处理逻辑3、使用注解@WebServlet。
2023-04-21 14:41:52 615 1
原创 DUBBO原理20231219
providers: 服务提供者目录,记录着服务提供者的ip、端口等信息。consumers: 服务消费者目录,记录服务消费者的元数据信息,服务提供者并不会用到服务消费者的信息,这里要记录消费者的信息,是给服务治理中心(dubbo-admin)使用的。routers: 用于消费者路由策略元数据信息。configurators:用于服务者动态配置URL元数据信息。
2023-04-14 16:27:29 559
原创 DUBBO SPI
SPIDubbo 的可扩展性是基于 SPI 去实现的,而且Dubbo所有的组件都是通过 SPI 机制加载。SPI 全称为 (Service Provider Interface) ,是一种服务提供发现机制。可以将服务接口与服务实现分离以达到解耦可拔插、大大提升了程序可扩展性。一个接口有多个实现类,具体使用哪个实现类,通过SPI机制让用户来决定。@SPI。
2023-04-06 16:36:33 293
原创 Socket中的backlog参数和缓冲区1108
backlog参数为socket套接字监听端口时,内核为该套接字分配的一个队列大小,在服务端还没有来得及处理请求时暂时缓存请求所用的队列。第一次握手时,因为客户端与服务器之间的连接还未完全建立,连接会被放入半连接队列中。服务器处理Accept事件是在TCP三次握手,也就是建立连接之后,服务器会从全连接队列中获取连接并进行处理。服务端正常处理请求完成后,休眠的连接是不占用backlog队列位置的,连接全部成功。时,全连接队列中堆积的连接数大于SO_BACKLOG设置的值是,便会抛出异常。
2023-04-03 10:54:35 827
原创 Vue3和Element-Plus
npm install -g @vue/clivue -Vvue create vue-element-plus只选择基础的 npm install 拉取依赖npm-moudles:第三方的依赖、组件
2022-07-01 15:07:00 1348
原创 springboot整合websocket
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。websocket 协议是在 http 协议上的一种补充协议,是 html5 的新特性,是一种持久化的协议。我们都知道HTPP协议是基于请求响应模式,并且无状态的。HTTP通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息。举例来说,我们想要查询当前的排队情况,只能是页面轮询向服务器发出请求,服务器返回查询结果。轮询的效率低,非常浪.
2022-05-27 11:02:29 415
原创 sentinel
Sentinel实战:为系统做限流保护我们已经知道了 Sentinel 的三大功能:限流降级系统保护。现在让我们来了解下具体的使用方法,以限流来演示具体的步骤。引入依赖首先肯定是要先引入需要的依赖,如下所示:<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version&..
2022-05-02 00:30:12 246
原创 跟着尚硅谷学习微服务
1、服务治理springcloud封装了Netflix的Eureka模块来实现服务治理在传统的rpc远程调用框架中,管理每一个服务与服务之间依赖关系比较复杂,所以需要使用服务治理,可以实现服务调用、负载均衡、容错等,实现服务发现于注册。Eureka采用CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eureka Server来监控系统中
2022-02-23 23:49:27 178
原创 继续学习mysql|241017
三层结构:1、连接层:客户端和服务器建立连接,客户端发送sql到服务器端2、SQL层(服务器层):对SQL语句进行查询处理;与数据库文件的存储方式无关;3、存储引擎层:与数据库文件打交道,负责数据的存储和读取1、SQL执行流程innodb存储引擎mysql5.7存放文件:a.frm-描述表结构文件、字段长度等;a.ibd-存放数据信息和索引信息mysql 8.0不再单独提供frm文件,而是合并在ibd文件里。B+树层次一般不超过4层:减少io次数聚簇...
2022-02-14 21:54:33 144
原创 继续学习JUC
1、进程系统中正在运行的一个应用程序;程序一旦运行就是进程;资源分配的最小单位。2、线程程序执行的最小单位;系统分配处理器时间单元的最小单位;3、wait和sleep的区别sleep是Thread的静态方法;wait是Object的方法,任何实例对象都能调用;sleep不会释放锁,也不需要占用锁;wait会释放锁,但调用的前提是当前线程占用锁(即代码要在Synchronized中);都可以被interrupted中断;4、守护线程比如:垃圾回收线程没有用户线程,都是守
2022-02-08 22:10:09 339
原创 我要学习JVM
66-1、堆、方法区 线程共享,一个java进程只有一个堆和一个方法区。2、在jvm启动时创建堆,空间大小确定;堆内存的大小是可以调节的。3、-Xms10m 初始堆空间 -Xmx10m最大堆空间 -X是jvm的运行参数 ms memory start -Xms等价于-XX:InitialHeapSize -Xmx等价于 -XX:MaxHeapSize 默认初始化堆内存:计算机内存/64;最大堆内存:计算机内存/4 一旦超过堆区最大内存,会抛出OutOfM...
2022-01-24 21:30:05 265
原创 并发编程vola
1、多线程下变量的不可变性多个线程修改共享的成员变量(对象的属性、类的静态属性),会出现一个线程修改了成员变量的值,另外一个线程不能看到该变量的最新值。 private volatile int n = 0; public static void main(String[] args) { RuoYiServletInitializer initializer = new RuoYiServletInitializer(); Runn
2022-01-22 23:12:05 224
原创 我要学习HTML
1、<head>标签<title>网页标签名称</title>2、<script>标签用于定义客户端脚本,比如javascript。既可以包含脚本语句,也可以通过src属性指向外部脚本文件。当碰到script这个标签,浏览器会自动运行js解析器。如果想在<div>标签里输入<script>,可以利用< >假如内部的代码没有位于某个函数中,那么这些代码会在页面加载时立即执行!绝对地址
2022-01-20 21:46:18 601
原创 模板引擎Thymeleaf|vue和spr合体
1、虽然现在很多开发都采用了前后端完全分离的模式,即后端只提供数据接口,前端用ajax调用;但这种模式不利于seo,有些场景使用模板引擎会更方便。2、SpringBoot与模板引擎Thymeleaf引入jar包<artifactId>spring-boot-starter-thymeleaf</artifactId>配置spring:thymeleaf:prefix: classpath:/templates/ //指定模板所在的目录,...
2022-01-20 20:51:32 497
原创 Mybatis复杂查询(一对多)
通过ResultMap标签,在标签里定义Collection标签1、按查询嵌套处理实际两条执行sql <select id="getTeacher2" resultMap="teacherStu2"> select * from teacher where id = #{id} </select> <resultMap id="teacherStu2" type="com.me.domain.Teacher2" >
2022-01-13 22:24:35 202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人