摘要: 一、简介 重要概念:总线 在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题, 并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有实例监听和消费,所以称它为消息总线。在总线上的各个实例,都可以方便地广播一些需要让其他连接在该主题 上的实例都知道的消息。 分布式自 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(156) 评论(0) 推荐(0)
摘要: 运行程序发现报这个错误,查了很多博客都说要重新安装jdk,其实不需要只用修改一下编译用的 jdk 版本即可。 后台报错: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/cn/thread/StartThr 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(694) 评论(0) 推荐(0)
摘要: 一、简介 1.1 分布式系统面临的配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,所以一套集中式的、动态的配置管理设施是必不可少的。如果没有的话,我们每个微服务自己带着一个applicatio 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(104) 评论(0) 推荐(0)
摘要: 题目:给出两个非空的链表用来表示两个非负的整数。其中它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 算法思路: 就像你在纸上计算两个数字的和那样,我 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(195) 评论(0) 推荐(0)
摘要: 一、简介 Spring Cloud Gateway 使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架 Gateway是在Spring生态系统之上构建的API网关服务,于Spring 5, Spring Boot 2和Project Reactor等技术。 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(452) 评论(0) 推荐(0)
摘要: 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 方法一:暴力法 暴力法很简单,遍历每个元素 x,并查找是否存在一个值与 target - x相 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(43) 评论(0) 推荐(0)
摘要: 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败。 服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。 如果扇出的链路上某个微服务的调用响应时间过长或者不可用 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(104) 评论(0) 推荐(0)
摘要: 简介 Feign是一 个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装使其支持了Spring MVC标准注解和Ht 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(556) 评论(0) 推荐(0)
摘要: 题目:你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!" 已经变成了"iresetthecomputeritstilldidntboot"。在处理标点符号和大小写之前,你得先把它断成词语 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(57) 评论(0) 推荐(0)
摘要: 一、简介 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件 提供一系列完善的配置项如连接超时,重试等。简单的说,就是 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(91) 评论(0) 推荐(0)
摘要: 题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 题解: 维护两个栈,第一个栈支持插入操作,第二个栈支持删除操作。根据栈 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(41) 评论(0) 推荐(0)
摘要: 题目:给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。 方法一:暴力法 暴力法是最直观的方法。初始化子数组的最小长度为无穷大,枚举数组nums中的每个下标作为子数组的开始下标对于每个开始 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(57) 评论(0) 推荐(0)
摘要: 题目: 给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。 ‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(297) 评论(0) 推荐(0)
摘要: 题目:你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 题解 首先考虑两种边界情况。 如果 k=0,则不能建造任何跳水板,因此返回空 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(111) 评论(0) 推荐(0)
摘要: 什么是CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。 CAP由Eric Brewer在2000年PODC会议上提出。该猜想在提出两年后被证明成 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(174) 评论(0) 推荐(0)
摘要: 简介 中文参考手册 Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。 这些功能可以根据需要单独使用,也可以一起使用以构建完整的服务网格。 Consul需要一个数据平面,并支持代理和本机集成模型。 Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(670) 评论(0) 推荐(0)
摘要: 1、@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过r 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(145) 评论(0) 推荐(0)
摘要: 题目:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 方法一:广度优先搜索 思路: 首先我们可以想到使用广度优先搜索的方式,记录从根节点到当前节点的路径和,以防止重复计算。 这样我们使用两个队列,分别 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(36) 评论(0) 推荐(0)
摘要: System.arraycopy():native方法+JVM手写函数,在JVM里预写好速度最快clone():native方法,但并未手写,需要JNI转换,速度其次Arrays.copyof():本质是调用1的方法,多了一个步骤,肯定就不是最快的。for():全是深复制,并且不是封装方法,最慢情有 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(51) 评论(0) 推荐(0)
摘要: HttpSessionAttributeListener:可以实现此侦听器接口获取此web应用程序中会话属性列表更改的通知; HttpSessionBindingListener:当该对象从一个会话中被绑定或者解绑时通知该对象,这个对象由HttpSessionBindingEvent对象通知。这可能 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(57) 评论(0) 推荐(0)
摘要: Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);DriverManager.registerDriver(new com.mysql.jdbc.Driver());System.setProperty(“jdbc.drive 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(47) 评论(0) 推荐(0)
摘要: floor: 求小于参数的最大整数。返回double类型 n. 地板,地面 例如:Math.floor(-4.2) = -5.0 ceil: 求大于参数的最小整数。返回double类型 vt. 装天花板; 例如:Math.ceil(5.6) = 6.0 round: 对小数进行四舍五入后的结果。返回 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(152) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(28) 评论(0) 推荐(0)
摘要: 1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、i 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(60) 评论(0) 推荐(0)
摘要: a. 连接点(Joinpoint):程序执行的某个特定位置(如:某个方法调用前、调用后,方法抛出异常后)。一个类或一段程序代码拥有一些具有边界性质的特定点,这些代码中的特定点就是连接点。Spring仅支持方法的连接点。 b. 切点(Pointcut):如果连接点相当于数据中的记录,那么切点相当于查询 阅读全文
posted @ 2022-04-08 23:24 FireCode 阅读(1199) 评论(0) 推荐(0)