概述

Kafka是Apache软件基金会的开源的流处理平台,该平台提供了消息的订阅与发布,能够基于Kafka实现对网络日志流实时在线处理,在这个维度上弥补了Hadoop的离线分析系统的不足。因为基于hadoop的MapReduce系统分析离线数据延迟较高,而且不支持动态数据处理和分析。Kafka的流处理平台不仅仅可以为离线系统储备数据(通常使用Kafka作为数据缓冲),而且Kafka自身也提供了一套数据流的处理机制,实现对数据流在线处理,比如: 统计。

  • 作为消息队列(Message Queue)充当系统的缓冲组件 - MiddleWare
  • 作为一套在线实时流处理组件 (轻)

场景分析

  • 异步消息
    使用Kafka MQ功能实现模块间异步通信,把一些费时的操作交给额外的服务或者设备去执行,这样可以提升系统运行效率,加速连接释放的速度,例如:用户注册模块,在用户注册成功后,业务系统需要给用户发送一个通知短信,通知用户登录邮箱去激活刚注册的用户信息。这种业务场景如图所示,因为短信通知和邮件发送是一个比较耗时的操作,所以在这里没必要将短信和邮件发送作为注册模块的流程,使用Message Queue功能可以将改业务和主业务注册分离,这样可以缩短用户浏览器和服务建立的链接时间,同时也能满足发送短信和邮件的业务。
    在这里插入图片描述
  • 系统间解耦|削峰填谷
    ①在某些高吞吐的业务场景下,可能会出现在某一个时间段系统负载写入的负载压力比较大,短时间有大量的数据需要持久化到数据库中,但是由于数据的持久化需要数据库提供服务,由于传统的数据库甚至一些NoSQL产品也不能很好的解决高并发写入,因为数据库除去要向用户提供链接之外,还需要对新来的数据做持久化,这就需要一定的时间才能将数据落地到磁盘。因此在高并发写入的场景,就需要用户集成Message Queue在数据库前作为缓冲队列。在队列的另一头只需要程序有条不紊的将数据写入到数据库即可,这就保证无论外界写入压力有多么大都可以借助于Message Queue缓解数据库的压力。
    在这里插入图片描述
    ②Message Queue除了解决对数据缓冲的压力之外,还可以充当业务系统的中间件(Middleware)作为系统服务间解耦的组件存在,例如上图所示订单模块和库存模块中就可以使用Message Queue作为缓冲队列实现业务系统服务间的解耦,也就意味着即使服务在运行期间库存系统宕机也并不会影响订单系统的正常运行。

架构概念

集群

Kafka集群以Topic形式负责管理集群中的Record,每一个Record属于一个Topic。底层Kafka集群通过日志分区形式持久化Record。在Kafka集群中,Topic的每一个分区都一定会有1个Borker担当该分区的Leader,其他的Broker担当该分区的follower(取决于分区的副本因子)。一旦对应分区的Lead宕机,kafka集群会给当前的分区指定新的Borker作为该分区的Leader。分区的Leader的选举是通过Zookeeper一些特性实现的,这里就不在概述了。Leader负责对应分区的读写操作,Follower负责数据备份操作。
在这里插入图片描述

日志&分区

