自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot02(数据库、Redis)02---java八股

这种策略只针对设置了过期时间的key进行操作,优先淘汰那些最近最少使用且已经设置了过期时间的key。描述:在设置了过期时间的key中,淘汰过期时间剩余最短的。这种策略优先淘汰那些即将过期的key,确保Redis存储的数据尽可能新鲜。在不确定哪些key是热门数据,或者对淘汰策略没有特殊要求的情况下,可以使用这种简单的随机淘汰策略。通常不推荐使用,除非对数据的完整性有极高的要求,且能够接受在内存不足时拒绝所有写操作的后果。在需要淘汰过期key,但又不希望完全依赖LRU算法的情况下,可以使用这种随机淘汰策略。

2025-03-22 23:27:50 1385

原创 分布式存储(Zookeeper)---java八股

分布式事务是指在分布式系统中,由多个微服务或数据库参与的事务,这些参与者可能分布在不同的服务器或数据存储中。与单体应用中的传统事务不同,分布式事务需要确保在多个系统或服务之间的一致性、可靠性和原子性,即要保证在多方参与的事务中,要么全部成功,要么全部失败。ZAB协议是Zookeeper用来实现一致性的原子广播协议领导者选举阶段:从Zookeeper集群中选出一个节点作为Leader,所有的写请求都会由Leader节点来处理。

2025-02-17 14:18:20 1015

原创 Spring Boot02(数据库、Redis)---java八股

Mybatis的优缺点#{}和${}的区别是什么?。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用 PreparedStatement 来赋值;Mybatis在处理${}时,会将sql中的${}替换成变量的值,调用 Statement 来赋值;使用#{}可以有效的防止 SQL 注入, 提高系统安全性。索引的基本原理索引用来快速地寻找那些具有特定值的记录。如果没有索引,一般来说执行查询时遍历整张表。索引设计的原则?事务的基本特性和隔离级别。

2025-02-16 17:08:14 1699

原创 Redis的持久化机制

持久化方式优点缺点适用场景RDB性能高,适合大规模备份,易于迁移和备份数据丢失风险,生成快照时可能对性能产生影响数据丢失容忍度高,周期性备份AOF数据安全性高,能够完整记录所有操作,减少数据丢失性能较差,AOF 文件可能变大,需要定期重写数据安全性要求高,容忍性能下降混合模式结合了 RDB 的高效性和 AOF 的数据安全性,平衡性能与可靠性占用更多资源,可能会增加系统负担高性能需求同时要求高可靠性根据实际需求,可以选择合适的持久化方式来平衡性能和数据一致性。

2025-02-16 16:43:30 989

原创 缓存穿透、缓存击穿、缓存雪崩分别是什么

问题类型主要原因解决方法缓存穿透请求的数据不存在或非法参数校验、空值缓存、布隆过滤器缓存击穿热点数据缓存失效,多个请求并发访问互斥锁、缓存预热、合理设置缓存过期时间缓存雪崩大量缓存同时失效,导致请求直接访问数据库缓存过期时间随机化、二级缓存、降级处理、分布式架构这三种问题是分布式缓存系统中常见的性能瓶颈,需要合理设计缓存策略和架构来应对。

2025-02-16 16:36:54 1016

原创 Redis分布式锁底层是如何实现的?

Redis 提供的简单操作能够有效地实现分布式环境中的锁机制,通过这种方式,我们可以在分布式系统中保证某些操作的互斥性。命令来实现的,确保了锁的互斥性和防止死锁的机制。为了确保锁的释放不发生误操作,通常会使用唯一标识符进行锁的标记。是一种常见的分布式系统中解决多进程/多线程访问共享资源时的同步问题的机制。在 Redis 中,实现分布式锁的底层原理通常依赖于。使用 Redis 实现分布式锁时,需要特别注意锁的过期时间、锁的释放时机和锁的唯一性。(由 Redis 的创始人 Antirez 提出的分布式锁算法)

2025-02-16 16:27:21 641

原创 什么是RDB和AOF

这样,RDB 可以提供较快速的恢复,而 AOF 则可以提供较高的数据持久性。Redis 会在重启时优先恢复 AOF 数据,若 AOF 文件存在问题,则回退到 RDB 快照。它们分别有不同的工作原理和优缺点,可以根据具体需求选择合适的方式进行持久化。是一种基于快照的持久化机制,它会在指定的时间间隔内将数据库的状态保存到一个二进制文件中。AOF 文件通常被称为。RDB 持久化的过程是一次性的,会在保存快照时冻结 Redis 的操作。,它保存了 Redis 执行的所有写操作,因此可以通过重放这些操作来恢复数据。

