自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 问答 (2)
  • 收藏
  • 关注

原创 《数据库系统概论》-02 中级SQL 约束、授权、索引

create view v as ,查询表达式可以是任何合法的查询表达式。视图名称用v表示。支持两种形式的自定义类型:独特类型、结构化数据类型。在这里只介绍独特类型。独特类型创建的属性具有强类型检查,因此表达式(department.budget + 20)将不会被接受。其实早在SQL引入 自定义类型 之前,SQL 就有与自定义类型相近的概念:域(domain)。在域上可以施加完整性约束,也可以为域类型的变量定义定义缺省值(但在自定义类型上都不行)。

2022-09-20 14:37:05 1467 1

原创 《数据库系统概念》-01 初级SQL,基础SQL语句

最为广泛的数据库查询语言:SQL最初叫做Sequel,现SQL(Structured Query Language,结构化查询语言)char(n):具有用户指定长度n的固定长度的字符串。全称 charactervarchar(n):具有用户指定的最大长度n的可变长度的字符串。全称 character varyingint:整数(依赖于机器的整数的有限子集)。全称 integersmallint:小整数(依赖于机器的整数类型的子集)numeric(p,d):具有用户指定精度的定点数。

2022-09-14 19:45:23 538

原创 Linux基本操作命令

gcc (GNU Compiler Collection,GNU编译器套件)是GNU 项目的编译器组件之一,也是GNU 软件产品家族具有代表性的作品。gcc 是一个交叉平台的编译器,目前支持几乎所有主流CPU 处理器平台,它可以完成从C、C++、objective-C等源文件向运行在特定CPU硬件上的目标代码的转换,gcc不仅功能非常强大,结构也异常灵活,便携性(portable)与跨平台支持(cross-platform support)特性是gcc的显著优点。

2022-09-02 15:43:24 934

原创 剑指Offer 03.数组中的重复数字 原地交换

找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。......

2022-08-30 10:35:56 176

原创 谷粒商城15-商品秒杀、Sentinel高并发、高并发方法论

官方文档:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D项目地址:https://github.com/alibaba/Sentinel随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。...

2022-08-28 17:56:26 927

原创 【已解决】报错:Add an implementation, such as Hibernate Validator, to the classpat 导包之后依旧依赖循环

【代码】【已解决】报错:Add an implementation, such as Hibernate Validator, to the classpat 导包之后依旧依赖循环。

2022-08-27 19:09:52 1703 1

原创 谷粒商城14——订单支付(AliPay)

在首页点击【我的订单】即可访问到订单页面,同时在member模块远程调用order 模块查询返回数据。通过内存穿透的外网域名访问本地时,携带的Host头为外网的host头,从而导致无法访问。解决方法:修改nginx,在nginx中修改外网的host头地址。根据上面支付宝响应的数据,我们需要传入响应的数据,这里使用了。,传入响应的数据,自动访问alipay 的网关,进入支付页面。线上使用阿里支付,需要已备案的域名,所有选择沙箱环境测试。内网穿透功能可以允许我们使用外网的网址来访问主机;

2022-08-19 22:28:44 1148

原创 谷粒商城13——订单模块完成、分布式事务应用、RabbitMQ、Seata、电商项目订单场景的分析完善

谷粒商城13——订单模块完成、分布式事务应用、RabbitMQ、Seata、电商项目订单场景的分析完善

2022-08-18 17:18:02 2006

原创 分布式事务 理论学习

实现:业务处理服务在业务事务提交之前,向实时消息服务请求发送消息,实时消息服务只 记录消息数据,而不是真正的发送。是对 CAP 理论的延伸,思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但以采用适当的采取弱一致性,即最终一致性。分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个 东西,特别是在微服务架构中,几乎可以说是无法避免。对于多数大型互联网应用的场景,主机众多、部署分散,而且现在的集群规模越来越大,所。前面使用本地事务,抛出异常回滚事务。.........

2022-08-17 17:44:12 152

原创 剑指Offer 09.用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )来源:力扣(LeetCode)链接:https://leetcode.cn/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-16 08:05:38 94

原创 641.设计双向循环队列

设计实现双端队列。实现ktruefalsetruefalsetruefalsetruefalse-1-1truefalsetruefalseinsertLastdeleteLastgetFrontgetRearisEmptyisFull2000来源:力扣(LeetCode)链接:https://leetcode.cn/problems/design-circular-deque著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-15 09:00:13 154

原创 剑指OfferⅡ 049.从根节点到叶节点的路径数字之和 dfs

计算从根节点到叶节点生成的。是指没有子节点的节点。[1, 1000]10来源:力扣(LeetCode)链接:https://leetcode.cn/problems/3Etpl5著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-14 08:20:20 107

原创 谷粒商城12——购物车模块、消息队列RabbitMQ

大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力消息服务中两个重要概念: 消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。...