Kafka集群是通过日志形式存储Topic中的Record,Record会根据分区策略计算得到的分区数存储到相应分区的文件中。每个分区都是一个有序的,不可变的记录序列,不断附加到结构化的commit-log中。每个分区文件会为Record进去分区的顺序进行编排。每一个分区中的Record都有一个id,该id标示了该record进入分区的先后顺序,通常将该id称为record在分区中的offset偏移量从0开始,依次递增。
在这里插入图片描述
Kafka集群持久地保留所有已发布的记录 - 无论它们是否已被消耗 - 使用可配置的保留时间。例如,如果保留策略设置为2天,则在发布记录后的2天内,它可供使用,之后将被丢弃以释放空间。Kafka的性能在数据大小方面实际上是恒定的,因此长时间存储数据不是问题。
[外链图片转存失败(img-dIHmuWnJ-1562201509823)(http://kafka.apache.org/0110/images/log_consumer.png)]
事实上,基于每个消费者保留的唯一元数据是该消费者在日志中的偏移或位置。这种offset由消费者控制:通常消费者在读取记录时会线性地增加其偏移量,但事实上,由于消费者控制位置,它可以按照自己喜欢的任何顺序消费记录。例如,消费者可以重置为较旧的偏移量以重新处理过去的数据,或者跳到最近的记录并从“现在”开始消费。

分区数目决定系统对外的吞吐能力,分区数目越大吞吐性能越好。通常来说队列一定保证FIFO,但是由于Kafka采取了hash(key)%分区数的分区策略将数据发送到对应的分区中,因此Kafka的Topic只能保证分区内部数据遵循FIFO策略。

生产者

生产者负责发送Record到Kafka集群中的Topic中。在发布消息的时候,首先先计算Record分区计算方案有三种:①如果用户没有指定分区但是指定了key信息,生产者会根据hash(key)%分区数计算该Record所属分区信息,②如果生产者在发送消息的时候并没有key,也没有指定分区数,生产者会使用轮训策略选择分区信息。③如果指定了分区信息,就按照指定的分区信息选择对应的分区;当分区参数确定以后生产者会找到相应分区的Leader节点将Record记录写入到Topic日志存储分区中。

消费者

消费者作为消息的消费者,消费者对Topic中消息的消费是以Group为单位进行消费,Kafka服务会自动的按照组内和组间对消费者消费的分区进行协调。
在这里插入图片描述

  • 组内均分分区,确保一个组内的消费者不可重复消费分区中的数据,一般来说一个组内的消费者实例对的数目应该小于或者等于分区数目。
  • 组间广播形式消费,确保所有组都可以拿到当前Record。组间数据之间可以保证对数据的独立消费。

安装和部署

环境筹备

  • 准备三台物理主机主机名分别是CentOSA|B|C

  • 安装JDK,配置JAVA_HOME,本案例安装JDK1.8+

  • 校准物理主机时钟,确保时间一致。

  • 配置主机名和IP的映射关系,这是必须的,因为Kafka默认只认主机名,最后别忘记关闭防火墙。

  • 安装Zookeeper集群,并且保证Zookeeper能正常运行。

  • 下载Kafka服务安装包http://archive.apache.org/dist/kafka/2.2.0/kafka_2.11-2.2.0.tgz

安装配置

这里为了描述方便,如果是CentOSA|CentOSB|CentOSC三台物理主机都要配置的信息会使用CentOSX代替,表示该操作三台机器都要修改或者执行。

[root@CentOSX ~]# tar -zxf kafka_2.11-2.2.0.tgz -C /usr/
[root@CentOSX ~]# vi /usr/kafka_2.11-2.2.0/config/server.properties
############################# Server Basics #############################
broker.id=[0|1|2]
delete.topic.enable=true
############################# Socket Server Settings #############################
listeners=PLAINTEXT://CentOS[A|B|C]:9092
############################# Log Basics #############################
log.dirs=/usr/kafka-logs
############################# Log Retention Policy #############################
log.retention.hours=168
############################# Zookeeper #############################
zookeeper.connect=CentOSA:2181,CentOSB:2181,CentOSC:2181

本案例中安装的是kafka_2.11-2.2.0.tgz版本,由于Kafka底层使用的Scala和Java混编,因此在kafka发行版本例如:kafka_2.11-2.2.0.tgz其中2.11是Scala的编译版本,因为Scala兼容Java所以运行Kafka无需安装Scala环境;2.2.0是kafka的版本号。Kafka从0.11.x以后加入事务等特性的支持。

配置说明

配置项 说明
broker.id 每一台Kafka服务的id信息,必须设置不同。
delete.topic.enable 配置该属性开启删除topic的能力,否则kafka无法删除Topic信息。
listeners 配置Kafka服务的监听服务入口。
log.dirs 配置Kafka日志存储路径,存储消息信息。
log.retention.hours 日志存储时间,一旦日志数据超过改时间,系统会自动删除过期日志。
zookeeper.connect zookeeper链接参数信息,用于保存Kafka元数据信息。

启动服务

[root@CentOSX ~]# cd /usr/kafka_2.11-2.2.0/
[root@CentOSX kafka_2.11-2.2.0]# ./bin/kafka-server-start.sh -daemon config/server.properties
[root@CentOSX kafka_2.11-2.2.0]# jps
5507 Kafka
2358 QuorumPeerMain
5660 Jps

关闭服务

kafka-server-stop.sh自带的服务脚本中存在的一些问题,用户需要修改该脚本文件,具体修改内容如下所示:

[root@CentOSX kafka_2.11-2.2.0]# vi bin/kafka-server-stop.sh

SIGNAL=${SIGNAL:-TERM}
PIDS=$(jps | grep  Kafka | awk '{print $1}')if [ -z "$PIDS" ]; then
echo "No kafka server to stop"
exit 1
else
kill -s $SIGNAL $PIDS
fi

Kafka自带脚本中PIDS参数获取存在问题,导致每次获取的PIDS都是空信息。

验证服务

  • 创建topic
[root@CentOSA kafka_2.11-2.2.0]# ./bin/kafka-topics.sh
--zookeeper CentOSA:2181,CentOSB:2181,CentOSC:2181
--create
--topic topic01
--partitions 3
--replication-factor 3

partitions:日志分区数;replication-factor:分区副本因子

  • 消费者
[root@CentOSA kafka_2.11-2.2.0]# ./bin/kafka-console-consumer.sh 
--bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 
--topic topic01
  • 生产者
[root@CentOSB kafka_2.11-2.2.0]# ./bin/kafka-console-producer.sh 
--broker-list CentOSA:9092,CentOSB:9092,CentOSC:9092 
--topic topic01
> hello kafka

观察CentOSA控制台输出,如果有hello kafka说明安装成功!

Topic管理篇(DDL)

  • 创建Tocpic
[root@CentOSA kafka_2.11-2.2.0]# ./bin/kafka-topics.sh
--zookeeper CentOSA:2181,CentOSB:2181,CentOSC:2181
--create
--topic topic01
--partitions 3
--replication-factor 3
  • Topic详细信息
[root@CentOSC kafka_2.11-2.2.0]# ./bin/kafka-topics.sh 
--describe 
--zookeeper CentOSA:2181,CentOSB:2181,CentOSC:2181 
--topic topic01
Topic:topic01   PartitionCount:3        ReplicationFactor:3     Configs:
Topic: topic01  Partition: 0    Leader: 2       Replicas: 1,2,0 Isr: 2,0,1
Topic: topic01  Partition: 1    Leader: 2       Replicas: 2,0,1 Isr: 2,0,1
Topic: topic01  Partition: 2    Leader: 2       Replicas: 0,1,2 Isr: 2,0,1
  • 删除Topic
[root@CentOSA kafka_2.11-2.2.0]# ./bin/kafka-topics.sh 
--zookeeper CentOSA:2181,CentOSB:2181,CentOSC:2181 
--delete 
--topic topic01

如果用户没有配置delete.topic.enable=true,则Topic删除不起作用。

  • Topic列表
[root@CentOSA kafka_2.11-2.2.0]# ./bin/kafka-topics.sh 
--zookeeper CentOSA:2181,CentOSB:2181,CentOSC:2181 
--list

Kafka API实战

maven

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>2.2.0</version>
</dependency><dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>

在Windos配置主机名和IP映射关系

192.168.40.129 CentOSA
192.168.40.130 CentOSB
192.168.40.131 CentOSC

必须配置主机名和IP的映射关系,否则运行主机在连接kafka服务的时候,会抛出无法解析主机异常或者链接超时,这一点是很多初学者在使用Kafka的时候容易忽略的一点。

log4j.properties

### set log levels ###
log4j.rootLogger = info,stdout 
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n

Topic管理

管理Topic的核心在于创建AdminClient,通过adminClient完成对Topic的基础管理

//创建AdminClient
Properties props = new Properties();
props.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG,"链接参数");
AdminClient adminClient=KafkaAdminClient.create(props);// todo your code here//关闭连接
adminClient.close();

Topic创建

List<NewTopic> newTopics = Arrays.asList(new NewTopic("topic01", 3, (short)2));
adminClient.createTopics(newTopics);

Topic列表

ListTopicsResult topics = adminClient.listTopics();
topics.names()
.get()
.stream()
.forEach((topic)-> System.out.println(topic));

Topic详情

adminClient.describeTopics(Arrays.asList("topic01")).all().get().entrySet().stream().forEach((entry)-> {String topic=entry.getKey();System.out.println(topic);TopicDescription descr = entry.getValue();List<TopicPartitionInfo> partitions = descr.partitions();for (TopicPartitionInfo partition : partitions) {System.out.println("\t"+partition);}});

Topic删除

adminClient.deleteTopics(Arrays.asList("topic01"));

集群状态

adminClient.describeCluster().nodes().get().stream().forEach((node)-> System.out.println(node) );

生产者

生产者负责产生消息,并且将生产的消息发送到kafka集群中,在Kaka集群中所有发送的消息都必须是以二进制分区日志形式存储,因此生产者在发送的数据之前需要指定数据序列化规则,在创建生产者之前的基本步骤如下:

Properties props=new Properties();
//配置Kafka生产者 ...
Producer<String,String> producer=new KafkaProducer<String, String>(props);producer.close();

这里需要了解生产者常见的属性配置及其含义。

属性 默认值 含义 是否必须
bootstrap.servers “” 连接kafka集群连接参数 必须
key.serializer null key序列化规则 必须
value.serializer null value序列化规则 必须
acks 1 生产者要求leader在考虑完成请求之前收到的确认数量。
retries 2147483647 当没有在规定时间内acker,则认定发送失败,重试
batch.size 16384 一次缓冲多少数据,并不是一条数据就会触发发送
linger.ms 0 间隔多长时间构建一次batch发送
request.timeout.ms 30000 设置客户端最大等待超时时间
enable.idempotence false 是否开启幂等性,可以保证生产者一个Record只发送一次给broker
public static Producer<String,String> buildKafkaProducer(){
Properties props=new Properties();
//必须配置属性
props.put("bootstrap.servers","CentOSA:9092,CentOSB:9092,CentOSC:9092");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");//优化参数 选配
props.put("acks","all");
props.put("retries",1);
props.put("batch.size",1024);
props.put("linger.ms",5);
props.put("request.timeout.ms",10000);
props.put("enable.idempotence",true);return new KafkaProducer<String, String>(props);
}

发送一则消息

public static void main(String[] args) {
Producer<String,String> producer=buildKafkaProducer();ProducerRecord<String,String> record=
new ProducerRecord<String, String>("topic01","001","TV,GAME,PRGRAMING");
producer.send(record);
//强制刷新缓冲区,防止虚拟机退出数据还没来得及发送出去
producer.flush();
producer.close();
}

消费者

消费者负责消费集群中的消息,消费者消费Topic中的消息是按照group消费形式订阅的。所以在创建消费者的时候和生产者类似也需要按照如下步骤:

Properties props = new Properties();
//配置消费者 ...
Consumer<String,String> consumer=new KafkaConsumer<String, String>(props);
consumer.close();

这里需要了解消费者常见的属性配置及其含义。

属性 默认值 含义 是否必须
bootstrap.servers “” 连接kafka服务器参数 必须
key.deserializer null key反序列化 必须
value.deserializer null value反序列化 必须
group.id “” 如果是订阅方式,必须指定组id 必须
enable.auto.commit true offset自动提交
auto.commit.interval.ms 5000 自动提交频率
public static Consumer<String, String> buildKafkaConsumer() {
Properties props = new Properties();
props.put("bootstrap.servers", "CentOSA:9092,CentOSB:9092,CentOSC:9092");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer","org.apache.kafka.common.serialization.StringDeserializer");
props.put("group.id", "g1");
props.put("enable.auto.commit", true);
props.put("auto.commit.interval.ms", 5000);
return new KafkaConsumer<String, String>(props);
}

消费消息

Consumer<String,String> consumer=buildKafkaConsumer();List<String> topics = Arrays.asList("topic01");
consumer.subscribe(topics);while (true){
//间隔5秒钟查询一次,看服务器中有没有Record
ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(5));
}

