web技术
文章平均质量分 80
醉梦依依惜
期待我们一起创造奇迹!
展开
-
62.JavaWeb
(8)Servlet与Tomcat、Filter、Listener。(7)会话技术(cookie、session)。推荐使用MobaXterm。(17)Linux操作系统。一、JavaWeb。(6)HTTP协议。原创 2023-12-26 15:31:01 · 744 阅读 · 2 评论 -
61.SVN版本控制系统
所谓的 Tag 或是 Release 就是一个特别的版本,因为这个版本可能有特别的意义。其它的会被当做冲突。那么此时,我们就可以为小组2建立一个分支,分支其实就是 trunk 版(主干线)的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过(合并)功能,将分支合并到 trunk 上来,从而最后合并为一个项目。您将会看到 MyWork 目录下面多了一个名为 .svn 的目录(这个目录是隐藏的,如果您的档案管理员没有设定可以看到隐藏目录,您将无法看到它)。原创 2023-12-24 23:28:34 · 1198 阅读 · 0 评论 -
60.Sentinel源码分析
例如,我们在order-service服务中,将的方法标记为一个资源。1)首先在order-service中引入sentinel依赖2)然后配置Sentinel地址spring:cloud:sentinel:transport:dashboard: localhost:8089 # 这里我的sentinel用了8089的端口3)修改OrderService类的queryOrderById方法// 创建Entry,标记资源,资源名为resource1// 1.查询订单,这里是假数据。原创 2023-12-14 23:27:45 · 1267 阅读 · 0 评论 -
56.微服务面试篇
假如最新请求是1400ms请求,1400ms - 1000ms = 400ms,即400ms在第一个窗口,它的下一个窗口就是从500ms算起,此时的请求数量是4个,所以1400ms请求被拒绝。假如最新请求是1600ms请求,1600ms - 1000ms = 600ms,即600ms在第二个窗口,它的下一个窗口就是从1000ms算起,此时的请求数量是3个。下面的图中请求分别在200ms、400ms、900ms、1250ms、1300ms、1400ms、1600ms、2100ms时间点过来。原创 2023-12-14 23:26:33 · 1359 阅读 · 0 评论 -
59.计算机网络笔记
网关上有两张网卡,分别配置了属于两个子网的ip地址,计算机A网卡判断是否同子网,如果不同,就把目标mac地址改为网关mac地址,把数据包发给网关,网关将数据包源地址改为自己的mac地址,目标mac地址改为计算机B网卡的mac地址,然后将数据包发给计算机B。当一个设备要发送数据时,它会将数据封装成帧,并在帧中包含目标MAC地址和源MAC地址。网络中有两类地址:二层地址(mac地址,MAC地址只能在一个网络(或子网)内使用)和三层地址(ip地址)。交换机只会关心数据包的mac地址,不关心数据包的ip地址。原创 2023-12-12 01:48:58 · 703 阅读 · 2 评论 -
58.Nacos源码分析2
Nacos的健康检测有两种模式:临时实例:采用客户端心跳检测模式,心跳周期5秒心跳间隔超过15秒则标记为不健康心跳间隔超过30秒则从服务列表删除永久实例:采用服务端主动健康检测方式周期为2000 + 5000毫秒内的随机数检测异常只会标记为不健康,不会删除那么为什么Nacos有临时和永久两种实例呢?以淘宝为例,双十一大促期间,流量会比平常高出很多,此时服务肯定需要增加更多实例来应对高并发,而这些实例在双十一之后就无需继续使用了,采用临时实例比较合适。而对于服务的一些常备实例,则使用。原创 2023-12-10 14:33:23 · 854 阅读 · 0 评论 -
57.Nacos源码分析1
二、服务注册。一、下载Nacos源码并运行。1.下载Nacos源码并运行要研究Nacos源码自然不能用打包好的Nacos服务端jar包来运行,需要下载源码自己编译来运行。1.1.下载Nacos源码课前资料中已经提供了下载好的1.4.2版本的Nacos源码:如果需要研究其他版本的同学,也可以自行下载:,找到其中的1.4.2.版本:点击进入后,下载Source code(zip):1.2.导入Demo工程我们的课前资料提供了一个微服务Demo,包含了服务注册、发现等业务。原创 2023-12-10 14:32:54 · 791 阅读 · 0 评论 -
55.MQ高级特性
一、RabbitMQ部署指南。一、RabbitMQ部署指南。1)单机部署。我们在Centos7虚拟机中使用Docker来安装。方式一:在线拉取方式二:从本地加载在课前资料已经提供了镜像包:上传到虚拟机中后,使用命令加载镜像即可:执行下面的命令来运行MQ容器:-d \2)安装DelayExchange插件。上述文档是基于linux原生安装RabbitMQ,然后安装插件。原创 2023-12-07 01:11:14 · 1167 阅读 · 2 评论 -
54.多级缓存
缓存:在Java中,缓存通常指应用程序中的缓存机制,用于临时存储经常访问的数据,以提高数据访问速度。总的来说,Java中的进程缓存和缓存都是为了提高程序的性能和响应速度而存在的,但它们的作用和实现方式有所不同。而缓存是应用程序中的一种机制,用于缓存经常访问的数据,以减少对数据库或其他数据源的访问次数,提高程序的性能。注意:写好文件后,linux的openResty中的nginx要重新加载,windows中的nginx也要重新加载,否则的话是访问失败(还是原来的样子,没有变化)的。原创 2023-12-03 19:15:39 · 1547 阅读 · 2 评论 -
53.redis分布式缓存
Sentinel的三个作用是什么?•监控•故障转移•通知Sentinel如何判断一个redis实例是否健康?•每隔1秒发送一次ping命令,如果超过一定时间没有相向则认为是主观下线•如果大多数sentinel都认为实例主观下线,则判定服务下线故障转移步骤有哪些?•首先选定一个slave作为新的master,执行slaveofno one•然后让所有节点都执行slaveof新master•修改故障节点配置,添加slaveof新。原创 2023-12-03 19:15:25 · 1182 阅读 · 0 评论 -
52.seata分布式事务
简述AT模式与XA模式最大的区别是什么?•XA模式一阶段不提交事务,锁定资源;AT模式一阶段直接提交,不锁定资源。•XA模式依赖数据库机制实现回滚;AT模式利用数据快照实现数据回滚。•XA模式强一致;AT模式最终一致3.3.2.2 AT模式的脏写问题 、AT模式的写隔离。AT模式的脏写问题。原创 2023-11-22 15:05:41 · 688 阅读 · 14 评论 -
51.Sentinel微服务保护
(1)初识Sentinel。(1)初识Sentinel。(1.1)雪崩问题及解决方案。(1.1.1)雪崩问题。雪崩:一个微服务A依赖(即发送请求,等回应)于另一个微服务B,如果B出现故障,没有回应,则A的这条访问就不会结束(请求不释放),等到微服务A的请求资源都用完后,A也废了(所有访问资源都被占用了)。然后一些微服务依赖服务A的,也得不到A的回应,也跟着废了。这就是雪崩,因为一个微服务出现故障,导致凡是依赖于它的微服务也出现故障。(1.1.2)解决雪崩问题的四种方式。原创 2023-11-18 17:51:52 · 932 阅读 · 2 评论 -
50.批处理脚本(2/2)
一、批处理命令。(1)net use 连接共享文件夹或查看。(1.1)连接共享文件夹。其中,Z: 是本地驱动器的映射;是远程计算机上共享文件夹的路径;username是在远程计算机上拥有访问权限的用户名;password是相应的密码。将共享文件夹映射到 Z: 驱动器后,共享文件夹会成为 Z: 驱动器的根目录。你可以通过 Z: 驱动器直接访问共享文件夹中的内容。当你在 Z: 驱动器中浏览文件夹时,实际上是在访问远程计算机上的共享文件夹,而不是本地计算机上的文件系统。原创 2023-11-14 22:55:26 · 449 阅读 · 0 评论 -
49.批处理命令(1/2)
解说:主要是利用set命令的/p,表示后等号面的字符都是提示字符,然后在用退格键,让光标置于该行的最左端,但是原来的文字还在,然后使用空格作为输入提示符,所以就会覆盖前面的文字,然后再次输出退格符将光标置于该行的最左端,循环执行。(i后一个字母是j,代表第二个变量,k代表第三个变量,也可以使用ab这三个字母也是一样的,如果指定变量%i,然后又使用%a,是错的,因为最低(第一个变量)都是i起步)每个参数都是可选的;2.如果路径存在,仅文件不存在,则会继续执行,并且提示文件不存在的错误,例如:dir c:\;转载 2023-11-11 22:02:24 · 475 阅读 · 0 评论 -
44.ES
e ELASTICSEARCH_HOSTS=http://es:9200":设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch。在互联网项目中,在网络间传输的速度很快,所以很多语言是不允许在网络上传递的,如:关于宗教、政治等敏感词语,那么我们在搜索时也应该忽略当前词汇。不建议大家自己pull。-v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录。原创 2023-10-12 16:50:08 · 712 阅读 · 1 评论 -
43.MQ—RabbitMQ
提示:绑定键使用空字符串,就可以完成广播(发给所有绑定该交换机的队列)。(3.4.2)基础消息队列(RabbitTemplate模板实现)。(3.1)docker下载rabbitmq容器,并启动。(3.2)RabbitMQ中的几个概念。(3.4.1)基础消息队列(代码实现)。提示:需要提供绑定键(路由键),根据。(3)RabbitMQ学习。(3.4)常见消息模型学习。(1)同步调用与异步调用。(3.3)常见消息模型。(2)MQ之间的区别。(3.5)消息转换器。(1.1)同步调用。(1.2)异步调用。原创 2023-09-11 16:39:26 · 529 阅读 · 0 评论 -
42.SpringBoot—原理篇
做一个独立项目,有自动配置类,最后在META-INF/spring.factories文件中写上自动配置类,然后执行maven的clean,再执行install(将starter添加到本地仓库)。(2.1)案例:统计独立IP访问次数。(2.1.1)简陋版ip展示。下面的模拟调用是导入了该自定义starter的项目,模拟调用。原创 2023-08-16 14:53:21 · 356 阅读 · 0 评论 -
41.SpringBoot实用篇—开发(下册)
一、SpringBoot实用篇—开发。以下是一些springboot版本的字母代表的意思。(1)整合第三方技术。(1.1)缓存。注意:虽然下面很多缓存技术,但是接口是统一的,即导入坐标、配置好配置文件属性就行,注解不需要改动。(1.1.1)自定义缓存。如:使用HashMap集合当作缓存使用。(1.1.2)使用springboot提供的缓存技术(simple缓存)。(1.1.2.1) 默认缓存的使用。原创 2023-07-17 16:29:52 · 150 阅读 · 0 评论 -
40.Docker
一、Docker。(1)认识Docker。(1.1)什么是Docker。Docker将用户程序与所需要调用的系统比如Ubuntu)函数库一起打包,Docker运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行,从而跨平台运行。原创 2023-06-27 21:17:47 · 855 阅读 · 0 评论 -
39.SpringCloud—配置管理nacos、远程调用Feign、服务网关Gateway
如果HTML文件所在的源为A,而请求数据的目标源为B,由B服务器返回的响应数据如果包含Access-Control-Allow-Origin头,其中值为A,那么浏览器就认为这是一次合法的跨域请求,会允许响应数据返回给A客户端。(Nacos中默认使用的嵌入式数据库 Derby,虽然它可以满足基本使用需求,但在生产环境中不建议使用,因为它并不具备高可用性和可靠性等方面的优势,不能保证在重要数据丢失时能够快速恢复。中配置节点信息,我们可以实现多节点之间的数据同步和状态机复制,从而提供高可用性和负载均衡的服务。原创 2023-06-21 22:46:10 · 2255 阅读 · 0 评论 -
38.SpringCloud—注册中心(eureka/nacos)、负载均衡Ribbon
一、SpringCloud。一、SpringCloud。原创 2023-06-15 21:04:14 · 1488 阅读 · 0 评论 -
37.SpringBoot实用篇—开发(上册)
一、SpringBoot实用篇—开发。(1)热部署(开发阶段使用)。注意:热部署只在开发环境下有效,线上是没有意义的(只是开发程序的辅助功能)。(1.1)手动启动热部署。IDEA中启动热部署: build(构建) —> build Object(构建项目)。(1.2)自动启动热部署。原创 2023-07-14 23:07:30 · 266 阅读 · 0 评论 -
35.SpringBoot基础篇
注意:想要修改springboot的版本,直接在该坐标的(spring-boot.)version标签修改即可。基于SpringBoot官网创建项目,地址:https://start.spring.io/(3.4)手工创建Maven工程修改为SpringBoot工程。(3.1)基于Idea创建SpringBoot工程。(3.3)基于阿里云创建SpringBoot工程。(3.2)基于官网创建SpringBoot工程。(3)创建SpringBoot工程的四种方式。(1)springboot需要的前置知识。原创 2023-05-30 14:17:13 · 149 阅读 · 0 评论 -
34.Mybatis-plus延续
ActiveRecord 是一种面向对象的数据库操作模式,它将数据库表映射为类,将表中的行映射为对象。在 ActiveRecord 模式中,每个类都对应了数据库中的一张表,而每个实例则代表了该表中的一行数据。通过这种方式,可以直接在实例上调用增删改查方法,来完成与数据库的交互。注意:虽然在使用 Model 类中的方法时不需要显式地调用 UserMapper 接口或其他 Mapper 接口的方法,但是这些接口仍然是 Model 类方法底层实现所必需的,不能删除。一、Mybatis-Plus。原创 2023-05-27 23:52:18 · 604 阅读 · 0 评论 -
36.SpringBoot实用篇—运维
一、实用篇—运维一、实用篇—运维。原创 2023-06-12 17:48:24 · 2434 阅读 · 3 评论 -
33.Mybatis-Plus
对于Mybatis整合MP有常常有三种用法,分别是Mybatis+MP、Spring+Mybatis+MP、Spring Boot+Mybatis+MP。1.创建数据库mp,字符集选utf-8。一、Mybatis-Plus。一、Mybatis-Plus。(2.1)创建数据库以及表。2.创建表、插入数据。原创 2023-05-24 01:18:11 · 448 阅读 · 0 评论 -
32.Git分布式版本控制
一、Git分布式版本控制。一、Git分布式版本控制。原创 2023-05-18 22:51:45 · 993 阅读 · 0 评论 -
30.SSM框架整合
SpringMVC:配置CharacterEncodingFilter(web.xml中)、spring-mvc.xml配置文件。Spring:配置Listener(web.xml中)、applicationContext.xml配置文件。注意1:如果在类上的注解上写produces,则所有类都有这个属性,如果在方法上写,只有当前方法有。MyBatis:配置映射文件、核心文件、映射接口类(相当于dao类)。(1.2)请求字符集格式与响应字符集格式。一、SSM框架整合。(2)原始方式整合。原创 2023-05-16 18:15:20 · 451 阅读 · 0 评论 -
31.MYSQL数据库
INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES('猪八戒','男',3600,'2010-12-02',2);INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES('唐僧','男',9000,'2008-08-08',2);5. update user set password = password('你的新密码') where user = 'root';原创 2023-05-13 00:15:22 · 774 阅读 · 0 评论 -
29.Mybatis—多表操作与注解开发
(1)MyBatis的多表操作。一、Mybatis学习。一、Mybatis学习。(1.1)一对一查询。原创 2023-05-11 12:49:34 · 479 阅读 · 0 评论 -
28.Mybatis的入门
(2.3)sqlMapConfig.xml文件。(2.2)UserMapper.xml文件。Mybatis是一个持久层框架。(2)Mybatis的快速入门。(1)Mybatis的简介。(2.1)快速入门。(2.4)测试类代码。一、Mybatis。一、Mybatis。原创 2023-04-28 15:54:08 · 1122 阅读 · 0 评论 -
27.Spring的事务控制
一、编程式事务控制相关对象。(1)事务管理器。(2)事务定义信息对象(如隔离级别、传播行为)。(3)事务状态对象。(4) 知识要点。二、声明式事务控制—基于xml或注解。(1)声明式事务控制的定义。原创 2023-04-25 22:54:58 · 868 阅读 · 0 评论 -
26.Spring-AOP(切面编程)
(2)AOP的底层实现-动态代理。(2.2)cglib的动态代理。(5) xml配置AOP详解。(5.1)切点表达式的写法。(2.1)JDK的动态代理。(3)AOP的相关概念。(5.3)切点表达式的抽取。一、Spring-AOP。一、Spring-AOP。(4)AOP的快速入门。(1)AOP的简介。(5.2)通知的类型。(5.4)知识要点。原创 2023-04-24 00:14:51 · 346 阅读 · 0 评论 -
1.HTML
bootstrap的引入文件。原创 2023-04-17 23:21:04 · 336 阅读 · 0 评论 -
技术文章Department
记录发布技术文章、理论文章的总目录原创 2023-04-17 22:34:44 · 698 阅读 · 13 评论 -
25.SSM-SpringMVC延续--拦截器与异常处理思想
因此,在实际开发中,如果需要对 Spring MVC 中的请求进行一些 AOP 方面的处理或者需要对请求进行更加细粒度的控制,可以使用拦截器;拦截器(Interceptor)和过滤器(Filter)的作用部分相似,都可以拦截请求并进行处理。:拦截器是针对 Spring MVC 中的请求进行拦截处理的,而过滤器可以对所有的请求进行拦截处理。:拦截器可以对请求进行细粒度的控制,而过滤器的粒度较粗,只能对请求进行简单的转发或者重定向等操作。(2)拦截器与过滤器的区别。(1)拦截器的作用。(3)拦截器的方法。原创 2023-04-15 22:57:04 · 554 阅读 · 0 评论 -
24.Spring练习(spring、springMVC)
IDEA项目右键->新建->新模块 ->选择Maven->选择骨架或不选->next->命名->把项目缺少的文件添加上去。(2)applicationContext.xml配置文件。注意:url中的?后面是防止乱码的方法之一。(4)jdbc.properties配置文件。(3)spring-mvc.xml配置文件。(4)domain:存放POJO类。(1)conctroller层。(5)web.xml配置文件。(5)utils:存放工具类。(2)service层。(1)创建工程步骤。二、SSM项目结构。原创 2023-04-12 23:32:26 · 550 阅读 · 0 评论 -
23.SSM-JdbcTemplate总结
(1)Spring产生JdbcTemplate对象。@RunWith指定测试运行器(Runner)(2)JdbcTemplate常用操作。一、JdbcTemplate对象。原创 2023-04-09 21:10:39 · 299 阅读 · 0 评论 -
22.SSM框架-SpringMVC
一、SpringMVC。一、SpringMVC。(1)SpringMVC快速入门。(2)SpringMVC的数据响应方式。(1)页面跳转。(2)回写数据。(3)获取请求参数。(4)请求数据乱码问题。原创 2023-04-06 18:07:38 · 332 阅读 · 0 评论 -
21.SSM框架--Spring-> IOC控制反转
(2)Spring配置文件。(3)Spring相关API。(1)Spring快速入门。一、SSM知识点总结。一、SSM知识点总结。原创 2022-09-19 13:51:35 · 146 阅读 · 0 评论