面试241228
面试可参考
1、cas的概念 2、AQS的概念 3、redis的数据结构 使用场景
不熟
4、redis list 扩容流程 5、dubbo 怎么进行服务注册和调用,6、dubbo 预热 7如何解决cos上传的安全问题kafka的高并发高吞吐的原因ES倒排索引的原理
spring的 bean的 二级缓存和三级缓存
spring的 扩展机制类加载器有哪些mysql索引下推8如何设计登录方案时提到了安全性、稳定性、扩展性,但问到具体怎么做(比如加密算法、评估用户量等
类加载器
mysql索引下推
示例
假设有以下表和索引:
CREATE TABLE employees (id INT,name VARCHAR(50),age INT,salary DECIMAL(10, 2),INDEX idx_age_salary (age, salary)
);
查询条件如下:
SELECT * FROM employees WHERE age > 30 AND salary > 50000;
在没有索引下推的情况下,MySQL可能会先通过idx_age_salary
索引找到符合age > 30
的记录,然后再通过回表查找salary > 50000
的记录。
如果开启了索引下推,MySQL会将age > 30
和salary > 50000
的条件都下推到索引扫描阶段,从而减少了回表操作和不必要的数据读取。
索引下推的工作原理
-
索引扫描阶段:
- 当MySQL查询条件中的一部分可以直接通过索引进行过滤时,查询优化器将这些过滤条件下推到索引扫描阶段。
- 优化器在扫描索引时,根据索引列的条件直接过滤不符合条件的行。
-
结果返回:
- 只有符合条件的索引行被返回,避免了全表扫描。
- 如果索引覆盖了查询的所有字段,查询结果就直接返回;如果不完全覆盖,可能还是需要回表。
开启和查看索引下推
-
MySQL 5.6及以上版本支持索引下推。如果你的数据库版本是5.6或更高版本,索引下推通常是默认开启的。
EXPLAIN SELECT * FROM employees WHERE age > 30 AND salary > 50000;
-
在
EXPLAIN
输出中,如果启用了索引下推,会在Extra
列看到类似Using index condition
的字样,表示查询条件已经被下推到索引扫描阶段。
总结
- **索引下推(ICP)**是MySQL优化器的一种优化技术,能够将查询条件部分下推到索引扫描阶段,减少不必要的回表操作,提高查询效率。
- 它适用于MySQL 5.6及以上版本,尤其在使用覆盖索引时最为有效。
- 通过
EXPLAIN
可以查看索引下推是否被启用。
kafka的高并发高吞吐的原因
my
1,写入:顺序写入 / 批量写入
2,架构:
分区,每个分区可以独立地进行并发读写。
分布式存储:Kafka 的数据分布在多个服务器上,每个分区的副本(Replica)也分布在不同的节点上,提供了良好的负载均衡和容错能力。
3,高效的网络传输:
零拷贝:零拷贝可以避免数据从内核空间到用户空间的多次拷贝,减少了 CPU 和内存的消耗,提高了吞吐量。
4,消息压缩
生产者可以将多个消息压缩成一个更小的消息包,传输时会减少带宽的消耗
Kafka 的高并发和高吞吐量是其在大规模分布式消息系统中广泛使用的关键原因之一。Kafka 通过以下几个核心设计和机制,能够提供非常高的吞吐量和并发处理能力:
5,内存和磁盘缓存
6. 消费组和消息顺序
7,后台流控和异步处理
- 异步生产者:Kafka 的生产者是异步的,生产者将消息写入缓冲区后立即返回,而不需要等待服务器确认消息已写入。这使得生产者可以高效地处理大量消息。
- 批量写入与确认:Kafka 通过批量提交确认消息,并且支持批量处理,减少了网络和磁盘操作的次数,提升了吞吐量。
Kafka 支持 消费组(Consumer Groups),使得多个消费者可以并行地处理不同分区的数据
1. 基于顺序写入的磁盘设计
Kafka 的高吞吐量主要得益于其顺序写入和磁盘设计。
- 顺序写入:Kafka 在磁盘上顺序写入数据(append-only),这种操作比随机写入更高效,特别是在现代硬盘(HDD 或 SSD)上。顺序写入减少了磁盘寻址的开销,从而显著提高了吞吐量。
- 批量处理:Kafka 在写入日志时会使用批量处理的方式(即将多个消息合并成一个批次进行写入),减少了每个请求的 I/O 次数,提高了写入性能。
2. 分布式架构与分区机制
Kafka 将数据分散存储在多个 分区 中,每个分区可以独立地进行并发读写。
- 分区(Partitioning):Kafka 将每个 topic 划分为多个分区,每个分区是一个独立的日志文件,允许多个消费者并行读取。生产者可以将消息按分区键分配到不同的分区,消费者可以并发处理多个分区的数据,这大大提高了并发能力。
- 分布式存储:Kafka 的数据分布在多个服务器上,每个分区的副本(Replica)也分布在不同的节点上,提供了良好的负载均衡和容错能力。
3. 高效的网络传输
Kafka 的传输协议基于高效的 零拷贝技术 和 批量发送,使得消息的传输更加高效。
- 零拷贝(Zero-copy):Kafka 使用操作系统的零拷贝技术来提高数据传输效率。零拷贝可以避免数据从内核空间到用户空间的多次拷贝,减少了 CPU 和内存的消耗,提高了吞吐量。
- 批量传输:Kafka 在生产者和消费者之间使用批量传输,即一个请求中可以包含多个消息。这样可以减少网络请求的次数,降低了网络延迟,提高了吞吐量。
4. 消息压缩
Kafka 支持消息压缩,生产者可以将多个消息压缩成一个更小的消息包,传输时会减少带宽的消耗,从而提升吞吐量。
- 支持的压缩算法包括 GZIP、Snappy 和 LZ4,这些压缩算法能够在提供合理压缩率的同时,保持较高的性能。
- 消息压缩不仅减少了带宽使用,还能减轻存储负担,因为消息在磁盘上的存储空间也减少了。
5. 内存和磁盘缓存
Kafka 在内存中缓存大量的消息,这样可以避免频繁的磁盘 I/O 操作,从而提高吞吐量。
- PageCache:Kafka 使用操作系统的 PageCache(操作系统内存缓存)来提高磁盘读取的效率。Kafka 将数据先写入内存,然后异步地刷新到磁盘。
- 内存缓冲区:生产者和消费者端都有内存缓冲区,用于存放未写入磁盘的数据或从磁盘读取的消息。内存的高效使用有助于降低延迟,提高吞吐量。
6. 消费组和消息顺序
Kafka 支持 消费组(Consumer Groups),使得多个消费者可以并行地处理不同分区的数据。每个消费组中的消费者负责处理一个或多个分区,避免了消费者之间的竞争,提高了并发性能。
- 每个消费者组只处理自己分配的分区,消息消费过程中保持分区内的顺序,这确保了高并发情况下的数据一致性。
7. 高可用性和容错
Kafka 的高可用性和容错性也间接支持了它的高吞吐量。
- 副本机制:Kafka 使用 副本(Replication) 来确保数据的高可用性和容错性。每个分区有多个副本,其中一个副本是领导者(leader),其他副本是追随者(follower)。生产者和消费者只与领导者节点进行交互,这样可以避免对多个副本的频繁访问,提高吞吐量。
- 自动故障切换:当领导者节点宕机时,Kafka 会自动选举新的领导者,并且生产者和消费者可以继续处理数据,无需停机,保证了高可用性。
8. 后台流控和异步处理
Kafka 采用 异步处理 和 流量控制,生产者和消费者不必直接阻塞等待操作完成,极大提高了系统吞吐能力。
- 异步生产者:Kafka 的生产者是异步的,生产者将消息写入缓冲区后立即返回,而不需要等待服务器确认消息已写入。这使得生产者可以高效地处理大量消息。
- 批量写入与确认:Kafka 通过批量提交确认消息,并且支持批量处理,减少了网络和磁盘操作的次数,提升了吞吐量。
9. 可靠的消息传递语义
Kafka 提供 至少一次(at least once) 和 精确一次(exactly once) 的消息传递语义,确保数据可靠传输,同时通过高效的确认机制和复制机制,保证数据在高并发场景下不会丢失。
- 分区复制:每个分区有多个副本,数据会在多个副本之间同步。当主副本失败时,副本可以接管,保证了数据不丢失。
总结
Kafka 的高并发、高吞吐量性能主要得益于以下几个方面:
- 顺序写入磁盘,减少磁盘 I/O 开销。
- 分区与分布式架构,支持并行处理和扩展性。
- 高效的网络传输和零拷贝技术,减少数据传输的开销。
- 消息压缩,减少带宽和存储需求。
- 内存缓存和后台异步处理,加速数据处理。
- 消费者并行处理,优化并发性能。
- 副本机制,提高可用性和容错性。
通过这些设计和优化,Kafka 能够在处理高并发、高吞吐量的场景下,保持高效和可靠的数据传输。
如何解决cos上传的安全问题
校验:文件格式/大小
限流:调用频率
权限控制 密钥
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
dubbo 怎么进行服务注册和调用
redis list 扩容流程
如何设计登录方案时提到了安全性、稳定性、扩展性
滑块防刷 验证码:使用CAPTCHA或reCAPTCHA防止暴力破解攻击。
密码加密 md5+加盐 String password = DigestUtils.md5DigestAsHex((pwd + SIGN).getBytes());
登陆次数,加入黑名单
用户量:分表
缓存:token缓存
架构:用户/登陆中心/权限中心
高并发:短信/日志
https
redis的数据结构 使用场景
相关文章:
面试241228
面试可参考 1、cas的概念 2、AQS的概念 3、redis的数据结构 使用场景 不熟 4、redis list 扩容流程 5、dubbo 怎么进行服务注册和调用,6、dubbo 预热 7如何解决cos上传的安全问题kafka的高并发高吞吐的原因ES倒排索引的原理 spring的 bean的 二级缓存和三级缓存 spr…...
AI界的拼多多:DeepSeek
AI界的拼多多:DeepSeek DeepSeek是一家位于中国杭州的人工智能基础技术研究公司,由杭州幻方量化投资管理合伙企业投资成立于2023年5月,专注于研究人工智能基础技术,其官网为deepseek.com.以下是关于DeepSeek的一些具体介绍及举例: 模型发布 DeepSeek Coder:2023年11月…...
备战春招 | 数字IC FPGA笔试题
在数字电路设计的领域,无论是数字IC(集成电路)还是FPGA(现场可编程门阵列)的设计,都需要对一系列核心概念有深刻的理解和掌握。随着科技的快速发展,这些领域的面试题目也在不断更新,…...
微服务-Sentinel新手入门指南
微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下,服务之间存在复杂的调用关系,单个服务的故障或过载可能会迅速影响到整个系统,导致服务雪崩效应。流控组件可以限制进入系统的流量,防止系…...
git clone 超时
git clone 超时 参考 https://blog.csdn.net/qq_45906972/article/details/142214187?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-142214187-blog-137158358.235v43pc_blog_bottom_relevance_base8&spm1001.2101.3001.…...
java的bio、nio、aio 以及操作系统的select、poll、epoll
在 Java 和其他编程语言中,I/O 模型的选择对网络应用的性能和可扩展性有着重要影响。以下是 BIO(Blocking I/O)、NIO(Non-blocking I/O)、AIO(Asynchronous I/O),以及操作系统级别的…...
Redis——数据过期策略
文章目录 1. 引入2. 数据过期策略2.1 策略一:惰性删除2.1.1 原理2.1.2 优点2.1.3 缺点 2.2 策略二:定期删除2.2.1 原理2.2.2 模式2.2.3 优点2.2.4 缺点 2.3 两种策略的比较 3. 总结 1. 引入 Redis 是一个 高性能 的非关系型数据库,由于 Redi…...
kubernetes Gateway API-1-部署和基础配置
文章目录 1 部署2 最简单的 Gateway3 基于主机名和请求头4 重定向 Redirects4.1 HTTP-to-HTTPS 重定向4.2 路径重定向4.2.1 ReplaceFullPath 替换完整路径4.2.2 ReplacePrefixMatch 替换路径前缀5 重写 Rewrites5.1 重写 主机名5.2 重写 路径5.2.1 重新完整路径5.2.1 重新部分路…...
二、SQL语言,《数据库系统概念》,原书第7版
文章目录 一、概览SQL语言1.1 SQL 语言概述1.1.1 SQL语言的提出和发展1.1.2 SQL 语言的功能概述 1.2 利用SQL语言建立数据库1.2.1 示例1.2.2 SQL-DDL1.2.2.1 CREATE DATABASE1.2.2.2 CREATE TABLE 1.2.3 SQL-DML1.2.3.1 INSERT INTO 1.3 用SQL 语言进行简单查询1.3.1 单表查询 …...
【postgresql 物化视图】自动刷新物化视图2种方法
普通视图就是一个虚拟表,不占内存。而物化视图是存在的,占内存。 物化视图,默认是手动刷新。下面是手动刷新的例子。我们来创建一个物化视图。 create MATERIALIZED VIEW dnh_analasis_view as select cjsj,a,b,c,d from table_1; REFRESH …...
1 数据库(下):多表设计 、多表查询 + SQL中的with查询语法(MySQL8.0以后版本才支持这种新语法)+ 数据库优化(索引优化)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、多表设计1 多表设计-概述2 三种多表关系一对多(多对一)(1)无外键约束(逻辑外键)&…...
CPT203 Software Engineering 软件工程 Pt.2 敏捷方法和需求工程(中英双语)
文章目录 3. Aglie methods(敏捷方法)3.1 Aglie methods(敏捷方法)3.1.1 特点3.1.2 优点3.1.3 缺点3.1.4 原则3.1.5 计划驱动与敏捷方法的对比 3.2 Scrum3.2.1 Scrum roles3.2.2 Scrum Activities and Artifacts3.2.2.1 Product B…...
【Linux】进度条
本文中,我们来写一个进度条。 本文大纲: 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题(本文不深究) 2.1测试代码 3.写一个什么样的进度条? version1 version2 回车换行 这俩不是一个概念&…...
期权懂|个股期权的流动性如何?
锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 个股期权的流动性如何? 个股期权作为场外交易工具,具有较高的灵活性。场外交易意味着交易双方可以直接协商交易条款,这有助于满足不同投资者的…...
U盘格式化工具合集:6个免费的U盘格式化工具
在日常使用中,U盘可能会因为文件系统不兼容、数据损坏或使用需求发生改变而需要进行格式化。一个合适的格式化工具不仅可以清理存储空间,还能解决部分存储问题。本文为大家精选了6款免费的U盘格式化工具,并详细介绍它们的功能、使用方法、优缺…...
Java学习-Redis
简介 Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。 特征 特征: 键值(key-value)型,value支持多种不同数据结构,功能丰富 单线程&a…...
Java处理视频思路
1.首先实现断点续传功能。 断点续传实现思路: 前端对文件分块。前端使用多线程一块一块上传,上传前给服务端发一个消息校验该分块是否上传,如果已上传则不再上传。如果从该断点处断网了,下次上传时,前面的分块已经存在…...
Python入门:8.Python中的函数
引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始…...
计算机网络 (8)物理层的传输方式
一、串行传输与并行传输 串行传输 定义:串行传输是一种数据传输方式,指的是逐位地按照顺序传输数据。在串行传输中,数据位逐个按照一定的顺序进行传输,可以通过单条线路或信道进行。特点: 逐位传输:串行传输…...
3.微服务灰度发布落地实践(组件灰度增强)
文章目录 前言调用链示图dubbo服务之间的的调链cloud 服务之间的调用链 网关servlet容器: 标签续传1.定义插件2.实现灰度增强拦截 线程池: 标签续传1.拦截Runnable或Callable,接口增强实现标签续传;Callable 插件定义Runnable 插件定义拦载Callabl或Runnable构造(可共用)拦载ru…...
每天40分玩转Django:Django Email
Django Email 一、知识要点总览表 类别知识点基础配置SMTP设置、Email配置项发送方式同步发送、异步发送邮件类型纯文本、HTML邮件、带附件邮件异步任务Celery集成、任务队列高级特性邮件模板、批量发送 二、Email基础配置 1. 配置settings.py # settings.py EMAIL_BACKEN…...
ipad如何直连主机(Moonlight Sunshine)
Windows 被连接主机(Windows) 要使用的话需要固定ip,不然ip会换来换去,固定ip方法本人博客有记载Github下载Sunshine Sunshine下载地址除了安装路径需要改一下,其他一路点安装完成后会打开Sunshine的Web UIÿ…...
linux 网络安全不完全笔记
一、安装Centos 二、Linux网络网络环境设置 a.配置linux与客户机相连通 b.配置linux上网 三、Yum详解 yum 的基本操作 a.使用 yum 安装新软件 yum install –y Software b.使用 yum 更新软件 yum update –y Software c.使用 yum 移除软件 yum remove –y Software d.使用 yum …...
一、Hadoop概述
文章目录 一、Hadoop是什么二、Hadoop发展历史三、Hadoop三大发行版本1. Apache Hadoop2. Cloudera Hadoop3. Hortonworks Hadoop 四、Hadoop优势1. 高可靠性2. 高扩展性3. 高效性4. 高容错性 五、Hadoop 组成1. Hadoop1.x、2.x、3.x区别2. HDFS 架构概述3. YARN 架构概述4. Ma…...
Android 转场动画合集
项目背景:mvvm组件化,然后由于领导要求,使用MainActivity为主界面,各种业务使用Fragment处理。所以~ 由于单独ActivityN Fragment 的方式,经过十多天的试错,我确认一件事情。再确认过架构方式后一定要了解下…...
STM32 软件I2C读写
单片机学习! 目录 前言 一、软件I2C读写代码框架 二、I2C初始化 三、六个时序基本单元 3.1 引脚操作的封装和改名 3.2 起始条件执行逻辑 3.3 终止条件执行逻辑 3.4 发送一个字节 3.5 接收一个字节 3.5 发送应答&接收应答 3.5.1 发送应答 3.5.2 接…...
MySQL数据导出导出的三种办法(1316)
数据导入导出 基本概述 目前常用的有3中数据导入与导出方法: 使用mysqldump工具: 优点: 简单易用,只需一条命令即可完成数据导出。可以导出表结构和数据,方便完整备份。支持过滤条件,可以选择导出部分数据…...
三层交换机配置
✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网路安全入门系列 目录 一,三层交换二,实验案…...
odoo中@api.model, @api.depends和@api.onchange 装饰器的区别
文章目录 1. api.model用途特点示例 2. api.depends用途特点示例 3. api.onchange用途特点示例 总结 在 Odoo 中,装饰器(decorators)用于修饰方法,以指定它们的行为和触发条件。api.model、api.depends 和 api.onchange 是三个常用…...
Mysql的事务隔离机制
文章目录 事务基础概念隔离性与隔离机制的重要性四种隔离级别读未提交读已提交可重复读串行化 隔离级别设置与查看 事务基础概念 事务是一组数据库操作,这些操作要么全部成功执行,要么全部不执行。在 MySQL 中,事务通常以START TRANSACTION开…...
鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图
鸿蒙项目云捐助第二十八讲云捐助项目首页组件云数据库加载轮播图 在前面的章节中实现了云捐赠项目的底部导航和分类导航,本讲继续使用云技术丰富首页组件中的功能。这里使用云数据库进行首页组件轮播图的加载。 一、云数据库进行首页组件轮播图的加载 在云捐助项…...
vue项目搭建规范
项目搭建规范 一. 代码规范1.1. 集成editorconfig配置1.2. 使用prettier工具1.3. 使用ESLint检测1.4. git Husky和eslint1.5. git commit规范1.5.1. 代码提交风格1.5.2. 代码提交验证 二. 第三方库集成2.1. vue.config.js配置2.2. vue-router集成2.3. vuex集成2.4. element-plu…...
Spring Boot的开发工具(DevTools)模块中的热更新特性导致的问题
问题: java.lang.ClassCastException: class cn.best.scholarflow.framework.system.domain.entity.SysUser cannot be cast to class cn.best.scholarflow.framework.system.domain.entity.SysUser (cn.best.scholarflow.framework.system.domain.…...
Unity Shader TexelSize的意义
TexelSize在制作玻璃折射效果时会用到。 // Get the normal in tangent space fixed3 bump UnpackNormal(tex2D(_BumpMap, i.uv.zw)); // Compute the offset in tangent space float2 offset bump.xy * _Distortion * _RefractionTex_TexelSize.xy; i.scrPos.xy offset * i…...
一个C#开发的APP
开发方式 C#Web、AndroidWebView 系统设计 系统主要分两个部分。一个是内容(文章)发布系统,另一个是预约和支付系统。 内容发布系统 和普通的文章发布系统不一样的地方在于,我们把每篇文章和大师关联起来。在文章的下方会显示…...
C++ 设计模式:原型模式(Prototype Pattern)
链接:C 设计模式 链接:C 设计模式 - 工厂方法 链接:C 设计模式 - 抽象工厂 链接:C 设计模式 - 建造者模式 原型模式(Prototype Pattern)是一种创建型设计模式,它允许一个对象通过复制现有对象来…...
window如何将powershell以管理员身份添加到右键菜单?(按住Shift键显示)
window如何将powershell以管理员身份添加到右键菜单? 在 Windows 中,将 PowerShell 以管理员身份添加到右键菜单,可以让你在需要提升权限的情况下快速打开 PowerShell 窗口。以下是详细的步骤,包括手动编辑注册表和使用注册表脚本…...
python爬虫——爬取全年天气数据并做可视化分析
一、主题页面的结构与特征分析 1.主题页面的结构与特征分析 目标内容界面: 2. Htmls 页面解析 3.节点查找方法与遍历方法 查找方法:find(): 查找第一个匹配到的节点。find_all(): 查找所有匹配到的节点,并返回一个…...
【Unity3D】ECS入门学习(十二)IJob、IJobFor、IJobParallelFor
IJob:开启单个线程进行计算,线程内不允许对同一个数据进行操作,也就是如果你想用多个IJob分别计算,将其结果存储到同一个NativeArray<int>数组是不允许的,所以不要这样做,如下例子就是反面教材&#…...
存储进阶笔记(二):Linux 存储栈:从 Device Mapper、LVM 到文件系统(2024)
记录一些平时接触到的存储知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用。 存储进阶笔记(一):硬件基础:HDD/SDD、JBOD、RAID 等(2024) 存储进阶笔记&am…...
MySQL——操作
一.库的操作 1.基本操作 创建数据库 create database 数据库名称; 查看数据库 show databases; 删除数据库 drop database 数据库名称; 执行删除之后的结果: 数据库内部看不到对应的数据库对应的数据库文件夹被删除,级联删除,里面的数据表全部被删 所…...
c++表达范围勿用数学符号
目的 遇上了一个C基础问题,一下子陷到里面,不知怎么回事了,知道后,又感觉太可笑。 这也许就是成长的代价。 下面就是细说说所遇上的问题。 关于C逻辑的一些知识点: 定义: 用逻辑运算符将两个表达式链接起来的式子称为…...
SAP PP bom历史导出 ALV 及XLSX 带ECN号
bom总数 104W PS超过XLSX上限 ,那就分文件 *&---------------------------------------------------------------------* *& Report ZRPT_PP_BOM_HIS_ECN *&---------------------------------------------------------------------* *& tcode:zpp0…...
【AIGC-ChatGPT职业提示词指令】智能职业规划助手:基于SVG可视化的职业发展指南系统
引言 在当今快速变化的职场环境中,职业发展规划变得越来越复杂和充满挑战。无论是想要转行的技术人员,还是希望突破瓶颈的职场人士,都需要一个清晰的指导方向和可执行的行动计划。基于这种需求,我们设计了一个智能职业规划助手系统,它能够通过数据可视化的方式,为用户提…...
node.js之---单线程异步非阻塞 I/O
单线程模型 1、Node.js 使用 单线程 来处理客户端请求和执行任务 2、如果遇到异步任务,node.js使用事件循环和异步 I/O 模型,使得它能够高效地处理大量并发请求 异步操作有哪些 1、读取文件 2、网络请求 3、数据库操作等等 异步非阻塞 I/O Node.…...
DotnetSpider实现网络爬虫
1. 使用DotnetSpider框架 DotnetSpider是一个开源的、轻量、灵活、高性能、跨平台的分布式网络爬虫框架,适用于.NET平台。它可以帮助开发者快速实现网页数据的抓取功能。 1.1 安装DotnetSpider NuGet包 首先,你需要在你的.NET项目中安装DotnetSpider NuGet包。你可以通过…...
01 Oracle 基本操作
Oracle 基本操作 初使用步骤 1.创建表空间 2.创建用户、设置密码、指定表空间 3.给用户授权 4.切换用户登录 5.创建表 注意点:oracle中管理表的基本单位是用户 文章目录 了解Oracle体系结构 1.创建表空间**2.删除表空间**3.创建用户4.给用户授权5.切换用户登录6.表操…...
纯血鸿蒙ArkUI线性布局详解
线性布局说明 线性布局(LinearLayout)是开发中最常用的布局,通过线性容器Row和Column构建。线性布局是其他布局的基础,其子元素在线性方向上(水平方向和垂直方向)依次排列。线性布局的排列方向由所选容器组…...
MySQL root用户密码忘记怎么办(Reset root account password)
在使用MySQL数据库的的过程中,不可避免的会出现忘记密码的现象。普通用户的密码如果忘记,可以用更高权限的用户(例如root)进行重置。但是如果root用户的密码忘记了,由于root用户本身就是最高权限,那这个方法…...
18.springcloud_openfeign之扩展组件二
文章目录 一、前言二、子容器默认组件FeignClientsConfigurationDecoder的注入Contract约定对注解的支持对类上注解的支持对方法上注解的支持对参数上注解的支持@MatrixVariable@PathVariable@RequestParam@RequestHeader@SpringQueryMap@RequestPart@CookieValueFormattingCon…...