偏移量管理

默认消费端对分区数据的偏移量提交方式是自动的通过两个参数限定:

enable.auto.commit=true
auto.commit.interval.ms=5000

有可能导致消费端并没有正常消费数据但是,客户端会自动提交偏移量。因此为了解决该问题用户一般可以考虑手动提交偏移量。

1)现关闭offset自动提交

enable.auto.commit=false

2)用户在消费完数据之后手动提交偏移量

Consumer<String,String> consumer=buildKafkaConsumer();List<String> topics = Arrays.asList("topic01");
consumer.subscribe(topics);
while (true){
//间隔1秒钟查询一次,看服务器中有没有Record
ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(5));
Map<TopicPartition,OffsetAndMetadata> commits= new HashMap<TopicPartition, OffsetAndMetadata>();
for (ConsumerRecord<String, String> record : records) {
// to do your code here//表示下一次消费偏移量起始位置,因此要在当前位置+1
OffsetAndMetadata offsetAndMetadata = new OffsetAndMetadata(record.offset()+1);
//构建分区信息
TopicPartition partition = new TopicPartition(record.topic(), record.partition());
//存储需要提交分区参数
commits.put(partition,offsetAndMetadata);
}
//提交offset
consumer.commitSync(commits);

事务控制

单独生产者

transactional.id=transaction-1
enable.idempotence=true
Producer<String,String> producer=buildKafkaProducer();
//1.初始化事务
producer.initTransactions();
producer.beginTransaction();
try {
for(int i=10;i<20;i++){
DecimalFormat decimalFormat=new DecimalFormat("000");
ProducerRecord<String,String> record=new ProducerRecord<String, String>("topic01",
decimalFormat.format(i),
"TV,GAME,PRGRAMING");
producer.send(record);
}
//事务提交
producer.commitTransaction();
} catch (Exception e) {
//终止事务
producer.abortTransaction();
}
//强制刷新缓冲区
producer.flush();
producer.close();