2025-02-16 16:20:51 967

原创 简述Redis事务实现

Redis 事务实现通过 MULTI 开始事务,EXEC 提交事务,DISCARD 放弃事务。虽然 Redis 提供了事务的原子性和隔离性,但不像传统关系型数据库那样提供回滚机制。事务的核心功能是确保命令按照顺序、原子性执行,而 WATCH 可以用来实现乐观锁,增加事务执行的可靠性。

2025-02-16 16:17:15 333

原创 Redis 主从复制的核心原理

Redis 主从复制(Master-Slave Replication)是 Redis 提供的一个重要功能,允许一个 Redis 实例作为主节点(Master),将数据同步到一个或多个从节点(Slave)。通过主从复制,Redis 可以实现数据的冗余备份、负载均衡和高可用性。Redis 的主从复制基于 异步复制,具体过程包括主节点与从节点之间的数据同步,数据的传播等,以下是核心原理:Redis 主从复制的核心原理是通过 异步复制 实现主节点与从节点之间的数据同步。从节点在连接到主节点后,会执行全量同步和增量

2025-02-16 16:14:56 865

原创 Spring Boot01(注解、)---java八股

多个事务方法相互调用时,事务如何在这些方法间传播,方法A是一个事务的方法,方法A执行过程中调用了方法B,那么方法B有无事务以及方法B对事务的要求不同都会对方法A的事务具体执行造成影响,同时方法A的事务对方法B的事务执行也有影响,这种影响具体是什么就由两个方法所定义的事务传播类型所决定。另外,Bean是不是线程安全,跟Bean的作用域没有关系,Bean的作用域只是表示Bean的生命周期范围,对于任何生命周期的Bean都是一个对象,这个对象是不是线程安全的,还是得看这个Bean对象本身。

2025-02-16 14:53:36 1175

原创 java05(类、泛型、JVM、线程)---java八股

Java中有哪些类加载器JDK自带有三个类加载器:bootstrap ClassLoader、ExtClassLoader、AppClassLoader。●BootStrapClassLoader是ExtClassLoader的父类加载器,默认负责加载%JAVA_HOME%lib下的jar包和class文件。●ExtClassLoader是AppClassLoader的父类加载器,负责加载%JAVA_HOME%/lib/ext文件夹下的jar包和class类。

2025-02-15 11:29:31 1310

原创 java基础04(集合、异常、引用、线程)---java八股

java八股---java基础03(包、IO流、反射、String、包装类)-优快云博客

2025-02-14 16:20:53 815

原创 java基础03(包、IO流、反射、String、包装类)---java八股

Java包。

2025-02-14 11:48:23 1039

原创 java02(面向对象、类、变量、方法、值传递)---java八股

包括数据抽象和行为抽象两方面。抽象只关注对象有哪些 属性和行为,并不关注这些行为的细节是什么。

2025-02-13 21:58:11 730

原创 java基础01(概述、基础语法)---java八股

JVM、JRE和JDK的关系JVM --Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以 实现跨平台。包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行 Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。是提供给Java开发人员。

2025-02-13 17:42:13 558

原创 数据统计–Excel报表(day12)2

Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI都是用于操作 Excel 文件。

2025-01-24 18:59:44 1393

原创 工作台 (day12) 1

工作台工作台需求分析和设计今日数据订单管理菜品总览套餐总览订单信息名词解释:•营业额:已完成订单的总金额•有效订单:已完成订单的数量•订单完成率:有效订单数总订单数* 100%•平均客单价:营业额有效订单数•新增用户:新增用户的数量接口设计:•今日数据接口•订单管理接口•菜品总览接口•套餐总览接口•订单搜索(已完成)•各个状态的订单数量统计(已完成)1、今日数据接口。

2025-01-24 17:38:48 926

原创 数据统计–图形报表(day11)

订单统计通过一个折现图来展现,折线图上有两根线,这根蓝色的线代表的是订单总数,而下边这根绿色的线代表的是有效订单数,指的就是状态是已完成的订单就属于有效订单,分别反映的是每一天的数据。上面还有3个数字,分别是订单总数、有效订单、订单完成率,它指的是整个时间区间之内总的数据。所谓用户统计,实际上统计的是用户的数量。通过折线图来展示,上面这根蓝色线代表的是用户总量,下边这根绿色线代表的是新增用户数量,是具体到每一天。的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。

