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

SpringCloud学习笔记06

九十五、Cloud Alibaba简介

0、why会出现SpringCloud alibaba

Spring Cloud Netflix项目进入维护模式

1、是什么

官网:spring-cloud-alibaba/README-zh.md at 2.2.x · alibaba/spring-cloud-alibaba · GitHub 

2、能干嘛

 3、去哪下

spring-cloud-alibaba/README-zh.md at 2.2.x · alibaba/spring-cloud-alibaba · GitHub

4、怎么玩

Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
 
Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
 
RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
 
Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。
 
Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
 
Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。
 
Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
 
Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
 
Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

5、官网

Spring Cloud Alibaba

九十六、Nacos简介和下载

0、SpringCloud Alibaba Nacos服务注册和配置中心

1、为什么叫Nacos

前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service

2、是什么

①、一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心

②、Nacos:Dynamic Naming and Configuration Service

③、Nacos就是注册中心+配置中心的组合  等价于  Nacos = Eureka+Config+Bus

3、能干啥

①、替代Eureka做服务注册中心

②、替代Config做服务配置中心

4、去哪下

①、GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

②、官网文档 home

5、各种注册中心比较

九十七、Nacos安装

1、运行

①、解压安装包,直接运行bin目录下的startup.cmd

②、命令运行成功后直接访问http://localhost:8848/nacos(默认账号密码都是nacos)

九十八、Nacos之服务提供者注册

1、spring的官网文档

Spring Cloud Alibaba Reference Documentation

2、Nacos作为服务注册中心演示

 ①、父POM

<!--spring cloud alibaba 2.1.0.RELEASE--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency>

②、本模块POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2021</artifactId><groupId>com.nanjing.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloudalibaba-provider-payment9001</artifactId><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version></dependency></dependencies>
</project>

③、YML

server:port: 9001spring:application:name: nacos-payment-providercloud:nacos:discovery:server-addr: localhost:8848 #配置Nacos地址management:endpoints:web:exposure:include: '*'

④、主启动类

package com.nanjing.springcloud.alibaba;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** PaymentMain9001启动类** @author xizheng* @date 2023-03-27 18:18:19*/
@EnableDiscoveryClient
@SpringBootApplication
public class PaymentMain9001 {public static void main(String[] args) {SpringApplication.run(PaymentMain9001.class,args);}
}

⑤、业务类

package com.nanjing.springcloud.alibaba.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;/*** 付款控制器** @author xizheng* @date 2023-03-27 18:19:21*/
@RestController
public class PaymentController {@Value("${server.port}")private String serverPort;@GetMapping(value = "/payment/nacos/{id}")public String getPayment(@PathVariable("id") Integer id) {return "nacos registry, serverPort: "+ serverPort+"\t id"+id;}
}

⑥、测试

http://lcoalhost:9001/payment/nacos/1

nacos服务注册中心+服务提供者9001都ok了

⑦、为了下一章节演示nacos的负载均衡,参照9001新建9002

九十九、Nacos之服务消费者注册和负载

0、基于Nacos的服务消费者(Nacos自带支持负载均衡的,因为整合了ribbon)

 ①、POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2021</artifactId><groupId>com.nanjing.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloudalibaba-consumer-nacos-order83</artifactId><dependencies><!--SpringCloud ailibaba nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.nanjing.springcloud</groupId><artifactId>cloud-api-commons</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

②、YML

server:port: 83spring:application:name: nacos-order-consumercloud:nacos:discovery:server-addr: localhost:8848# 消费者将要去访问的微服务名称(注册成功进nacos的微服务提供者)
service-url:nacos-user-service: http://nacos-payment-provider

③、主启动类

package com.nanjing.springcloud.alibaba;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** OrderNacosMain83启动类** @author xizheng* @date 2023-03-27 18:36:27*/
@EnableDiscoveryClient
@SpringBootApplication
public class OrderNacosMain83 {public static void main(String[] args) {SpringApplication.run(OrderNacosMain83.class,args);}
}

④、配置类

package com.nanjing.springcloud.alibaba.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;/*** ApplicationContextConfig** @author xizheng* @date 2023-03-27 18:42:01*/
@Configuration
public class ApplicationContextConfig {@Bean@LoadBalancedpublic RestTemplate getRestTemplate() {return new RestTemplate();}
}

⑤、业务类

package com.nanjing.springcloud.alibaba.controller;import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;/*** OrderNacosController控制器** @author xizheng* @date 2023-03-27 18:42:56*/
@RestController
@Slf4j
public class OrderNacosController {@Resourceprivate RestTemplate restTemplate;@Value("${service-url.nacos-user-service}")private String serverURL;@GetMapping(value = "/consumer/payment/nacos/{id}")public String paymentInfo(@PathVariable("id") Long id) {return restTemplate.getForObject(serverURL+"/payment/nacos/"+id,String.class);}}

