当前位置: 首页 > news >正文

湘潭大学软件工程专业选修 SOA 期末考试复习(二)

文章目录

  • 回顾
  • 序言
  • 第一章课后题
    • 填空
    • 选择
    • 简答
  • 第二章课后题
    • 填空
    • 选择
    • 编程
  • 计划
  • 第三章课后题
    • 填空
    • 选择
    • 简答
    • 编程
  • 第四章课后题
    • 填空
    • 选择
    • 简答
    • 编程
  • 第五章课后题
    • 填空
    • 选择
    • 简答
    • 编程
  • 第六章课后题
    • 说明
  • 第七章课后题
    • 填空
    • 选择
    • 简答
    • 编程
  • 第八章课后题
    • 填空
    • 选择
    • 简答
    • 编程
  • 第九章课后题
    • 填空
    • 选择
    • 简答
    • 编程
  • 总结

回顾

  • 湘潭大学软件工程专业选修 SOA 期末考试复习(一)

序言

发现之前那本书搞错了,好像是服务端的书?不知道。现在重新看一眼前面三章的题。最近感觉事情比较多,虽然课比较少。一件一件事情来,现在继续复习 SOA ,至少先过一遍大概的。

这个书有简答题和编程题,感觉考试就是这样了。感觉课件啥的随便看一下,然后记一记课后题就差不多了。

对了,要是文章里面有错误,麻烦在评论区或者私信告诉我。我们最后会忘了那个题的答案,但是会记得那段时间,那时的感受,就像我不记得英语老师讲的阅读理解是啥了,只记得他说的那些口头禅,ok ,fine ,whatever,interesting ,那些夸张的表情和态度,总是能在我们无助的时候给我们一些力量。以前有个人说,在她老了之后,在火炉旁,会想起以前一块的点点滴滴,细碎的美好像是涓涓细流,温暖人心。

第一章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.Spring Boot
2.版本号;小版本名称
3.兼容性
4.HTTP 或者消息队列(例如 RabbitMQ)等协议
5.Spring

选择

1.ABCD
2.D
3.B
4.C

简答

(1)微服务架构是一种将大型应用拆分成一组独立的小服务的架构风格,每个服务都具有独立的业务功能和数据存储。微服务架构的特点和优势包括高内聚、低耦合、独立部署、技术栈灵活、弹性扩展、故障隔离、易于迁移和重构等方面。高内聚、低耦合表示每个服务只关注自己的业务功能,易于维护和扩展;独立部署表示每个服务可以独立部署,方便测试和发布;技术栈灵活表示每个服务可以选择适合自己的技术栈,无需强制统一;弹性扩展表示可以根据需求对每个服务进行水平扩展,提高系统的容量和性能;故障隔离表示一个服务的故障不会影响整个系统的正常运行;易于迁移和重构表示可以根据业务需求灵活调整和重构各个服务。

软件工程这门课好像也考了这个题,感觉只能背一背,然后多写点儿。

(2)这个网上找到的答案列举了好多组件。我感觉太全面了点。下面的答案来自课件

Spring Cloud Eureka注册发现中心,主要负责完成微服务架构中的服务治理功能;Spring Cloud Config分布式配置中心,可以实现动态修改配置文件;Spring Cloud Hystrix熔断器,通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力

第二章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.Eureka Server 和 Eureka Client
2.@EnableEurekaServer
在这里插入图片描述

3.application.properties
4.90 秒(课件上面写的)
在这里插入图片描述

5.server.port

选择

1.A
注意和前面的 90 秒做一个区别,30 秒是续约心跳,90 秒是剔除服务。
2.BCD
3.ABD

编程

这个编程就是之前头歌上面的作业。现在再看一眼。假设出题的话,需要我们写一些什么呢?

说实话这块没有自己写的啥代码,最多考一考注解吗。

计划

干脆一次性把课后题都整理完算了。有时候可以养生佛系,有时候可以上上强度。嘿嘿。今天还有几个小时,不知道能不能把课后题全部看一遍。然后明天再把课件全部看一遍,还剩 7 章的课件。 (完稿的时候已经是第二天下午了,我高估了自己的效率)

第三章课后题

在这里插入图片描述

在这里插入图片描述

填空