2025-01-24 00:02:36 924

原创 订单状态定时处理、来单提醒和客户催单(day10)

分为6或7个域,由空格分隔开,每个域代表一个含义。

2025-01-24 00:01:26 1080

原创 校验收货地址是否超出配送范围实战3(day09)

​ 1. 基于百度地图开放平台实现(https://lbsyun.baidu.com/)​ 2. 注册账号--->创建应用获取AK(服务端应用)--->调用接口3. 相关接口4. 商家门店地址可以配置在配置文件中,例如:~~~yaml。

2025-01-23 18:11:17 509

原创 订单支付-跳过微信支付(day08)

点击 支付 -->调用支付成功接口-直接更新订单状态点击 支付 -->直接跳转支付成功页面点击支付后直接跳转支付成功页面注释原有支付代码。

2025-01-23 12:38:49 301

原创 商家端订单管理模块实战2(day09)

输入订单号/手机号进行搜索,支持模糊搜索- 根据订单状态进行筛选- 下单时间进行时间筛选- 搜索内容为空,提示未找到相关订单- 搜索结果页,展示包含搜索关键词的内容- 分页展示搜索到的订单数据。

2025-01-23 11:58:24 1010

原创 用户端历史订单模块实战1(day09)

展示订单数据时,需要展示的数据包括:下单时间、订单状态、订单金额、订单明细(商品名称、图片)- 再来一单就是将原订单中的商品重新加入到购物车中。- 商家已接单状态下,用户取消订单需电话沟通商家。- 如果在待接单状态下取消订单,需要给用户退款。- 待支付和待接单状态下,用户可直接取消订单。- 派送中状态下,用户取消订单需电话沟通商家。- 取消订单后需要将订单状态修改为“已取消”- 可以根据订单状态查询。- 分页查询历史订单。

2025-01-22 21:13:08 915

原创 用户下单、订单支付(day08下)

要实现微信支付就需要注册微信支付的一个商户号,这个商户号是必须要有一家企业并且有正规的营业执照。只有具备了这些资质之后,才可以去注册商户号,才能开通支付权限。​产品中心 - 微信支付商户平台​​​JSAPI下单:商户系统调用该接口在微信支付服务后台生成预支付交易单JSAPI下单(对应时序图的第5步):商户系统调用该接口在微信支付服务后台生成预支付交易单接口地址:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_1.shtml。

2025-01-22 18:04:15 1240

原创 地址簿功能代码(day08上)

地址簿功能代码地址簿功能代码需求分析和设计产品原型:业务功能:•查询地址列表•新增地址•修改地址•删除地址•设置默认地址•查询默认地址idbigint主键自增user_idbigint用户id逻辑外键consignee收货人sexvarchar(2)性别phone手机号省份编码省份名称city_code城市编码city_name城市名称区县编码区县名称detail详细地址信息具体到门牌号label标签公司、家、学校。

2025-01-22 15:07:53 626

原创 缓存商品、购物车(day07)

是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。Spring Cache 提供了一层抽象EHCacheCaffeineRedis(常用)在 SpringCache 中提供了很多缓存操作的注解在spring boot项目中,使用缓存技术只需在项目中导入相关缓存技术的依赖包,并在启动类上使用@EnableCaching开启缓存支持即可。例如,使用Redis作为缓存技术,只需要导入Spring data Redis的maven坐标即可。

2025-01-22 13:38:28 1137

原创 商品浏览(day06)下

【代码】微信登录、商品浏览(day06)下。

2025-01-21 17:23:57 424

原创 微信登录、商品浏览(day06)上

开发完一个小程序要上线,也给我们提供了详细地接入流程。准备工作。

2025-01-21 16:17:31 933

原创 店铺营业状态设置(day05)

Redis入门Redis简介Redis 是一个基于的。Redis 是互联网技术领域使用最为广泛的。Redis是一个基于的key-value结构数据库。1、基于内存存储,读写性能高2、适合存储热点数据(热点商品、资讯、新闻)3、企业应用广泛Redis 是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到 100000+ 的 QPS(每秒内查询次数)。它存储的 value 类型比较丰富,也被称为结构化的 No。

2025-01-20 18:56:14 1046

原创 套餐管理模块实战(day04)

1.根据产品原型进行需求分析,分析出业务规则2.设计接口3.梳理表之间的关系(分类表、菜品表、套餐表、口味表、套餐菜品关系表)4.根据接口设计进行代码实现5.分别通过swagger接口文档和前后端联调进行功能测试。

2025-01-17 22:49:22 1335

原创 图片上传看不到

后端显示成功,但是前端看不到。1、注意阿里云的名称不要写错了。不要加https://

2025-01-17 16:42:41 126

原创 Method 类和MethodSignature 类 Spring AOP 中的 Signature 对象

方法声明的两个组件构成了方法签名方法的名称和参数类型。

2025-01-16 21:19:20 859

原创 菜品管理(day03)

公共字段自动填充公共字段自动填充问题分析在新增数据时,将createTime、updateTime设置为当前时间,createUser、updateUser设置为当前登录用户ID。在更新数据时,将updateTime设置为当前时间,updateUser设置为当前登录用户ID。问题:代码冗余、不便于后期维护实现思路代码开发自定义注解AutoFill自定义切面完善自定义切面AutoFillAspect的autoFill方法完善自定义切面的autoFill方法完善自定义切面。

2025-01-15 20:56:01 1160

原创 员工管理、分类管理(day02)

由于开发阶段前端和后端是并行开发的,后端完成某个功能后,此时前端对应的功能可能还没有开发完成,导致无法进行前后端联调测试。所以在开发阶段,后端测试主要以接口文档测试为主。解析出登录员工 id 后,如何传递给 Service 的 save 方法?://localhost:8080/doc.html,进入新增员工接口。可以通过接口文档进行测试,最后完成前后端联调测试即可。接口文档进行测试,通过后再前后端联调测试即可。录入的用户名已存在,抛出的异常后没有处理。根据接口设计中的请求参数形式对应的在。

2025-01-15 19:55:21 907

原创 异常:o.s.web.servlet.PageNotFound : No mapping for GET

最后发现原因是SQL语句书写错误。

2025-01-15 12:11:27 261

原创 项目概述、开发环境搭建(day01)

定位:专门为餐饮企业(餐厅、饭店)定制的一款软件产品功能架构:体现项目中的业务功能模块产品原型产品原型:用于展示项目的业务功能,一般由产品经理进行设计技术选型技术选型:展示项目中使用到的技术框架和中间件等用户层本项目中在构建系统管理后台的前端页面,我们会用到 H5、Vue.js、ElementUI、apache echarts (展示图表)等技术。而在构建移动端应用时,我们会使用到微信小程序。网关层Nginx 是一个服务器,主要用来作为 Http 服务器,部署静态资源,访问性能高。

2025-01-13 21:27:16 1209

原创 maven高级(day15)

1). 什么是分模块设计:将项目按照功能拆分成若干个子模块2). 为什么要分模块设计:方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享3). 注意事项:分模块设计需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分在 maven 中,可以在父工程的 pom 文件中通过 <> 来统一管理依赖版本。注意事项在父工程中所配置的​ 只能统一管理依赖版本,并不会将这个 依赖直接引入进来。这点和是不同的。子工程要使用这个依赖,还是需要引入的,只是此时就无需指定。

