JavaWeb学习笔记
文章平均质量分 77
参考黑马javaweb网课,原视频地址:https://www.bilibili.com/video/BV1m84y1w7Tb/
A泽予
万般皆下品,唯有读书高
展开
-
Redis-HyperLogLog
Hyperloglog(HLL)是从Loglog算法派生的概率算法,用于确定非常大的集合的基数,而不需要存储其所有值。Redis中的HLL是基于string结构实现的,单个HLL的内存。:获取 HyperLogLog 集合中估算的唯一元素数量。:将多个 HyperLogLog 集合合并为一个。两个 HyperLogLog 集合合并到名为。:向 HyperLogLog 集合中添加元素。作为代价,其测量结果是概率性的,的 HyperLogLog 集合中。集合中估算的唯一元素数量。原创 2024-08-01 15:28:46 · 317 阅读 · 0 评论 -
Redis-缓存
缓存穿透产生的原因是什么?用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力缓存穿透的解决方案有哪些?缓存null值布隆过滤增强id的复杂度,避免被猜测id规律做好数据的基础格式校验加强用户权限校验做好热点参数的限流。原创 2024-07-27 16:48:53 · 705 阅读 · 0 评论 -
Elasticsearch-DSL查询-RestClient查询-数据聚合 --学习笔记
aggs代表聚合,与query同级,此时query的作用是?限定聚合的的文档范围聚合必须的三要素:聚合名称聚合类型聚合字段聚合可配置属性有:size:指定聚合结果数量order:指定聚合结果排序方式field:指定聚合字段。原创 2024-07-22 18:00:00 · 574 阅读 · 0 评论 -
Elasticsearch-RestAPI --学习笔记
JavaRestClient操作elasticsearch的流程基本类似。核心是方法来获取索引库的操作对象。索引库操作的基本步骤:初始化创建XxxIndexRequest。XXX是CreateGetDelete准备请求参数(Create时需要,其它是无参,可以省略)发送请求。调用方法,xxx是createexistsdelete。原创 2024-07-21 18:00:00 · 725 阅读 · 0 评论 -
Elasticsearch-索引库操作、文档操作 --学习笔记
Index就类似数据库表Mapping映射就类似表的结构。我们要向es中存储数据,必须先创建Index和Mappingtype:字段数据类型,常见的简单类型有:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址)longintegershortbytedoublefloatbooleandate:是否创建索引,默认为:使用哪种分词器properties:该字段的子字段。原创 2024-07-20 18:00:00 · 743 阅读 · 0 评论 -
Elasticsearch介绍、安装以及IK分词器 --学习笔记
Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎。它允许你以极快的速度存储、搜索和分析大量数据。Elasticsearch 基于 Apache Lucene 构建,提供了一个分布式、多租户能力的全文搜索引擎,带有 HTTP web 接口和无模式 JSON 文档。这意味着你可以用 Elasticsearch 存储、搜索、分析的数据种类非常广泛,几乎可以适用于任何类型的用例。原创 2024-07-19 18:00:00 · 2780 阅读 · 0 评论 -
MQ - RabbitMQ - 消息的可靠性 --学习笔记
消息队列(MQ)的生产者重试机制是指当生产者尝试将消息发送到消息队列中时,如果因为某些原因(如网络问题、队列不可用或其他任何导致消息发送失败的问题)导致消息未能成功发送,那么生产者会根据预设的策略尝试重新发送消息的过程。生产者确认机制是一种确保消息从生产者安全达到消息队列的方法,尤其是在使用像RabbitMQ这样的消息中间件时,这种机制尤为重要。生产者确认(Publisher Confirms)也被视为是一种可靠性保障,使得生产者在发送消息后可以知晓该消息是否已被消息队列成功接收。原创 2024-07-18 13:07:59 · 991 阅读 · 0 评论 -
MQ - RabbitMQ、SpringAMQP --学习笔记
我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议,因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息,都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不同语言的客户端。但是,RabbitMQ官方提供的Java客户端编码相对复杂,一般生产环境下我们更多会结合Spring来使用。而Spring的官方刚好基于RabbitMQ提供了这样一套消息收发的模板工具:SpringAMQP。原创 2024-06-28 18:00:00 · 879 阅读 · 0 评论 -
Seata --分布式事务 学习笔记
分布式事务就像是一家连锁店的多个分店同时参与一项促销活动,要确保所有分店的促销结果一致,即要么全部成功,要么全部撤销。在软件系统中,当多个独立的服务需要协同完成一项任务时,涉及到的数据更新必须保证要么都成功,要么都失败,确保整个系统的数据一致性。Seata 就像是那个确保连锁店各分店促销一致性的协调者,它帮助构成微服务架构的各个服务保持事务一致,确保即使在不同服务间进行数据操作时,也能保证要么所有服务的操作都提交,要么都回滚,防止数据不一致的情况发生。维护全局和分支事务的状态,协调全局事务提交或回滚。原创 2024-06-27 18:00:00 · 971 阅读 · 0 评论 -
Sentinel --学习笔记
Sentinel是阿里巴巴开源的一款服务保护框架,旨在保障分布式系统的稳定性和高可用性。可以想象它就像是分布式系统中的交通警察,它的职责是监控系统流量和请求,确保在高峰时段或者遇到意外情况时,系统能够平稳运行,不会因为过载而崩溃。原创 2024-06-26 16:06:28 · 887 阅读 · 1 评论 -
nacos配置管理 --学习笔记
微服务共享的配置可以统一交给Nacos保存和管理,在Nacos控制台修改配置后,Nacos会将配置变更推送给相关的微服务,并且无需重启即可生效,实现配置热更新。网关的路由同样是配置,因此同样可以基于这个功能实现动态路由功能,无需重启网关即可修改路由配置。原创 2024-06-09 18:00:00 · 1147 阅读 · 0 评论 -
网关路由 --学习笔记
Component@Override// 编写过滤器逻辑System.out.println("未登录,无法访问");// 放行// 拦截@Override// 过滤器执行顺序,值越小,优先级越高return 0;@Component//AntPath匹配器@Override//1、获取request//2、判断是否需要做登录拦截//放行//3、获取tokenif(headers!= null &&!原创 2024-06-08 18:00:00 · 948 阅读 · 0 评论 -
OpenFeign --学习笔记
OpenFeign可以想象成一座连接客户端(服务器)和服务器之间的桥梁。在微服务架构中,各个服务之间像小岛屿一样分布在网络上,它们需要相互通信才能协同工作。但是,这些岛屿之间并没有现成的桥梁,这就需要一种工具来建立联系。当把项目拆成微服务时,服务之间需要互相调用的时候就很不方便,每个服务都拆成了一个独立的个体,这个时候再想去调用其它服务的话就可以用到OpenFeign,采用在线请求的方式,通过网络而不是再通过本地去调用其它服务。OpenFeign就像是一个建桥专家。原创 2024-06-07 15:21:57 · 481 阅读 · 0 评论 -
Nacos注册中心 --学习笔记
想象一下一个繁忙的购物中心,里面有很多商店,每个商店都在某个位置提供不同的商品或服务。这个购物中心有一个信息台,人们可以在这里查询任何商店的位置和提供的服务。等到有新的商店开张,或者现有商店搬走,信息台的信息也会随之更新,确保顾客总能找到他们想要的东西。现在,如果我们把这个购物中心比作微服务架构,那么Nacos注册中心就是那个提供最新信息的信息台。每个微服务启动时,都会向Nacos注册中心“报到”。当有微服务下线或更新时,注册中心也会实时更新这些信息。原创 2024-06-05 18:00:00 · 2327 阅读 · 0 评论 -
RestTemplate --学习笔记
想象一下你在一家快餐店点餐。你告诉服务员你想要的食物,服务员在系统中输入你的订单,然后厨房根据这个订单做餐。等待一会儿后,你拿到你的食物,整个过程既直接又高效。在 Java 的世界里,就像是你的收银员。当你的应用想要从另一个应用(厨房)获取数据时(比如点餐),你只需告诉你需要什么(发出 HTTP 请求),会帮你处理这个请求,然后将其他应用的回应(做好的食物)交回给你。简单来说,是 Spring 提供的一个用于发送 HTTP 请求和获取 HTTP 回应的工具,使得和其他服务或 API 交互变得简单方便。原创 2024-06-04 18:00:00 · 699 阅读 · 0 评论 -
什么是SpringCloud? --学习笔记
想象一下,你要建一个现代化城市,这个城市由很多小区组成,每个小区承担着不同的职能,比如居住、购物、娱乐、教育等。在这个比喻中,现代化城市就像是一个大型软件系统,而每个小区就是系统中的一个小服务,它们共同组成了一个复杂的服务网络。它帮助开发人员专注于各自的服务功能实现,而不用过多担心服务之间的通信问题、服务的注册与发现、配置管理等复杂的系统级问题。链路追踪就像是安装在城市中的监控摄像头,记录下请求的完整路径,帮助我们了解请求的全貌,方便出问题时能快速定位问题所在。原创 2024-06-03 18:00:00 · 393 阅读 · 0 评论 -
Docker安装与使用 --学习笔记
Docker本身包含一个后台服务,我们可以利用Docker命令告诉Docker服务,帮助我们快速部署指定的应用。Docker服务部署应用时,首先要去搜索并下载应用对应的镜像,然后根据镜像创建并允许容器,应用就部署完成了。图示:所以使用docker部署软件确实是非常的实用方便,那么刚才执行的命令真正的意思到底是什么呢?原创 2024-06-02 18:00:00 · 955 阅读 · 0 评论 -
Apache POI --学习笔记
Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。原创 2024-06-01 18:00:00 · 376 阅读 · 0 评论 -
WebSocket --学习笔记
WebSocket 是基于 TCP 的一种新的。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建的连接, 并进行数据传输。想象一下平时我们使用的聊天软件,当你发送一条信息后,通常不需要刷新页面,对方就能准时收到消息;同样地,当对方回复时,你也能立即看到新消息。这种实时且双向的数据交换就是WebSocket实现的效果。与传统的HTTP请求不同,HTTP请求通常是单向的,客户端发送一个请求到服务器,服务器返回一个响应,结束这次通信;原创 2024-05-31 18:00:00 · 243 阅读 · 0 评论 -
Spring Cache --学习笔记
Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:EHCacheCaffeineRedis(常用)原创 2024-05-29 18:00:00 · 454 阅读 · 0 评论 -
Spring Task --学习笔记
是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。定时任务框架定时自动执行某段Java代码。原创 2024-05-30 18:00:00 · 408 阅读 · 0 评论 -
HttpClient --学习笔记
HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。HttpClient的作用有俩个:简单的说,可以将HttpClient理解为一个虚拟的网络客户端,可以在java程序中模拟发送Http请求和接收响应,也就是在程序中模拟平常正常用浏览器上网发送请求给服务器这一行为。发送HTTP请求。原创 2024-05-24 18:00:00 · 399 阅读 · 0 评论 -
Redis --学习笔记
一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛Redis默认端口号为6379Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。它存储的value类型比较丰富,也被称为结构化的NoSql数据库。NoSql(Not Only SQL),不仅仅是SQL,泛指非关系型数据库。原创 2024-05-23 17:06:58 · 821 阅读 · 0 评论 -
Swagger --学习笔记
Swagger是API设计工具集,用于帮助开发者设计、构建和文档化RESTful Web服务。它通过标准化的格式来描述API接口,使得创建、维护和使用API变得更加清晰和简便,同时提供工具支持API的交互式文档、编辑器以及代码的自动生成Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。原创 2024-05-15 12:00:00 · 412 阅读 · 0 评论 -
nginx反向代理和负载均衡 --学习笔记
即naginx作为一个中转站,前端传来的动态请求先发送到nginx服务器,再由nginx服务器转发至后端使用naginx反向代理的好处:提高访问速度因为nginx本身可以进行缓存,如果访问的同一接口,并且做了数据缓存,nginx就直接可把数据返回,不需要真正地访问服务端,从而提高访问速度。进行负载均衡所谓负载均衡,就是把大量的请求按照我们指定的方式均衡的分配给集群中的每台服务器。保证后端服务安全。原创 2024-05-14 11:45:00 · 387 阅读 · 0 评论 -
springbootweb的一些知识点总结(杂项) --学习笔记
通过启动类上的@SpringBootApplication中包含的@EnableAutoConfiguration中包含的@Import({AutoConfigurationImportSelector.class})注解中指定的实现了ImportSelector接口的AutoConfigurationImportSelector实现类中的selectImports方法的返回值中包含的需要扫描的自动配置类的位置加载出相关的第三方依赖的Bean。原创 2024-05-13 11:45:00 · 800 阅读 · 0 评论 -
@ExceptionHandler 注解 --学习笔记
例如,如果你有两个处理方法,一个参数是异常的子类型,另一个是父类型,当抛出该子类型异常时,Spring会调用参数为子类型的处理方法。可以将其看作是Spring的一种切面编程(AOP)实践,使得可以在一个地方集中处理类似的异常而无需在每个方法中重复相同的异常处理代码。注解且匹配异常类型的方法来处理这些异常。具体来说,它允许你处理控制器内部发生的异常,避免了编写大量的try-catch块,和将异常处理逻辑与业务逻辑混在一起。添加了@ExceptionHandler注解的方法,其形参类型决定它所捕获的异常类型。原创 2024-05-12 11:45:00 · 264 阅读 · 0 评论 -
轻松掌握MybatisPlus --学习笔记
一个Mybatis的增强工具,简化单表操作,对Mybatis的功能有很多的增强但不改变,让开发更加的简单,高效。原创 2024-05-11 12:00:00 · 569 阅读 · 0 评论 -
springboot-aop-学习笔记
AOP英文全称:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,就是 需要 某个通用的方法时,可以创建一个模板,模板里面就有这些通用的方法,然后再把需要这些方法的方法们嵌套进去运行,很像动态代理同时需要增加一个方法,改动原来的代码很麻烦,所以直接使用一个模板来调用原来的代码,模板里面就有需要增加的方法:这么说可能还有点抽象,举个例子,现在需要给项目中逻辑层每个方法添加一个记录运行耗时的功能,如果在每个方法里面都敲上这么一段新增的代码即麻烦又显得代码臃肿,这个原创 2024-05-10 19:54:44 · 740 阅读 · 1 评论 -
拦截器Interceptor --学习笔记
是一种动态拦截方法调用的机制,类似于过滤器。拦截器是Spring框架中提供的,用来动态拦截控制器方法的执行。拦截器的作用:拦截请求,在指定方法调用前后,根据业务需要执行预先设定的代码。原创 2024-04-30 12:00:00 · 188 阅读 · 0 评论 -
过滤器Filter --学习笔记
使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完毕之后,才可以访问对应的资源。原创 2024-04-29 12:00:00 · 280 阅读 · 0 评论 -
JWT令牌 --学习笔记
令牌就是用户身份的标识,其本质就是一个字符串。令牌的形式有很多,JWT就是功能强大的一种令牌JWT令牌定义了一种简洁的、自包含的格式,用于在通信双方以json数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的简洁:是指jwt就是一个简单的字符串。可以在请求参数或者是请求头当中直接传递。自包含:指的是jwt令牌,看似是一个随机的字符串,但是我们是可以根据自身的需求在jwt令牌中存储自定义的数据内容。如:可以直接在jwt令牌中存储用户的相关信息。原创 2024-04-28 12:00:00 · 1303 阅读 · 0 评论 -
Cookie、Session --学习笔记
基于Cookie实现基于 Session 来进行会话跟踪,浏览器在第一次请求服务器的时候,我们就可以直接在服务器当中来获取到会话对象Session。如果是第一次请求Session ,会话对象是不存在的,这个时候服务器会自动的创建一个会话对象Session。而每一个会话对象Session ,它都有一个ID,称之为 Session 的ID接下来,服务器端在给浏览器响应数据的时候,它会将 Session 的 ID 通过 Cookie 响应给浏览器。其实在响应头当中增加了一个 Set-Cookie 响应头。原创 2024-04-27 12:00:00 · 1385 阅读 · 0 评论 -
MyBatis --学习笔记
用来访问操作数据库的一个框架。原创 2024-04-26 12:00:00 · 617 阅读 · 0 评论 -
Lombok --学习笔记
Lombok:一个很实用的Java类库,简化编写实体类时臃肿的代码。原创 2024-04-24 18:29:39 · 188 阅读 · 0 评论 -
SpringBootWeb 请求与响应 --学习笔记
通过自定义的Controller控制器类——请求会被部署在Tomcat中的Controller接收,然后Controller再给浏览器一个响应,在请求响应的过程中是遵循HTTP协议的但其实Tomcat是不识别我们自己定义的Controller的。Tomcat是一个Servlet容器,支持Serlvet规范的,在tomcat中是可以识别 Servlet程序的。原创 2024-04-25 12:00:00 · 957 阅读 · 0 评论 -
Maven --javaweb
Maven是Apache旗下的一个开源项目,是一款用于管理和构建java项目的工具Apache 软件基金会,成立于1999年7月,是目前世界上最大的最受欢迎的开源软件基金会,也是一个专门为支持开源项目而生的非盈利性组织1、Maven有什么用呢?maven的作用主要分为以下三点:1、依赖管理如果没有Maven的依赖管理,在开发项目时需要引入大量的jar包,jar包和jar包之间常常会要求版本匹配,这时就很容易出现版本冲突问题。原创 2024-04-23 12:00:00 · 1273 阅读 · 0 评论 -
前端工程化、vue --javaweb学习笔记
是指在企业级的前端项目开发中,把前端开发所需的工具、技术、流程、经验等进行规范化、标准化介绍: Vue-cli 是Vue官方提供的一个脚手架,用于快速生成一个 Vue 的项目模板Vue-cli提供了如下功能:依赖环境:NodeJS安装教程:首先,新建一个文件夹,在文件夹中打开cmd然后输入命令行:图形化界面(推荐):然后会自动打开图形化界面基于Vue脚手架创建出来的工程,有标准的目录结构,如下:方式一:图形化界面(vscode打开vue项目,右键项目-运行文件夹中的npm脚本)方式二:命令行 n原创 2024-04-22 12:00:00 · 863 阅读 · 0 评论 -
NodeJs、vue-cli安装 --javaweb学习笔记
NodeJS 安装完毕后,会自动配置好环境变量,我们验证一下是否安装成功,通过: node -v。注意:E:\develop\NodeJS 这个目录是NodeJS的安装目录。选择安装到一个,没有中文,没有空格的目录下(新建一个文件夹NodeJS)这个过程中,会联网下载,可能会耗时几分钟,耐心等待。原创 2024-04-21 12:00:00 · 353 阅读 · 0 评论 -
Ajax、Axios --javaweb学习笔记
AJAX异步不重新加载整个页面更新部分网页原生Ajax(繁琐)原创 2024-04-20 12:00:00 · 355 阅读 · 0 评论