2022-08-10 17:33:47 1205

原创 RabbitMQ-04(SpringBoot整合RabbitMQ,基本使用)

publisher-confirms:生产者确认机制,确保消息会正确发送,如果发送失败会有错误回执,从而触发重试。exchange:交换机名称,此处配置后,发送消息如果不指定交换机就会使用这个。multiplier:下次重试间隔的倍数,此处是2即下次重试间隔是上次的2倍。value:这个消费者关联的队列。exchange:队列所绑定的交换机,值是@Exchange类型。max-interval:最长重试间隔,超过这个间隔将不再重试。key:队列和交换机绑定的RoutingKey,可指定多个。...

2022-08-10 17:28:11 599

原创 RabbitMQ-03(实战 、RabbitMQ 的六种消息模式)

Header:header模式与routing不同的地方在于,header模式取消routingkey,使用header中的 key/value(键值对)匹配队列。主题交换背后的逻辑类似于直接交换 - 使用特定路由键发送的消息将被传递到使用匹配绑定键绑定的所有队列。此时再图形化界面查看交换机,发现并不是像队列一样可以获取到消息,猜测交换机收到的消息如果不能立即发送就会销毁。上一个模式中的交换机将所有消息广播给所有消费者。公平分发:根据消费者的消费能力进行公平分发,处理快的处理的多,处理慢的处理的少;...

2022-08-10 11:54:06 1191

原创 剑指OfferⅡ 045.二叉树最底层最左边的值 dfs

给定一个二叉树的root,请找出该二叉树的节点的值。假设二叉树中至少有一个节点。注意:本题与主站 513 题相同: https://leetcode-cn.com/problems/find-bottom-left-tree-value/来源:力扣(LeetCode)链接:https://leetcode.cn/problems/LwUNpT著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-10 09:06:28 637

原创 RabbitMQ-02(docker安装、RabbitMQ的角色分类、AMQP、消息确认机制ACK)

一个应用有多个线程需要从rabbitmq中消费,或是生产消息,那么必然会建立很多个connection ,也就是多个tcp连接,对操作系统而言,建立和销毁tcp连接是很昂贵的开销,如果遇到使用高峰,性能瓶颈也随之显现,rabbitmq采用类似nio的做法,连接tcp连接复用,不仅可以减少性能开销,同时也便于管理。ACK机制:当消费者接收到消息后,会像RabbitMQ 发送回执 ACK,告知消息已经被接收。不存在没有交换机的队列,这个设置交换机为空的队列,实际上是被默认的交换机绑定了。.........

2022-08-09 21:23:32 377

原创 RabbitMQ-01(基本概念、理论性知识)

中间件产生的原因中间件可以屏蔽操作系统的复杂性,也可以屏蔽应用程序架构之间的局限性像一个系统可以用多种语言开发,中间使用中间件进行连接。

2022-08-09 14:00:34 344

原创 剑指Offer 033.变位数组

给定一个字符串数组strs,将组合在一起。可以按任意顺序返回结果列表。**注意:**若两个字符串中每个字符出现的次数都相同,则称它们互为变位词。注意:本题与主站 49 题相同: https://leetcode-cn.com/problems/group-anagrams/来源:力扣(LeetCode)链接:https://leetcode.cn/problems/sfvd7V著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-09 13:15:09 81

原创 力扣623.在二叉树中增加一行 dfs

给定一个二叉树的根root和两个整数val和depth,在给定的深度depth处添加一个值为val的节点行。注意,根节点root位于深度1。depthdepth - 1curvalcurcurcurdepth == 1depth - 1val[1, 104][1, 104]来源:力扣(LeetCode)链接:https://leetcode.cn/problems/add-one-row-to-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-05 10:59:14 90

原创 剑指Offer 63.股票的最大利润

假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?力扣(LeetCode)链接:https://leetcode.cn/problems/gu-piao-de-zui-da-li-run-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-04 09:27:19 85

原创 谷粒商城11——认证服务、短信验证、Gitee-OAuth 社交登录、分布式session

由于验证码生成在认证模块,而短信发送验证码在第三方模块,所以需要feign远程调用。另外就是,这里可以大量伪造手机号,进行访问,应该在获取验证码的时候加上图形验证。这一步包括 检验手机号、用户名是否被占用,密码MD5盐值加密,向数据库插入数据。新建一个 UserRegisterVo 封装提交表单的数据,同时进行参数校验。这里由于验证码肯定不是永久有效的,所以将验证码存储到 redis 中。校验验证码,并且远程调用会员服务进行注册(在数据库中插入数据)新建一个短信发送组件,可以配置短信发送的参数。...

2022-08-03 13:50:14 3400 1

原创 剑指Offer 56.Ⅰ数组中数字出现的次数

一个整型数组nums里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。......

2022-08-03 09:09:52 81

原创 分布式session ——Spring Session原理、实战解决 子域之间的 session 共享问题、不同服务器 session 共享解决方案