1.分离均衡;混同均衡 (总感觉不对,又查了一下,感觉这个更对:硬件负载均衡,软件负载均衡
2.Eureka ; Consul RestTemplate 和 Feign
3.@Controller 和 @ResponseBody
4.@LoadBalanced
5.@ConfigurationProperties

选择

1.A
2.ACD(这题查了一下,确实是选这三个选项)
3.ABCD

简答

轮询:简单但不考虑服务器负载。
加权轮询:适用于处理能力不同的服务器。
最小连接数:根据当前服务器负载动态分配请求。
加权最小连接数:结合服务器性能和负载的动态分配方式。
随机:简单但不一定能实现负载均衡。

或者按照课件回答,可能课件是更官方的答案,但是就是有点不好记,一堆英文。
在这里插入图片描述
在这里插入图片描述

使用负载均衡可以帮助系统提升可用性、性能、扩展性和安全性,从而支持更高的并发处理、优化资源使用、避免单点故障,并且简化系统的维护和升级工作。

编程

创建项目的时候需要添加 Ribbon 依赖,但是头歌上面没有 idea 这个环境,感觉不会让写依赖之类的东西。

@Configuration
public class RibbonConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate(RestTemplateBuilder builder){return builder.build();}
}

我感觉这些注解有可能考。其他的感觉不方便考察。

第四章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.@EnableFeignClients
2.@EnableFeignClients;@FeignClient

可以发现要写注解的这种题挺多的。
3.OFF NONE
4.TRACE FULL

选择

1.C
2.B
3.B(A 选项是因为能用那个注解,用于定义客户端的基础的 URL ,C 选项是因为只需要和注册中心中注册的服务名称一致,D 选项是因为不是都对哈哈哈)

简答

1.这个题感觉出的很好。

Feign:是一个声明式 HTTP 客户端,内部自动集成了负载均衡,使用 @FeignClient 注解来简化服务间的调用,并且默认通过 Ribbon 实现负载均衡。使用 Feign 的优点是简洁、易于使用,但缺乏灵活性。

Ribbon:是一个客户端负载均衡器,适合与 RestTemplate 一起使用,能够更加灵活地控制负载均衡的策略,适合对负载均衡有细粒度控制要求的场景。
两者的选择通常依赖于具体的应用场景:

如果你想要快速实现微服务间的调用,推荐使用 Feign。

如果你需要更多的控制或复杂的负载均衡策略,使用 Ribbon 配合 RestTemplate 更合适。
2.这个题网上找到的答案不如课件里面的答案。下面是课件里面的答案。

在这里插入图片描述
在这里插入图片描述

另外,当时写这个作业的时候,看课件感觉怎么也做不完这个实验,几十页的课件,无比漫长,完全看不到头。现在看到这一章的课件还是很害怕。

编程

感觉复习编程这个题型,就是看一下课件就好了。源代码里面没啥重要的内容,关键的东西都会放在课件上,稍微记一记就好了。

引入依赖的时候要引入 Web 和 Feign 依赖。虽然感觉不会考,但是还是记一下。

主要看第二行的启动 Feign 的注解

@EnableEurekaClient
@EnableFeignClients
@SpringBootApplication
public class EurekaFeignClientApplication {public static void main(String[] args) {   SpringApplication.run(EurekaFeignClientApplication.class, args);}
}

感觉这种可能会考,就是比较简单,老师认为我们会的代码。定义一些实体类。