一百、Nacos服务注册中心对比提升

1、Nacos与其他注册中心特性对比

 2、Nacos支持AP(高可用)和CP(一致性)模式的切换

一百零一、Nacos之服务配置中心

0、Nacos作为服务配置中心演示

 1、POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2021</artifactId><groupId>com.nanjing.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.nanjing.springcloud.alibaba</groupId><artifactId>cloudalibaba-config-nacos-client3377</artifactId><dependencies><!--nacos-config--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><!--nacos-discovery--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!--web + actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--一般基础配置--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

2、why配置两个

 ①、bootstrap

server:port: 3377spring:application:name: nacos-config-clientcloud:nacos:discovery:server-addr: localhost:8848 #服务注册中心地址config:server-addr: localhost:8848 #配置中心地址file-extension: yaml #指定yaml格式的配置# ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

②、application

spring:profiles:active: dev

3、主启动类

package com.nanjing.springcloud.alibaba;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** NacosConfigClientMain3377启动类** @author xizheng* @date 2023-03-27 18:58:17*/
@EnableDiscoveryClient
@SpringBootApplication
public class NacosConfigClientMain3377
{public static void main(String[] args) {SpringApplication.run(NacosConfigClientMain3377.class, args);}
}

4、业务类

package com.nanjing.springcloud.alibaba.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;/*** 配置客户端控制器** @author xizheng* @date 2023-03-27 18:59:11*/
@RestController
@RefreshScope//实现动态刷新
public class ConfigClientController
{@Value("${config.info}")private String configInfo;@GetMapping("/config/info")public String getConfigInfo() {return configInfo;}
}

5、在Nacos中添加配置信息

①、

 ②、官网 Nacos Spring Cloud 快速开始

 ③、

 6、测试

http://localhost:3377/config/info

7、自带动态刷新

修改下Nacos中的yaml配置文件,再次调用查看配置的接口,就会发现配置已经刷新

一百零二、Nacos之命名空间分组和DataID三者关系

1、多环境多项目管理

 2、Namespace+Group+Data ID三者关系?为什么这么设计?

①、

 ②、

 一百零三、Nacos之DataID配置

一百零四、Nacos之Group分组方案

一百零五、Nacos之Namespace空间方案

一百零六、Nacos集群_架构说明

一百零七、Nacos持久化切换配置

一百零八、Nacos之Linux版本安装

一百零九、Nacos集群配置(上)

一百一十、Nacos集群配置(下)

一百一十一、Sentinel是什么

1、官网 GitHub - alibaba/Sentinel: A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)

2、是什么

轻量级的流量控制、熔断降级Java库

3、去哪下

Releases · alibaba/Sentinel · GitHub

4、能干嘛

 5、服务使用中的各种问题

①、服务雪崩

②、服务降级

③、服务熔断

④、服务限流

一百一十二、Sentinel下载安装运行

0、

 

1、sentinel组件由2部分组成(后台、前台8080)

 2、下载

①、Releases · alibaba/Sentinel · GitHub

②、下载到本地sentinel-dashboard-1.7.0.jar

3、运行命令

①、前提:java8环境OK、8080端口不能被占用

②、命令: java -jar sentinel-dashboard-1.7.0.jar 

4、访问sentinel管理界面

①、http://localhost:8080

②、登录账号密码均为sentinel

一百一十三、Sentinel初始化监控

0、初始化演示工程

 

一百一十四、Sentinel流控规则简介

1、基本介绍

①、新增流控规则

 ②、进一步解释

 ③、

 2、直接->快速失败(系统默认)

3、流控模式

①、直接

 ②、关联、链路

 4、流控效果

一百一十五、Sentinel流控-QPS直接失败

一百一十六、Sentinel流控-线程数直接失败

一百一十七、Sentinel流控-关联

一百一十八、Sentinel流控-预热

一百一十九、Sentinel流控-排队等待

一百二十、Sentinel降级简介

1、降级规则

①、

 ②、

 2、进一步介绍

 3、Sentinel的断路器是没有半开状态的

(半开的状态系统自动去检测是否请求有异常,没有异常就关闭断路器恢复使用,有异常则继续打开断路器不可用。具体可以参考Hystrix)

一百二十一、Sentinel降级-RT

1、是什么

 2、

 3、结论

 4、

一百二十二、Sentinel降级-异常比例

1、

 2、

 3、结论

 一百二十三、Sentinel降级-异常数

1、

 2、

 3、结论

 

一百二十四、Sentinel热点key(上)

