题目:739.每日温度 给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。 示例1: 输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0] 示例2: 输入:temperatures=[30,40,50,60]输出:[1,1,1,0] 解题 方式一:暴力求解 最简单莫过于双重循环暴力求解,思路:从当前下标i开始往后寻找第一个比其大的数,记录其下标j,那answer[i]=ji,...

狂神-SpringCloud笔记目录 文章目录 ​​六、Ribbon:负载均衡(基于客户端)​​ ​​6.1负载均衡以及Ribbon​​ ​​6.2集成Ribbon​​ ​​6.3使用Ribbon实现负载均衡​​ 六、Ribbon:负载均衡(基于客户端) 6.1负载均衡以及Ribbon Ribbon是什么? SpringCloudRibbon是基于NetflixRibbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon的客户端组件提供一系列完...

​​狂神-SpringCloud笔记目录​​ 文章目录 ​​七、Feign:负载均衡​​ ​​7.1Feign简介​​ ​​7.2Feign的使用步骤​​ ​​7.3Feign和Ribbon如何选择?​​ 七、Feign:负载均衡 7.1Feign简介 Ribbon基于客户端。 Feign是声明式WebService客户端,它让微服务之间的调用变得更简单,类似controller调用service。 SpringCloud集成了Ribbon和Eureka,也可以使用Feigin提供负载均衡的http客户端。 (Feign就是在Ribbon的基础上加了一层,将使用方式转变为面向接口...

zk目录 文章目录 ​​1、Paxos算法​​ ​​1.1、Paxos算法-解决什么问题​​ ​​1.2、Paxos算法描述​​ ​​1.3、Paxos算法流程​​ ​​1.3.1、情况1​​ ​​1.3.2、情况2​​ ​​1.3.3、情况3​​ ​​2、ZAB协议​​ ​​2.1、什么是ZAB算法​​ ​​2.2、Zab协议内容​​ ​​2.2.1、消息广播​​ ​​2.2.2、崩溃恢复​​ ​​1)崩溃恢复—异常假设​​ ​​2)崩溃恢复—Leader选举​​ ​​3)崩溃恢复—数据恢复​​ ​​3、CAP理论​​ 思考:Zookeeper是如何保证...