public class User {                                                   private String name;private Integer age;public User() { }public User(String name, Integer age) {this.name = name;this.age = age;}public String getName() {return name;
}

有读者知道 GET 和 POST 的区别吗,感觉这里面有点讲究,但是真是太细节了。

GET 适用于数据检索操作,安全、简单、快速,但数据量小,不能传输敏感信息

POST 适用于提交数据、创建或修改资源、上传文件等,能够处理较大的数据量和敏感数据,但可能会改变服务器的状态。

@RequestMapping(value = "/hello2",method = RequestMethod.GET)public User hello(@RequestParam"name"String name,@RequestHeader"age"int age);@RequestMapping(value = "/hello3",method = RequestMethod.POST)public String hello(@RequestBody User user);

算了,感觉完全把握不住编程题,有点想放弃这个题型了。

第五章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.@EnableCircuitBreaker和@CircuitBreaker

这个可能因为教材版本的原因,老师上课的时候是说用新版本的,前面是旧版本的,后面是新版本的
在这里插入图片描述
这个题,可能还是以文档为准吧,那就是图片里面的答案。(课件上没有提及这个内容)

2.Hystrix Dashboard

dashboard 是仪表盘的意思

3.@EnableHystrixDashboard

感觉这个启动类的注解就是 @Enable + 名字,注意驼峰命名。

4.@EnableTurbine

选择

1.这个选择题找不到答案,有点无奈。不太敢相信 ai 给的答案,担心他瞎说哈哈哈。不过我有点双标了,有些填空题我就是问的 ai ,可能我感觉 ai 在回答填空题和简答题会正确一些,回答那种稍微绕一些的,感觉就要出问题了。

在这里插入图片描述
可以发现是 B ,熔断器打开,命令执行熔断表示 Hystrix 命令执行失败

可以先找课件,再找官方文档,再在网上找。

2.A
3.D

简答

我整理答案应该首选课件的。下面的答案都是先从课件上面找。
1.在这里插入图片描述
2.在eureka-hystrix-client的启动类中添加 @EnableHystrix 注解启动熔断功能,在项目的启动类添加 @EnableTurbine 注解,开启聚合监控功能,添加 @EnableHystrixDashboard 注解,启用Hystrix-Dashboard功能

和前面的填空题撞了,所以感觉是考试重点。

编程

课件里面用的另外一个代替的熔断,因为这个 Hystrix 停止维护了。

引入依赖的时候要引入 Feign、Ribbon、resilience4j 这些依赖。总结一下到这块,项目用到的一些技术,首先是一个框架,服务端,生产者消费者之类的,第二是负载均衡,讲了两个,Ribbon 和 Feign ,第三是熔断,也是讲了两个,Hystrix 和 resilience4j 。

可能需要知道 mapping 后面跟的是 url

@RequestMapping("/hi")
public String hi(String id){return "Hello World, I'm from resilience4j!"+id;}

其他的,感觉不像是能考的,编程题真难。

第六章课后题

在这里插入图片描述
在这里插入图片描述

说明

这个书和课件都不太一样。上课的时候老师说主要是操作,现在操作的分数只有一点点,考理论的还是挺多的。课件里面大部分也是一些代码和操作步骤。现在感觉就是把题目稍微看一看,然后之后再记一记知识点就去考试了。

不一样就不整理了。这章的题随便看看好了。应该不会考。

第七章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.@EnableConfigServer;@EnableConfigClient
2.spring.cloud.config.server.git.uri(把题干里面的信息串一串,因为 yaml 文件的格式大概就是这样子的,树状结构)
3.@RefreshScope
在这里插入图片描述

选择

1.A
2.AC
3.ABCD (这题网上搜到的答案是全选,ai 给的答案是 BC ,我研究一下到底选啥……)研究了一下,应该是选 BC

简答

服务器
在这里插入图片描述
客户端
在这里插入图片描述

编程

这个实验我按照课件做没做出来。当时的错误还记得比较清楚,就是 white page not found ,就是一个白色的网页,最下面的数字要么是 404 ,要么是 500

代码里面经常有 uri ,有时候又会看到 url ,下面说一下这两者的区别。

所有的 url 都属于 uri ,url 是可以直接访问的链接。uri 表示的是唯一的身份,Uniform Resource Identifier,url 的那个 l 表示的是 locator

完整地把代码看了一遍,感觉没啥好考的,这一章。看一下注解感觉差不多了,有些代码类似于填表格一样,还有的应该就是集成开发环境直接自动补全的。

第八章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.@EnableBinding
2.Sink
3.@StreamListener(就是中译英,感觉这些项目单看都是比较简单直观的,可能难在于组合这些模块,写一些有逻辑性的业务代码比较难)
4.spring.rabbitmq.host
(就像下面这样子,但是这就和填表格一样,真会考这种吗,配置文件我感觉都很直观,应该不会考吧)

spring:rabbitmq:host: 127.0.0.1      # RabbitMQ 服务的地址port: 5672           # 默认的 RabbitMQ 端口username: guest       # 用户名password: guest       # 密码

选择

1.ABCD
2.BC
3.ABCD

简答

课件上面没有直接回答这个问题。文档上面也没写。感觉简答题可能最好拿分,就是自己多写一点字就好了。

嗷嗷,不是没有写,是分成好几页课件,中间还有图,造成了干扰。
在这里插入图片描述
在这里插入图片描述

编程

这个当时是安装了一个 RabbitMQ 的服务,感觉和 Tomcat 一样,都是在任务管理器里面打开的。但是好像不是正确的打开方式,因为我 Tomcat 虽然能正常显示网页,但是在启动项目的时候提示没有 xx 权限,我也不懂是啥情况。RabbitMQ 对新手还是比较友好,没有出现什么问题。

这个流程大概就是在本地项目文件里面输入一条消息,在 RabbitMQ 的网页里面能看到产生了相应的结果。

代码里标记重要的两个注解,感觉可以记一下。

@EnableBinding(Sink.class) #重要
public class SinkReceiver {private static Logger logger= LoggerFactory.getLogger(StreamHelloApplication.class);@StreamListener(Sink.INPUT) # 重要public void receive(Object payload){logger.info("Received:"+payload);}
}

其他的代码不知道啥是重点。

第九章课后题

在这里插入图片描述
在这里插入图片描述

填空

1.RabbitMQ 或 Kafka
2.@EnableZipkin(从 Spring Cloud 2020 起已被移除,改为自动配置)
3.在这里插入图片描述
4.持久化存储和查询分析

选择

1.AD
在这里插入图片描述
2.A
3.D

简答

在这里插入图片描述
但是有一个问题,就写这么几个字,是不是够了呢?

在这里插入图片描述
这样子每一个特点后面加一个分析才感觉更安心一些。

编程

这一章的代码好像也没啥重点,随便看看好了。

总结

本来想在网上找教材的答案的,但是没找到,找到了这个网站,感觉可能有点帮助,里面的知识点浏览起来比较方便,算是看到这儿的一个彩蛋,哈哈哈。

黑马程序员官方文档

另外挂了梯子分享链接可能对方访问不了,幸好我刚点了一下,不然看到的就是“服务器不可用”了。

在网上看到一句话,我可以告诉你当年我也一样郁闷吗?,真好奇以后的我们会怎么看待现在的自己。

SOA 到这儿就算完结了,课件我感觉随便看一看,然后上面那个文档看一看,课后题看一看,差不多了。

编程题这块,感觉还可以看看最后实验的电商系统的代码,那个里面可能有一些业务代码,比如说什么订单,用户,是怎么写的,随便看看。

在发布之前校对了一遍,更正了一些错误。

相关文章:

湘潭大学软件工程专业选修 SOA 期末考试复习(二)

文章目录 回顾序言第一章课后题填空选择简答 第二章课后题填空选择编程 计划第三章课后题填空选择简答编程 第四章课后题填空选择简答编程 第五章课后题填空选择简答编程 第六章课后题说明 第七章课后题填空选择简答编程 第八章课后题填空选择简答编程 第九章课后题填空选择简答…...

改进的正弦余弦算法复现

本文所涉及所有资源均在 传知代码平台 可获取。 目录 一、背景及意义 (一)背包问题背景...

Day13杨辉三角

给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 class Solution {public List<List<Integer>> generate(int numRows) {List<List<Integer>> res new Arra…...

【c知道】Hadoop工作原理。

请解释一下Hadoop中MapReduce的工作原理&#xff0c;并说明如何进行MapReduce程序的编写和调试。 Hadoop MapReduce是一种分布式计算模型&#xff0c;它将大规模的数据处理任务分解成一系列小的、独立的任务&#xff08;Map任务&#xff09;和后续的聚合任务&#xff08;Reduce…...

React.lazy() 懒加载

概要 React.lazy() 是 React 16.6 引入的一个功能&#xff0c;用于实现代码分割&#xff08;code splitting&#xff09;。它允许你懒加载组件&#xff0c;即在需要时才加载组件&#xff0c;而不是在应用初始加载时就加载所有组件。这种方法可以显著提高应用的性能&#xff0c…...

【自学笔记】神经网络(1)

文章目录 介绍模型结构层&#xff08;Layer&#xff09;神经元 前向传播反向传播Q1: 为什么要用向量Q2: 不用激活函数会发生什么 介绍 我们已经学习了简单的分类任务和回归任务&#xff0c;也认识了逻辑回归和正则化等技巧&#xff0c;已经可以搭建一个简单的神经网络模型了。 …...

c#————扩展方法

关键点&#xff1a; 定义扩展方法的类和方法必须是静态的&#xff1a; 扩展方法必须在一个静态类中定义。扩展方法本身也必须是静态的。第一个参数使用 this 关键字&#xff1a; 扩展方法的第一个参数指定要扩展的类型&#xff0c;并且在这个参数前加上 this 关键字。这个参数…...

前向-后向卡尔曼滤波器(Forward-Backward Kalman Filter)资料汇总

《卡尔曼滤波引出的RTS平滑》参考位置2《卡尔曼滤波系列——&#xff08;六&#xff09;卡尔曼平滑》《关于卡尔曼滤波和卡尔曼平滑关系的理解》——有m语言例程《Forward Backwards Kalman Filter》——Matlab软件《卡尔曼滤波与隐马尔可夫模型》...

云集电商:如何通过 OceanBase 实现降本 87.5%|OceanBase案例

云集电商&#xff0c;一家聚焦于社交电商的电商公司&#xff0c;专注于‘精选’理念&#xff0c;致力于为会员提供超高性价比的全品类精选商品&#xff0c;以“批发价”让亿万消费者买到质量可靠的商品。面对近年来外部环境的变化&#xff0c;公司对成本控制提出了更高要求&…...

详解Rust标准库:BTreeMap

std::collections::BTreeMap定义 B树也称B-树&#xff0c;注意不是减号&#xff0c;是一棵多路平衡查找树&#xff1b;理论上&#xff0c;二叉搜索树 &#xff08;BST&#xff09; 是最佳的选择排序映射&#xff0c;但是每次查找时层数越多I/O次数越多&#xff0c;B 树使每个节…...

.NET WPF CommunityToolkit.Mvvm框架

文章目录 .NET WPF CommunityToolkit.Mvvm框架1 源生成器1.1 ObservablePropertyAttribute & RelayCommandAttribute1.2 INotifyPropertyChangedAttribute 2 可观测对象2.1 ObservableValidator2.2 ObservableRecipient .NET WPF CommunityToolkit.Mvvm框架 1 源生成器 1…...

微信小程序使用阿里巴巴矢量图标库正确姿势

1、打开官网&#xff1a;https://www.iconfont.cn/&#xff0c;把整理好的图标下载解压。 2、由于微信小程序不支持直接在wxss中引入.ttf/.woff/.woff2&#xff08;在开发工具生效&#xff0c;手机不生效&#xff09;。我们需要对下载的文件进一步处理。 eot&#xff1a;IE系列…...

【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】

在 Kubernetes 中&#xff0c;NodePort 类型的 Service 允许用户通过每个节点的 IP 地址和指定的端口访问应用程序。如果 NodePort 类型的 Service 无法通过节点的 IP 地址和指定端口进行访问&#xff0c;可能会导致用户无法访问应用。本文将详细分析该问题的常见原因及其解决方…...

Java基础Day-Thirteen

Java字符串 String类 创建String对象的方法 方法一&#xff1a;创建一个字符串对象imooc&#xff0c;名为s1 String s1"imooc"; 方法二&#xff1a;创建一个空字符串对象&#xff0c;名为s2 String s2new String(); 方法三&#xff1a;创建一个字符串对象imooc&a…...

LangChain实际应用

1、LangChain与RAG检索增强生成技术 LangChain是个开源框架&#xff0c;可以将大语言模型与本地数据源相结合&#xff0c;该框架目前以Python或JavaScript包的形式提供&#xff1b; 大语言模型&#xff1a;可以是GPT-4或HuggingFace的模型&#xff1b;本地数据源&#xff1a;…...

【数据结构】哈希/散列表

目录 一、哈希表的概念二、哈希冲突2.1 冲突概念2.2 冲突避免2.2.1 方式一哈希函数设计2.2.2 方式二负载因子调节 2.3 冲突解决2.3.1 闭散列2.3.2 开散列&#xff08;哈希桶&#xff09; 2.4 性能分析 三、实现简单hash桶3.1 内部类与成员变量3.2 插入3.3 获取value值3.4 总代码…...

flutter 项目初建碰到的控制台报错无法启动问题

在第一次运行flutter时&#xff0c;会碰见一直卡在Runing Gradle task assembleDebug的问题。其实出现这个问题的原因有两个。 一&#xff1a;如果你flutter -doctor 检测都很ok&#xff0c;而且环境配置都很正确&#xff0c;那么大概率就是需要多等一会&#xff0c;少则几十分…...

Java字符串深度解析:String的实现、常量池与性能优化

引言 在Java编程中&#xff0c;字符串操作是最常见的任务之一。String 类在 Java 中有着独特的实现和特性&#xff0c;理解其背后的原理对于编写高效、安全的代码至关重要。本文将深入探讨 String 的实现机制、字符串常量池、不可变性的优点&#xff0c;以及 String、StringBu…...

leetcode 2043.简易银行系统

1.题目要求: 示例: 输入&#xff1a; ["Bank", "withdraw", "transfer", "deposit", "transfer", "withdraw"] [[[10, 100, 20, 50, 30]], [3, 10], [5, 1, 20], [5, 20], [3, 4, 15], [10, 50]] 输出&#xff…...

基于SSM(Spring + Spring MVC + MyBatis)框架的文物管理系统

基于SSM&#xff08;Spring Spring MVC MyBatis&#xff09;框架的文物管理系统是一个综合性的Web应用程序&#xff0c;用于管理和保护文物资源。下面我将提供一个详细的案例程序概述&#xff0c;包括主要的功能模块和技术栈介绍。 项目概述 功能需求 用户管理&#xff1a…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...