消费者事务隔离级别

isolation.level=read_committed
Consumer<String,String> consumer=buildKafkaConsumer();//订阅感兴趣的Topic
List<String> topics = Arrays.asList("topic01");
consumer.subscribe(topics);
//定期的去查询队列里有没有关注的Record
while (true){
//间隔1秒钟查询一次,看服务器中有没有Record
ConsumerRecords<String, String> records = consumer.poll(1000);
Map<TopicPartition,OffsetAndMetadata> commits=new HashMap<TopicPartition, OffsetAndMetadata>();
for (ConsumerRecord<String, String> record : records) {
System.out.println("key:"+record.key()+",value:"+record.value()+
" ,ts:"+record.timestamp()+"\tp|o:\t"+record.partition()+"|"+record.offset());
TopicPartition partition = new TopicPartition(record.topic(), record.partition());
OffsetAndMetadata offsetAndMetadata = new OffsetAndMetadata(record.offset()+1);
commits.put(partition,offsetAndMetadata);
}
consumer.commitSync(commits);
}

Consumer -> Producer 事务控制

public static void main(String[] args) {
Consumer<String, String> consumer = buildKafkaConsumer();
Producer<String,String> producer=buildKafkaProducer();
//初始化事务
producer.initTransactions();
consumer.subscribe(Arrays.asList("topic01"));
while (true){
//开启事务控制
producer.beginTransaction();
ConsumerRecords<String, String> records = consumer.poll(1000);
try {
Map<TopicPartition,OffsetAndMetadata> commits=new HashMap<TopicPartition, OffsetAndMetadata>();
for (ConsumerRecord<String, String> record : records) {
//封装数据offset
TopicPartition partition = new TopicPartition(record.topic(), record.partition());
OffsetAndMetadata offsetAndMetadata = new OffsetAndMetadata(record.offset()+1);
commits.put(partition,offsetAndMetadata);
// 做一些额外逻辑 ...//将计算后的信息写入到下一个Topic中
ProducerRecord<String, String> srecord = new ProducerRecord<String, String>("topic02", record.key(), record.value());
producer.send(srecord);
//int n=1/0;
}
producer.flush();
//提交指定消费组的偏移量
producer.sendOffsetsToTransaction(commits,"g1");
producer.commitTransaction();
} catch (Exception e) {
producer.abortTransaction();
}
}
}
public static Producer<String,String> buildKafkaProducer(){
Properties props=new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"CentOSA:9092,CentOSB:9092,CentOSC:9092");
//配置 Kafka key、value序列化
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer");
//设置ACKS应答,等待所有的Broker应答
props.put(ProducerConfig.ACKS_CONFIG,"all");
//设置及回话超时时间
props.put(ProducerConfig.RETRIES_CONFIG,1);
//设置一次发送多少个Record
props.put(ProducerConfig.BATCH_SIZE_CONFIG,1024);
//设置一个延迟发送记录时间 延迟5ms发送
props.put(ProducerConfig.LINGER_MS_CONFIG,5);
//设置响应超时时间
props.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG,10000);
//开启Kafka的幂等写
props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG,true);
//开启事务控制
props.put(ProducerConfig.TRANSACTIONAL_ID_CONFIG,"transaction-2");return new KafkaProducer<String, String>(props);
}
public static Consumer<String,String> buildKafkaConsumer(){
Properties props=new Properties();//配置Broker服务器的地址
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"CentOSA:9092,CentOSB:9092,CentOSC:9092");
//设置数据反序列化
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringDeserializer");
//设置消费者所属组信息
props.put(ConsumerConfig.GROUP_ID_CONFIG,"g1");
//设置消费者offset控制
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,false);
//设置offset偏移量提交频率时间间隔 5s
props.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG,5000);
props.put(ConsumerConfig.ISOLATION_LEVEL_CONFIG,"read_committed");return new KafkaConsumer<String, String>(props);
}