一百二十五、Sentinel热点key(下)

一百二十六、Sentinel系统规则

一百二十七、SentinelResource配置(上)

一百二十八、SentinelResource配置(中)

一百二十九、SentinelResource配置(下)

一百三十、Sentinel服务熔断Ribbon环境预说

一百三十一、Sentinel服务熔断无配置

一百三十二、Sentinel服务熔断只配置fallback

一百三十三、Sentinel服务熔断只配置blockHandler

一百三十四、Sentinel服务熔断fallback和blockHandler都配置

一百三十五、Sentinel服务熔断exceptionsToIgnore

一百三十六、Sentinel服务熔断OpenFeign

一百三十七、Sentinel持久化规则

一百三十八、分布式事务问题由来

一百三十九、Seata术语

一百四十、Seata-Server安装

一百四十一、Seata业务数据库准备

一百四十二、Seata之Order-Module配置搭建

一百四十三、Seata之Order-Module撸码(上)

一百四十四、Seata之Order-Module撸码(下)

一百四十五、Seata之Storage-Module说明

一百四十六、Seata之Account-Module说明

一百四十七、Seata之@GlobalTransactional验证

一百四十八、Seata之原理简介

一百四十九、大厂面试第三季预告片之雪花算法(上)

一百五十、大厂面试第三季预告片之雪花算法(下)

相关文章:

SpringCloud学习笔记06

九十五、Cloud Alibaba简介 0、why会出现SpringCloud alibaba Spring Cloud Netflix项目进入维护模式 1、是什么 官网&#xff1a;spring-cloud-alibaba/README-zh.md at 2.2.x alibaba/spring-cloud-alibaba GitHub 2、能干嘛 3、去哪下 spring-cloud-alibaba/README-…...

学系统集成项目管理工程师(中项)系列14_采购管理

1. 概念和术语 1.1. 采购是从项目团队外部获得产品、服务或成果的完整的购买过程 1.2. 三大类 1.2.1. 工程 1.2.2. 产品/货物 1.2.3. 服务 2. 主要过程 2.1. 编制采购管理计划 2.2. 实施采购 2.3. 控制采购 2.4. 结束采购 3. 合同 3.1. 包括买方和卖方之间的法律文…...

PMP课堂模拟题目及解析(第3期)

21. 一家农业设备制造商因一个缺陷部件而召回数千个产品。这个问题导致许多客户不满&#xff0c;公司花费 500 万美元来修理和更换零件。哪一种成本预算类型可以防止这个问题&#xff1f; A. 非一致性成本 B. 一致性成本 C. 矩阵图 D. 多标准决策分析 22. 一位团队成员…...

华为OD机试 - 微服务的集成测试( Python)

题目描述 现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。 给你一个 n x n 的二维矩阵useTime,其中 useTime[i][i]=10 表示服务i自身启动加载需要消耗10s useTime[i][j] = 1 表示服务i启动依赖服务j启动完…...

SLAM面试笔记(4) — 企业面试汇总

目录 1 大疆 一面&#xff08;50min&#xff09; 二面&#xff08;30min&#xff09; 三面&#xff08;30min&#xff09; 2 华为 一面&#xff08;30min&#xff09; 二面&#xff08;30min&#xff09; 三面&#xff08;30min&#xff09; 3 海康 一面&#xff08;…...

五大新兴产业中,有三个中国出口全球占比居首-机器视觉工程师正处于需求旺盛阶段

​五大新兴产业包含生物保健和电动汽车,新一代半导体、新一代显示器、二次电池。 在五大新兴产业中的三大领域——新一代半导体、新一代显示器、二次电池,中国对外出口在全球所占比重最高。 电动汽车,汽车行业一直对机器视觉工程师有着强烈的需求,无论比亚迪,特斯拉等等…...

网络安全监管

网络安全监管 网络安全法律体系建设计算机犯罪、信息安全等基本概念我国立法体系及网络安全法我国的立法体系网络安全法出台背景基本概念安全法主要结构第一章 总则第二章 网络安全支持与促进第三章 网络运行安全第四章 网络信息安全第五章 监测预警与应急处置第六章 法律责任 …...

【code review】代码评审的18个军规(建议收藏)

文章目录 背景1. 添加必要的注释2.日志打印规范3. 命名规范4.参数校验5. 判空处理6. 异常处理规范7. 模块化&#xff0c;可扩展性8. 并发控制规范9. 单元测试规范10. 代码格式规范11. 接口兼容性12. 程序逻辑是否清晰,主次是否够分明13. 安全规范14. 事务控制规范15. 幂等处理规…...

PyQt5桌面应用开发(5):对话框