2025-01-10 20:50:01 814

原创 Web后端开发总结(day14)

web后端开发现在基本上都是基于标准的进行开发的,在三层架构当中,层负责接收请求响应数据,负责具体的业务逻辑处理,也叫持久层, 就是用来处理数据访问操作的,来完成数据库当中数据的增删改查操作。如果我们在执行具体的业务处理之前,需要去做一些通用的业务处理,比如:我们要进行统一的登录校 验,我们要进行统一的字符编码等这些操作时,我们就可以借助于Javaweb当中三大组件之一的或者是当中提供的来实现。

2025-01-10 17:14:11 863

原创 SpringBoot 原理篇(day14)

场景需求自定义 aliyun-oss-spring-boot-starter,完成阿里云 OSS 操作工具类 AliyunOSSUtils 的自动配置。目标:引入起步依赖引入之后,要想使用阿里云OSS,注入 AliyunOSSUtils直接使用即可。步骤创建 aliyun-oss-spring-boot-starter 模块 (进行依赖管理)把阿里云OSS所有的依赖统一管理起来。

2025-01-10 12:01:40 723 1

原创 SpringBootWeb 事务&AOP(day13)

事务管理事务管理。

2025-01-09 20:09:14 1084

空空如也

空空如也

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

TA关注的人

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