更多精彩内容关注

微信公众账号

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. node Error: Could not locate the bindings file. Tried:解决

    https://www.cnblogs.com/yzeng/p/8417453.html...

    2024/5/3 9:38:13
  2. Apache Hbase

    Hbase 概述 Hbase是一个基于Hadoop之上的数据库服务,该数据库是一个分布式、可扩展的大的数据仓库。当您需要对大数据进行随机,实时读/写访问时,请使用Apache HBase™(HDFS虽然可以存储海量数据,但是对数据的管理粒度比较粗糙,只支持对文件的上传下载,并不支持对文件内容…...

    2024/4/24 15:46:31
  3. Python_变量交换

    变量交换variable01 = 1 variable02 = 2原理 # temp = variable01 # variable01 = variable02 # variable02 = temppython特有变量交换 variable01, variable02 = variable02, variable01输出 print(variable01) print(variable02)运行结果 2 1...

    2024/4/24 4:55:46
  4. Apache Flink DataStream API之程序结构分析&DataSource(章节二)

    ApacheFlink - 是针对于数据流的状态计算,Flink具有特殊类DataSet和DataStream来表示程序中的数据。您可以将它们视为可以包含重复项的不可变数据集合。在DataSet的情况下,数据是有限的,而对于DataStream,元素的数量可以是无限的。 这些集合在某些关键方面与常规Java集合不…...

    2024/3/29 13:53:12
  5. git创建分支

    创建一个dev分支 1、创建+切换一次完成命令: git checkout -b dev 不好理解,还有一种分开写法 git branch dev git checkout dev2、然后再执行: git branch 执行后会列出所有分支,如果有* 说明就在当前分支下。 3、然后用命令: git add . git commit -m "提交说明&qu…...

    2024/3/29 13:53:13
  6. linux额外笔记

    linux小笔记 1,tap键有提示和补全目录的作用 2,tap键有补全命令的作用...

    2024/3/29 13:53:10
  7. Apache Flink DataStream API之Transformation(章节三)

    DataStream 数据转换 常规操作符 // order zhangsan TV,GAME val env = StreamExecutionEnvironment.createLocalEnvironment() val props = new Properties() props.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"CentOS:9092,CentOS:9093,CentOS:9094") p…...

    2024/4/14 16:20:30
  8. 贪心算法---会议安排(有限时间召开更多会议,会议不可同时进行)---高级钟点秘书

    贪心策略:每次从剩下的会议中选择具有最早结束时间(最早开始时间+持续时间最短)且与已安排会议相容的会议安排。 #include<iostream> #include<algorithm> using namespace std;struct Meet{int beg;//会议开始的时间 int end;//会议结束的时间int num;//记录会…...

    2024/4/6 18:57:24
  9. rest_rpc应用-从服务器下载文件到本地

    1.rest_rpc:https://github.com/qicosmos/rest_rpc2.服务端:server.cpp#include <iostream> #include <string> #include <fstream> #include <thread> #include "rpc_server.h" using namespace rest_rpc; using namespace rpc_service; s…...

    2024/4/25 19:48:43
  10. 前端工程师面试题汇总(一)

    基础题请你简要介绍一下解决异步回调地狱的方法 请你讲一下js监听对象属性的改变具体是怎么实现的,它们各自有什么特点? 请问你知道一个图片url访问后直接下载怎样实现吗? 请说一下css盒模型 请你说一下web Quality (无障碍) 如果要画一条0.5px的线,你会怎么去实现呢?讲…...

    2024/4/24 19:50:19
  11. # java学习笔记 2020 1/17(二)慕课网 注释

    2020 1/17 伙计们注意啦:常量名一般使用大写字符 eg:final String LOVE=“我爱你”; 类名——首字母大写,且按驼峰命名规则起名,必须有 注释文档注释 /**。。。。。。。。*/ 多行注释 /。。。。。。。。。/ 单行注释 // PS:使用文档注释时还可以使用 javadoc 标记,…...

    2024/3/29 13:53:05
  12. 设计模式——备忘录模式

    备忘录模式@author lisiwen @createTime 2019/12/24​ 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态​ 备忘录模式(Memento)结构图 ​ Originator(发起人):负责创建一个…...

    2024/3/29 13:53:04
  13. Apache Flink Stream API之State & Fault Tolerance(章节四)

    State & Fault Tolerance 针对于流处理的有状态function和operators可以存储流计算过程中的每个Event的计算状态。状态计算是构建精确操作不会或缺的板块。Flink需要获知计算节点的状态,从而使用checkpoint和savepoint机制实现数据的故障恢复和容错。其中Queryable State允…...

    2024/5/3 12:23:53
  14. 为什么要用时间戳?以及Java时间戳(Long)和Date类型的关系、转化与简单使用

    首先,我们要明白,为什么要用时间戳?因为在数据库系统中,不同的数据库对时间类型有不同的解释:在字段类型方面,流行的关系型数据库Oracle和MySQL的date就不能直接兼容转换;字段记录的值方面,也就是数据,可以用数据迁移工具进行转换,但是类型怎么迁移,不同数据库工具有…...

    2024/3/29 13:53:02
  15. windows server 服务器安全加固

    目录账户口令授权审核策略IP协议安全配置设备其他配置操作账户对于管理员账号,要求更改缺省账户名称,并且禁用 guest (来宾) 账号按照用户分配账户,根据系统要求,设定不同的账户和账户组,管理员用户,数据库用户,审计用户,来宾用户等删除或锁定与设备运行、维护等工作无…...

    2024/4/26 1:11:42
  16. 资源链接(仅粉丝可以见)

    计算机基础ShellLinux网络编程数据结构STM32F103...

    2024/4/24 20:25:28
  17. Apache Spark Streaming (章节四)

    Spark Streaming Spark Streaming是核心Spark API的扩展,可实现实时数据流的可扩展,高吞吐量,容错流处理。数据可以从许多来源(如Kafka,Flume,Kinesis或TCP套接字)中获取,并且可以使用以高级函数(如map,reduce,join和window)表示的复杂算法进行处理。最后,处理后的…...

    2024/4/10 14:53:28
  18. 图片格式转换——将别的服务器图片上传到自己服务器

    1.先将图片下载到本地* url 图片地址* id 图片识别标识* D:\\images\\ 存储地址function savePic($url, $id) {$file = file_get_contents($url);$res = file_put_contents(D:\\images\\ . $id . .jpg, $file);return $res; }2.利用转换工具将图片转换为自己需要的格式,我用…...

    2024/4/16 5:01:05
  19. 问题 A: C语言11.1 codeup

    题目描述 完成一个对候选人得票的统计程序。假设有3个候选人,名字分别为Li,Zhang和Fun。使用结构体存储每一个候选人的名字和得票数。记录每一张选票的得票人名,输出每个候选人最终的得票数。结构体可以定义成如下的格式: struct person { char name[20]; int count; }lead…...

    2024/3/29 6:59:57
  20. csdn使用扩展项-

    红色 <font color=red size=5>红色</font>黑体abc123 <font face="黑体">黑体abc123</font>宋体abc123 <font face="宋体">宋体abc123</font>全角缩进: &emsp;&emsp;半角缩进: &ensp;&ensp;绿色6号…...

    2024/4/25 1:43:42

最新文章

  1. 光固化打印--问题记录

    平面翘起 原因&#xff1a;角度平&#xff0c;缺支持 解决&#xff1a; 45度角度摆放底部平面起皮 原因&#xff1a;缺少支撑&#xff0c;原始结构支持无法支撑平面。 解决&#xff1a;增加支撑...

    2024/5/4 1:02:51
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【图论】知识点集合

    边的类型 neighbors(邻居)&#xff1a;两个顶点有一条共同边 loop&#xff1a;链接自身 link&#xff1a;两个顶点有一条边 parallel edges&#xff1a;两个顶点有两条及以上条边 无向图 必要条件&#xff1a;删掉顶点数一定大于等于剩下的顶点数 设无向图G<V,E>是…...

    2024/5/1 12:14:45
  4. 四川古力未来科技抖音小店:把握电商新风口,前景无限广阔

    在数字化浪潮席卷全球的今天&#xff0c;电商行业以其独特的魅力和无限潜力&#xff0c;成为了众多创业者和投资者关注的焦点。四川古力未来科技抖音小店&#xff0c;正是站在这一风口浪尖上的新兴力量&#xff0c;其前景之广阔&#xff0c;令人瞩目。 抖音&#xff0c;作为一款…...

    2024/5/3 4:45:16
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57