本文目录 PyQt5桌面应用系列对话框QDialogQDialog的基本用法按钮组 QMessageBox综合展示的例子结论 PyQt5桌面应用系列 PyQt5桌面应用开发&#xff08;1&#xff09;&#xff1a;需求分析 PyQt5桌面应用开发&#xff08;2&#xff09;&#xff1a;事件循环 PyQt5桌面应用开发&a…...

整洁的代码

文章目录 为什么要写整洁的代码什么是整洁的代码可读性运行效率扩展性 怎么写整洁的代码注释&命名函数&类代码结构 为什么要写整洁的代码 为什么要写整洁的代码,回答这个问题之前,也许应该想想写糟糕的代码的原因 是想快点完成吗?还是要赶时间吗?有可能.或许你觉得…...

Redis集群常用命令及说明

一、集群的特点 1、集群架构特点 &#xff08;1&#xff09;所有的redis节点彼此互联&#xff08;PING-PONG机制&#xff09;&#xff0c;内部使用二进制协议优化传输速度和带宽&#xff1b; &#xff08;2&#xff09;节点的fail是通过集群中超过半数的节点检测失效时才生效…...

使用edge浏览器,白嫖ChatGPT的保姆级教程来了

前言 嗨&#xff0c;大家好&#xff0c;我是希留&#xff0c;一个被迫致力于全栈开发的老菜鸟。 人工智能大浪潮已经来临&#xff0c;对于ChatGPT&#xff0c;我觉得任何一个玩互联网的人&#xff0c;都应该重视起来&#xff0c;用起来。但是国内使用需要解决科学上网、注册、…...

新人入职,都用这三招,让你安全度过试用期

刚入职工作 3招让你安全度过试用期 给新手小伙伴们分享几招 让你们能在试用期的时候平滑去度过 那么第一第一点就是 能自己解决的千万不要去问 千万不要去问 因为往往我们在去面试的时候 我们往往都是备足了很多的资料 备足了很多的面试题库 然后呢 你在给人家面试的时候总有一…...

小程序上车,车载小程序的信息安全是否可靠?

随着智能交通和车联网技术的快速发展&#xff0c;越来越多的车载应用程序&#xff08;APP&#xff09;进入人们的视野&#xff0c;从而推动了车载业务生态的不断发展。然而&#xff0c;车载应用程序的安全问题也引起了人们的广泛关注。为此&#xff0c;小程序容器技术作为一种有…...

华为OD机试 - 识图谱新词挖掘(Python)

题目描述 小华负责公司知识图谱产品,现在要通过新词挖掘完善知识图谱。 新词挖掘:给出一个待挖掘问题内容字符串Content和一个词的字符串word,找到content中所有word的新词。 新词:使用词word的字符排列形成的字符串。 请帮小华实现新词挖掘,返回发现的新词的数量。 …...

( 数组和矩阵) 378. 有序矩阵中第 K 小的元素 ——【Leetcode每日一题】

❓378. 有序矩阵中第 K 小的元素 难度&#xff1a;中等 给你一个 n x n n x n nxn 矩阵 m a t r i x matrix matrix &#xff0c;其中每行和每列元素均按升序排序&#xff0c;找到矩阵中第 k 小的元素。 请注意&#xff0c;它是 排序后 的第 k 小元素&#xff0c;而不是第 …...

HBase架构篇 - Hadoop家族的天之骄子HBase

HBase的基本组成结构 表&#xff08;table&#xff09; HBase 的数据存储在表中。表名是一个字符串。表由行和列组成。 行&#xff08;row&#xff09; HBase 的行由行键&#xff08;rowkey&#xff09;和 n 个列&#xff08;column&#xff09;组成。行键没有数据类型&…...

STL及常用容器vector、list和deque的介绍

vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随机存取,即[]操作符,即可以以数组下标的方式来访问或遍历。但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时,需…...

SpringBoot统一功能处理(统⼀⽤户登录权限验证、统⼀异常处理、统⼀数据格式封装)

统⼀⽤户登录权限验证 1、最初的用户登录效验:在每个方法里面获取session和 session 中的用户信息&#xff0c;如果存在用户&#xff0c;那么就认为登录成功了&#xff0c;否则就登录失败了。 2、第二版用户登录效验:提供了统一的方法&#xff0c;在每个需要验证的方法中调用…...

华为实习笔试复盘(1)配送站和客户问题

写在前面 自己玩了很多项目&#xff0c;但是最近准备秋招的过程中&#xff0c;发现自己对于算法和编程语言的基本功夫实在是太欠缺了。 投递了华为的实习岗位&#xff0c;4.26参加机考&#xff0c;一做题就发现了自己很多地方都不会。这里写下笔试后的复盘以警醒自己。 题目 …...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...