文章目录 ​​RabbitMQ目录​​ ​​核心部分​​ ​​高级部分​​ ​​集群​​ ​​其他总结​​ RabbitMQ目录 核心部分 1、RabbitMQ概述 2、RabbitMQ之简单模式-HelloWorld 3、RabbitMQ之工作队列模式以及(多个消费者时的消费策略、消费者消息应答机制、RabbitMQ持久化操作 4、RabbitMQ之发布确认模式 5、交换机与发布/订阅模式、路由模式、主题模式_ 高级部分 6、死信队列 7、延迟队列 8、发布确认整合springboot(回退消息、备份交换机) 9、RabbitMQ其他知识点:幂等性、优先级队列、惰性队列 集群...

RabbitMQ目录 文章目录 ​​RabbitMQ如何防止消息丢失及重复消费​​ ​​一、消息丢失​​ ​​1.1、生产者没有成功把消息发送到MQ​​ ​​1.1.1、confirm(发布确认)机制​​ ​​1.1.2、事务机制​​ ​​1.2、RabbitMQ接收到消息之后丢失了消息​​ ​​1.3、消费者弄丢了消息​​ ​​二、如何防止重复消费​​ RabbitMQ如何防止消息丢失及重复消费 一、消息丢失 如图所示,RabbitMQ丢失消息的情况可以发送在任何一个节点。 1.1、生产者没有成功把消息发送到MQ 丢失的原因:因为网络传输的不稳定性,当生产者在...

RabbitMQ目录 文章目录 ​​发布确认-高级​​ ​​1、发布确认springboot版本​​ ​​1.1.确认机制方案​​ ​​1.2.代码架构图​​ ​​1.3.配置文件​​ ​​1.4.添加配置类​​ ​​1.5.消息生产者​​ ​​1.6.回调接口【重点】​​ ​​1.7.消息消费者​​ ​​1.8.结果分析​​ ​​2、回退消息​​ ​​2.1.Mandatory参数​​ ​​2.2.更改回调接口:增加回退接口​​ ​​2.3.消息生产者代码与消费者代码不用变​​ ​​2.4.结果分析​​ ​​3、备份交换机​​ ​​3.1.代码架构图​​ ​​3...

作者:火星十一郎 文章目录 ​​一.CAP起源​​ ​​二.CAP简介​​ ​​2.1强一致性​​ ​​2.2可用性​​ ​​2.3分区容错性​​ ​​2.4放弃C.A.P​​ ​​三.基本CAP的证明思路​​ ​​四.CAP的理解​​ ​​4.1流行解释​​ ​​4.2形式化描述​​ ​​4.3两种重要的分布式场景​​ ​​4.3.1.分布式环境中的事务场景​​ ​​4.3.2.分布式环境中的关联场景​​ ​​五.一致性分类​​ ​​5.1客户端角度​​ ​​5.2服务端角度​​ ​​六.传统数据库与NoSQL数据库​​ ​​七.战胜CAP​​ ​​7....

文章目录 倡议 “+”语法糖操作的本质 String、StringBuilder、StringBuffer性能比较 一个特殊的例子 总结 倡议 在《阿里java开发手册》中,对于Java字符串的拼接有一条规则如下: 22.【推荐】循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展。 “+”语法糖操作的本质 语法糖:语法糖(Syntacticsugar),也译为糖衣语法,是由英国计算机科学家彼得·兰丁发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性。 “+”号...

文章目录 题目:538.把二叉搜索树转换为累加树 解题 方式一:深度优先遍历(反序中序遍历) 题目:538.把二叉搜索树转换为累加树 给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。 提醒一下,二叉搜索树满足下列约束条件: 节点的左子树仅包含键小于节点键的节点。 节点的右子树仅包含键大于节点键的节点。 左右子树也必须是二叉搜索树。 示例1: 输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:[30,...

文章目录 题目:543.二叉树的直径 解题 方式一:深度优先遍历 题目:543.二叉树的直径 给你一棵二叉树的根节点,返回该树的直径。 二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点root。 两节点之间路径的长度由它们之间边数表示。 示例1: 输入:root=[1,2,3,4,5]输出:3解释:3,取路径[4,2,1,3]或[5,2,1,3]的长度。示例2: 输入:root=[1,2]输出:1 提示: 树中节点数目在范围[1,104]内 -100<=Node.val<=10 解题 方式一:深度优先遍历 这道题还是比较简单的,...

文章目录 题目:560.和为K的子数组 解题 方式一:暴力枚举 方式二:前缀和+Hash表 题目:560.和为K的子数组 给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的连续子数组的个数。 示例1: 输入:nums=[1,1,1],k=2输出:2示例2: 输入:nums=[1,2,3],k=3输出:2提示: 1<=nums.length<=2104 -1000<=nums[i]<=1000 -107<=k<=107 解题 方式一:暴力枚举 最简单的思路,两次循环,从当前i开始,逐个计算后面的和,在某一个和等于k时,结果个数+...

文章目录 题目:448.找到所有数组中消失的数字 解题 方式一:哈希表 方式二:原地修改(不使用哈希表) 题目:448.找到所有数组中消失的数字 给你一个含n个整数的数组nums,其中nums[i]在区间[1,n]内。请你找出所有在[1,n]范围内但没有出现在nums中的数字,并以数组的形式返回结果。 示例1:输入:nums=[4,3,2,7,8,2,3,1],输出:[5,6] 示例2:输入:nums=[1,1],输出:[2] 提示: nnums.length 1<=n<=105 1<=nums[i]<=n 进阶:你能在不使用额外空间且时间复杂度为O(n)...

文章目录 题目:438.找到字符串中所有字母异位词 解题 方式一:滑动窗口 题目:438.找到字符串中所有字母异位词 给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词指由相同字母重排列形成的字符串(包括相同的字符串)。 示例1: 输入:s=“cbaebabacd”,p=“abc”输出:[0,6]解释:起始索引等于0的子串是“cba”,它是“abc”的异位词。起始索引等于6的子串是“bac”,它是“abc”的异位词。 示例2: 输入:s=“abab”,p=“ab”输出:[0,1,2]解释:起始索引等于0的子串是“ab”,它是...

  4cUZdr0QxHGA   2023年11月02日   62   0   0 Java字符串算法leetcode

文章目录 题目:461.汉明距离 解题 方式一:位运算(利用^和&) 题目:461.汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数x和y,计算并返回它们之间的汉明距离。 示例1: 输入:x=1,y=4输出:2解释:1(0001)4(0100)上面的两个数的二进制表示中,有两个位置的数是不一样的。 示例2: 输入:x=3,y=1输出:1 提示: 0<=x,y<=2311 解题 方式一:位运算(利用^和&) 首先我们知道: &如果相对应位都是1,则结果为1,否则为0 ^如果相对应位值相同,则结果为0,否则为1 ...

轻量级锁轻在哪里?重量级锁重在哪里? 重量级锁:我们知道,当要进入一个同步、线程安全的方法时,是需要先获得这个方法的锁的,退出这个方法时,则会释放锁。如果获取不到这个锁的话,意味着有别的线程在执行这个方法,这时我们就会马上进入阻塞的状态,等待那个持有锁的线程释放锁,然后再把我们从阻塞的状态唤醒,我们再去获取这个方法的锁。这种获取不到锁就马上进入阻塞状态的锁,我们称之为重量级锁。重点在于获取不到锁的线程,会一直处在等待状态,什么东西都做不了 优点:线程竞争不使用自旋,不会消耗CPU。 缺点:线程阻塞,响应时间缓慢。 轻量级锁:一般都是用自旋锁+CAS来实现的,我们可以定义自选的次数,到...

文章目录 前言 binlog binlog三种记录格式 binlog日志写入机制 redolog redolog刷盘时机 innodb_flush_log_at_trx_commit=0 innodb_flush_log_at_trx_commit=1 innodb_flush_log_at_trx_commit=2 redolog日志文件组 redolog小结 两阶段提交 undolog 总结 前言 MySQL日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。 其中,比较重要的还要: binlog二进制日志(归档日志) redolog...

  4cUZdr0QxHGA   2023年11月02日   44   0   0 bin logundo logredo logmysql数据库

文章目录 一、synchronized的使用 二、Synchronized与Lock锁的区别 三、synchronized底层原理 3.1、synchronized同步语句块的情况 3.2、synchronized修饰方法的的情况 3.3、总结 四、JDK1.6之后的synchronized底层做了哪些优化? 五、synchronized和volatile有什么区别? 一、synchronized的使用 使用有两方面:同步方法、同步代码块 synchronized修饰方法的的情况: publicclassSynchronizedDemo2{ publicsynchroniz...

  4cUZdr0QxHGA   2023年11月02日   40   0   0 同步代码块JVMJavasynchronized
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~