在大型项目中,一个 Tomcat 需要保存其他所有 Tomcat 的 session 数据,之间的来回复制占用资源,同时保存数据占用内存。注意:如果是以实体类的形式向 redis 存储 session,相关的实体类要实现序列化。根据官方文档新建一个配置类来设置存储的 CookieName 以及 设置保存到父域。使用SpringSession 解决以下两个问题。根据用户访问的 ip 地址固定用户访问的服务器。redis 中 保存的 session。......

2022-08-02 21:25:48 4270 1

原创 剑指Offer 49.丑数 动态规划

我们把只包含质因子2、3和5的数称作丑数(UglyNumber)。求按从小到大的顺序的第n个丑数。1n注意本题与主站264题相同https来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-02 08:56:51 150

原创 OAuth2.0 社交登录-Gitee springboot项目整合(微服务分布式)完整代码包括 数据库、前、后端

完成这个踩了很多坑,包括第一时间忘了浏览器缓存这回事以及微博一些平台申请社交登录很复杂,所以写这篇博客,主要记录一些前后端代码,方便以后偷个懒,可以直接复制粘贴。这里是模拟分布式完成了一个远程调用的OAuth登录,分为auth(认证模块)和member(会员用户模块)在gitee的官方api中,可以通过token获取用户数据。token的过期时间是一天,可以通过下面的方式重写获取token。在postman中填入参数获取token。放进来,同时放好对应的logo。.........

2022-08-01 22:30:10 1696 7

原创 剑指Offer 47.礼物的最大值 动态规划

在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-08-01 13:52:46 70

原创 剑指Offer 36.二叉搜索树与双向链表 中序遍历

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head”表示指向链表中有最小元素的节点。特别地,我们希望可以就地完成转换操作。来源力扣(LeetCode)链接。...

2022-07-31 09:15:08 124

原创 剑指Offer 35.复杂链表的复制

请实现函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者null。**注意**本题与主站138题相同https来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-07-30 09:26:50 158

原创 谷粒商城10——搜索、商品详情、异步编排

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AV6IJ6eb-1659072942560)(C\Users\10418\AppData\Roaming\Typora\typora-user-images\image-20220723110710007.png)]extendsU>和complete一样,可对结果做最后的处理(可处理异常),可改变返回值。当两个任务中,任意一个future任务完成的时候,执行任务。两个任务必须都完成,触发该任务。...

2022-07-29 13:39:00 487

原创 剑指Offer 34.二叉树中和为某一值的路径 dfs+回溯

给你二叉树的根节点root和一个整数目标和targetSum,找出所有路径总和等于给定目标和的路径。是指没有子节点的节点。[0,5000]来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-07-29 08:57:27 89

原创 剑指Offer 33.二叉搜索树的后序遍历序列

输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-07-28 08:47:01 135

原创 剑指Offer 32.Ⅲ从上到下打印二叉树

请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如给定二叉树,

2022-07-27 09:39:28 65

原创 剑指Offer 32.Ⅱ从上到下打印二叉树

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如给定二叉树,

2022-07-27 09:25:08 60

原创 剑指Offer 32.Ⅰ从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如给定二叉树,

2022-07-27 09:08:57 154

原创 《Java并发编程的艺术》2 第九章 Java中的线程池

corePoolSize(线程池的基本大小)提交任务到线程池,会优先创建线程(即便存在空闲的线程),等到需要执行的任务数大于corePoolSize时就不再创建。建议使用有界队列,这样如果线程池中的任务耗时较大、任务量较多时仅会影响后台任务,同时提醒系统出现问题了,如果使用的无界队列,可能等到挤爆内存,整个系统不可用了,才会发现错误。Java中的线程池时运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。关于线程池的具体实现原理,在了解一些线程池的参数之后,在作讲解。.......

2022-07-26 16:42:02 579

原创 剑指Offer 31.栈的压入、弹出

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列{1,2,3,4,5}是某栈的压栈序列,序列{4,5,3,2,1}是该压栈序列对应的一个弹出序列,但{4,3,5,1,2}就不可能是该压栈序列的弹出序列。popped。...

2022-07-26 08:37:02 65

原创 剑指Offer 16.数值的整数次方 快速幂+ 递归

实现xn,即计算x的n次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2022-07-26 08:21:10 1273

原创 剑指Offer 64.求1+2+...+n 递归+&&

求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?BC)。来源力扣(LeetCode)链接https著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...

2022-07-25 09:55:31 82

原创 剑指Offer 13.机器人的运动范围 深度优先遍历

剑指offer13.机器人的运动范围】地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1]。一个机器人从坐标[0,0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格[35,37],因为3+5+3+7=18。但它不能进入方格[35,38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?来源力扣(LeetCode)链接https。......

2022-07-24 14:36:26 251

空空如也

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

TA关注的人

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