Spring Cloud Eureka 原理分析

1 简介

在微服务架构下,服务端环境通常包含多个服务,同时每个服务也是一个无状态的多实例集群。这些服务和实例一般都是会动态变化的,可能会因为意外的故障或者人为的重启发版等原因,这些服务和实例的信息和数量随时会发生改变。因此微服务环境下需要一个服务注册中心来集中管理集群中各个服务实例的状态,这样服务的调用方就可以动态地从服务注册中心获取到当前可用的服务实例来发起调用。

Eureka 就是服务发现中心的一种。Eureka 一开始是由 Netflix 开源的用于服务注册的组件,之后 Spring Cloud 对其进行封装和集成,添加到了 Spring Cloud 微服务生态。

img

2 架构

Eureka 由 Eureka Server 和 Eureka Client 两部分组成。

  • Server 是服务注册中心,负责维护集群中的服务实例信息和状态,以及给 Client 返回服务列表。在分布式环境下一般会多实例部署来达到高可用,比如在多个可用区上均部署 Eureka Server。
  • Client 是一个嵌入到业务服务的模块,负责与 Server 交互,包括发送注册请求、维持心跳、拉取服务列表等。

img

引入了服务发现中心后,需要为其他应用提供服务的应用在启动时需要先通过 Eureka Client 向 Eureka Server 发送注册请求,把自己的服务信息注册到 Eureka Server 上,同时需要定期发送心跳。

在应用下线时发送取消注册请求,把自身从 Eureka Server 的服务列表里删除。在多实例部署的情况下,Eureka Client 需要根据一定的策略选择一个目标 Server 进行通讯,这个过程在后面会详细介绍。

而服务的调用方在发起调用时需要先从 Eureka Server 获取服务实例列表,然后可以根据客户端的负载均衡策略选择一个实例,然后再向该实例发起调用请求

下面基于 spring-cloud-starter-eureka 版本 1.3.2.RELEASE 的代码,分别介绍一下 Eureka Server 和 Eureka Client 两者的工作原理。

3 服务端原理

Eureka Server 负责管理整个集群服务实例信息,有新实例注册时需要为其创建和管理对应的 Lease ,同时还负责把 Lease 的变更同步给集群中其他的 Eureka Server,以保证集群中所有的 Eureka Server 节点的服务列表最终一致。Eureka Server 会把这些 Lease 维护在一个 PeerAwareInstanceRegistry 里,当有 Eureka Client 需要获取服务列表时,需要从中获取这些 Lease 信息返回。

Eureka Server 几个关键模块的关系如下图。这里面最核心的是 PeerAwareInstanceRegistry ,它记录了当前注册过的所有服务实例的信息和状态。

  • Resources :这部分对外暴露了一系列的 Restful 接口。Eureka Client 的注册、心跳、获取服务列表等操作都需要调用这些接口。另外,其他的 Server 在同步 Registry 时也需要调用这些接口。
  • Controller :这里提供了几个 web 接口,主要用在 Eureka Server 本身的 Dashboard 页面, 从页面上可以查看到当前注册了的服务,以及每个服务下各个实例的状态。
  • PeerAwareInstanceRegistry :这里面记录了当前注册了的服务实例。当这些注册信息发生变化时,PeerAwareInstanceRegistry 还要负责把这些变化同步到其他的 Server。
  • PeerEurekaNodes :这里维护了集群里所有 Eureka Server 节点的信息,PeerAwareInstanceRegistry 在同步时需要从这里获取其他 Server 的信息。同时它还负责定时检查配置来发现是否有 Eureka Server 节点新增或删除。
  • HttpReplicationClient :这是 PeerAwareInstanceRegistry 向其他 Server 同步时发送请求的 http client。

img

3.1 Lease

服务向 Eureka Server 注册时,Eureka Server 会为其创建一个 Lease 。这些 Lease 是维护在上面说到的 PeerAwareInstanceRegistry 里的,它维护了一个 Map 结构

private final ConcurrentHashMap<String, Map<String, Lease<InstanceInfo>>> registry;

这是一个双重 Map,记录每个服务下有哪些实例,以及每个实例对应的 LeaseLease 里记录了对应实例的注册时间和上次更新时间。

public class Lease<T> {// ...private long evictionTimestamp;private long registrationTimestamp;private long serviceUpTimestamp;private volatile long lastUpdateTimestamp;private long duration;// ...
}

一个实例注册时会在 registry 里添加一个 Lease ,发送心跳时会更新 Lease 的时间,Lease 的有效期默认是 90 秒。有效期内未更新的 Lease 会被认为过期。

PeerAwareInstanceRegistry 会定时执行一个 EvictionTask ,将过期的 Lease 删除。EvictionTask 的默认执行周期是 60 秒,可以通过配置项修改。

eureka.server.evictionIntervalTimerInMs=60 * 1000

3.2 服务注册列表增量变更

PeerAwareInstanceRegistry 记录了所有服务实例的状态,当 Eureka Client 获取服务列表时可以遍历这个列表返回。但是一般情况下,集群中短期内发生变化的实例数量不会太多,尤其是当集群比较大的时候,每次刷新服务列表时都全量返回其实并不必要。因此 Eureka Server 除了提供全量获取服务的接口,还提供了获取近期出现变更的服务实例的接口。

Eureka Server 实现增量的方式每次在更新服务列表后,都把有变更的实例 Lease 记录在一个队列里(包括实例新增,实例删除,实例的状态变更的情况)

private ConcurrentLinkedQueue<RecentlyChangedItem> recentlyChangedQueue;

和这个队列相关的关键配置是

eureka.server.retentionTimeInMSInDeltaQueue=3 * 60 * 1000
eureka.server.deltaRetentionTimerIntervalInMs=30 * 1000

retentionTimeInMSInDeltaQueue 表示队列里的元素保留时间,默认是 3 分钟。 deltaRetentionTimerIntervalInMs 表示检查删除队列里过期元素的时间间隔。也就是说,我们可以近似认为最近 3 分钟内(实际上最久可能是最近 3 分 30 秒内),新增的实例、删除的实例以及状态发生变化的实例对应的 Lease 都会保留在这个队列里。

当 Eureka Client 以增量的方式请求获取服务列表时,Eureka Server 会把这个列表里的元素对应的 Lease 返回给 Eureka Client。这里有个问题是,Eureka Client 获取的增量服务列表是有可能包含重复信息,Eureka 要求由客户端处理这种重复的情况。

具体的 Eureka Client 获取服务列表的方式会在后面分析客户端原理时详细说明。

3.3 Response 缓存

Eureka Server 的接口支持以 JSON 和 XML 的格式返回数据,还支持对数据压缩。Eureka Client 在获取服务列表时,Eureka Server 会把服务实例信息按请求的格式序列化和压缩后返回。当集群里 Eureka Client 比较多时,如果每次返回响应时都去做序列化和压缩,那么就会浪费资源在重复的操作上。Eureka Server 对响应做了缓存,这样在处理 Eureka Client 请求时就可以直接从缓存获得已经序列化完成和压缩完成的数据返回了。

Eureka Server 的缓存分为两层,它们之间的关系如下图。

img

ReadOnlyCache 顾名思义是只读的,它会定期从 ReadWriteCache 读取数据来刷新自己的数据。刷新的周期可以通过配置控制,默认是 30 秒。

eureka.server.responseCacheUpdateIntervalMs=30 * 1000

ReadWriteCache 并不会定期刷新自身的数据,只会在出现 cache miss 时再从 Registry 获取对应的数据。ReadWriteCache 缓存的数据失效的情况有两种。 一是当 Registry 发生变更时会调用 invalidate 方法使 ReadWriteCache 对应的数据失效,二是缓存的数据超时自动过期失效。过期时间默认是 180 秒,可以通过配置修改。

eureka.server.responseCacheAutoExpirationInSeconds=180

默认情况下 Eureka Client 获取服务的请求会从 ReadOnlyCache 返回。因为 ReadOnlyCache 是定时刷新的,所以有可能拿到的结果并不是最新的。ReadOnlyCache 可以通过配置关闭。

eureka.server.useReadOnlyResponseCache=false

不使用 ReadOnlyCache 时响应从 ReadWriteCache 返回。因为 ReadWriteCache 不会自动定时刷新,所以出现 cache miss 的请求会需要相对更长的时间才能返回。

3.4 自我保护模式

自我保护模式的作用是防止当出现网络分隔,服务虽然正常运行但无法与 Eureka Server 保持心跳的情况下,Eureka Server 把这些服务实例当作过期实例而删除。如下图,服务本身是正常的,但服务发送心跳的网络发生异常。如果没有自我保护模式,那么这些服务实例会被过期删除,此时服务调用方将无法从 Eureka Server 获取到这些服务。

前面的介绍有提到过,**过期的 Lease 会被 EvictionTask 删除。EvictionTask 执行时会先判断 Eureka Server 当前是否处于自我保护模式。**在自我保护模式下,EvictionTask 不会删除过期的实例,但新的实例依旧可以正常注册。

img

自我保护模式的触发条件是当 Eureka Server 最近一分钟实际收到的心跳数低于最少心跳数阈值。

public boolean isLeaseExpirationEnabled() {if (!isSelfPreservationModeEnabled()) {return true;}return numberOfRenewsPerMinThreshold > 0 && getNumOfRenewsInLastMin() > numberOfRenewsPerMinThreshold;
}

其中 numberOfRenewsPerMinThreshold 是通过当前已注册的实例数目算出来的。

this.numberOfRenewsPerMinThreshold = (int) ((count * 2) * serverConfig.getRenewalPercentThreshold());

count 指的是当前注册的实例数目, count * 2 即理想情况下每分钟应收到的心跳数(心跳间隔 30 秒), renewalPercentThreshold 是最低心跳数阈值百分比,默认值是 0.85。也就是说,默认情况下,当最近一分钟的收到的心跳次数低于应该收到的心跳次数的 85% 时,就会进入自我保护,此时过期的实例不会被删除,直到心跳次数恢复到 85% 以上。

心跳次数阈值百分比可以通过配置设置。

eureka.server.renewalPercentThreshold=0.85

另外可以通过配置把自我保护模式关闭,关闭后无论收到多少次心跳,过期的实例都会被删除。

eureka.server.enableSelfPreservation=false

3.5 一致性和可用性

Eureka Server 集群的节点没有主从之分,每个节点都可以同时处理读写请求。虽然节点收到的写请求会同步到其他节点,但是没有采用任何措施(比如一致性协议)保证写请求同步到其节点。因此 Eureka Server 并不能保证数据的强一致,只能保证当集群稳定时,各个节点的数据最终会达到一致,但在这之前,不同节点返回的数据可能不一样。

牺牲数据一致性换来的是集群更高的可用性。CP 系统一般要求集群至少有过半数的节点存活,才能保证正常处理读写请求。而 Eureka Server 集群只需要至少有一个节点存活,就能够正常提供服务,虽然此时集群返回的数据不一定准确。

因此,Eureka Server 集群是一个 AP 系统。作为一个服务注册中心,这意味着当集群发生极端异常时,与其为了保证服务列表的一致性而使服务注册不可用,它选择尽可能保证服务发现功能可用而牺牲服务注册列表的准确性。

4 客户端原理

Eureka Client 封装了与 Eureka Server 进行各种交互的代码逻辑。集群中的服务需要引入 Eureka Client,并通过 Eureka Client 与 Eureka Server 进行交互。Eureka Client 的主要职责包括

  • 服务启动时注册服务
  • 定时发送心跳来更新 Lease
  • 服务下线时取消注册
  • 获取和定时更新已注册的服务列表

如果一个服务只调用其他服务,但自身不提供服务,那么可以通过配置控制不注册自身实例

eureka.client.registerWithEureka=false

相反,如果一个服务只提供服务,但不需要调用其他服务,那么可以配置不获取服务列表

eureka.client.fetchRegistry=false

img

上图是 Eureka Client 的内部结构。

  • Applications :保存了从 Eureka Server 获取到的服务信息,相当于 Eureka Client 端的服务列表缓存。
  • InstanceInfo :维护了自身服务实例的信息,注册和心跳时需要用到。
  • QueryClient :负责从 Eureka Server 获取已注册的服务,并且更新 Applications
  • RegistrationClient :负责在服务启动时发送注册请求,然后定期发送心跳,最后在服务下线之前取消注册。
  • ClusterResolverQueryClientRegistrationClient 在发送请求前需要先知道 Eureka Server 的地址,ClusterResolver 可以根据不同的策略和实现返回 Eureka Server 地址列表以供选择。
  • JerseyApplicationClient :是真正发送网络请求的 Http client,QueryClientRegistrationClient 获取到 Eureka Server 地址后会创建一个 JerseyApplicationClient 和该 Eureka Server 通讯。

4.1 获取 Server 地址

Eureka Client 在和 Eureka Server 通讯之前,需要先获得 Eureka Server 的地址。如果 Eureka Server 是多实例部署的,那么还需要对这些地址做优先级排序,然后 Eureka Client 在发起调用时会按顺序调用,失败时再尝试下一个 Eureka Server。

Eureka Server 的地址由 ClusterResolver 提供。它暴露了一个接口用来返回 Eureka Server 地址列表。

public interface ClusterResolver<T extends EurekaEndpoint> {// ...List<T> getClusterEndpoints();
}

默认情况使用的是 ConfigClusterResolver ,从配置文件里获取 Eureka Server 地址。

ConfigClusterResolver 会被 ZoneAffinityClusterResolver 代理,ZoneAffinityClusterResolver 会进一步根据是否和实例本身处于同一个可用区,把 Eureka Server 地址分成两部分,然后在随机排列后,按同区在前,不同区在后的顺序返回 Eureka Server 地址列表。

后续 Eureka Client 在发送请求时会以这个列表的顺序作为优先级选择 Eureka Server。这样做可以让 Eureka Client 优先和同区的 Eureka Server 交互。随机化能让 Eureka Server 负载尽量平均。

4.2 构造 EurekaHttpClient

在知道如何获取 Eureka Server 地址列表之后,Eureka Client 还需要创建 EurekaHttpClient 对象来发起 http 请求。

Eureka Client 在初始化时需要创建两个 EurekaHttpClient, 分别是 QueryClientRegistrationClientQueryClient 主要负责发送获取服务列表请求,RegistrationClient 负责发送注册、心跳等请求。

从类图来看,EurekaHttpClient 使用装饰者模式。

img

JerseyApplicationClient 是最终负责发送请求的实现,在其之上做了装饰。最后生成的 client 结构如下图。QueryClientRegistrationClient 生成 client 的方式是一样的,只是在使用时调用的接口不同。QueryClient 只使用了和获取服务相关的接口,而 RegistrationClient 需要调用注册、心跳等接口。

img

JerseyApplicationClient 创建时需要一个 Eureka Server 的 Url,它只会向该 Eureka Server 发送请求。在 JerseyApplicationClient 之外套了多个装饰类。

  • MetricsCollectingEurekaHttpClient 用于对请求和响应做统计,比如请求用时,响应返回码统计等。

  • RedirectingEurekaHttpClient 主要处理了重定向。当请求返回 302 时,RedirectingEurekaHttpClient 会根据返回的重定向地址创建新的 JerseyApplicationClient ,然后重试请求。

  • RetryableEurekaHttpClient 实现了重试的逻辑。同时维护了一个 quarantineSet ,执行请求返回失败的 Eureka Server 会被加入其中,然后再寻找下一个可用的 Eureka Server 重试请求。

    quarantineSet 有大小阈值,当超过阈值时,里面的 Eureka Server 会被释放出来,下次重试请求时会再次尝试这些 Eureka Server。这个阈值可以通过配置设置。

    eureka.client.transport.retryableClientQuarantineRefreshPercentage=0.66
    

    默认情况下,当 quarantineSet 里包括超过三分之二的 Eureka Server 时,quarantineSet 会被重置,之前在里面的 Eureka Server 会被重新当作可用的。

    RetryableEurekaHttpClient 整体的工作流程图如下。其中的 currentHttpClient 指的是被 RetryableEurekaHttpClient 装饰的对象。

    img

  • SessionedEurekaHttpClient 装饰了 RetryableEurekaHttpClient 并为其创建一个 session。当 session 时间过后,RetryableEurekaHttpClient 会被重新创建。

    这样做的目的是为了使集群中 Eureka Server 节点的负载尽量平均。假设现在集群里添加了一个新的 Eureka Server 节点,如果创建新 的 client,那么除非发生异常切换,否则现有的 Eureka Client 还是会把请求发到老的 Eureka Server 节点,而新的节点不会收到请求。SessionedEurekaHttpClient 在当前 session 结束创建新 session 时给了 Eureka Client 重新选择 Eureka Server 的机会,能让集群里的 Eureka Client 尽量连接到不同的 Eureka Server。

    session 的时长可以通过配置设置。

    eureka.client.transport.sessionedClientReconnectIntervalSeconds=20 * 60
    

    最终使用的 session 时长会在这个配置值的基础上加上一个随机值,这个随机值的区间是

    [-sessionDuration / 2, sessionDuration / 2]
    

    也就是说默认情况下 session 的时长范围是 10 到 30 分钟。

4.3 获取服务列表

服务调用方在调用其他服务时需要先从 Eureka Server 获取服务列表,但这一过程不需要每次发起调用时都重复。Eureka Client 会在本地维护一份服务列表的缓存,并负责和 Eureka Server 同步来更新缓存。

Eureka Client 在启动会先从 Eureka Server 获取全量的服务列表,并保存到本地。随后 Eureka Client 还要定时获取服务列表来更新本地缓存。更新缓存的时间间隔可以通过配置设置,默认是 30 秒

eureka.client.registryFetchIntervalSeconds=30

由于正常情况下集群中大部分的服务实例信息不会发生变化,所以没有必要每次在更新时都全量拉取服务列表。Eureka Client 在更新服务列表缓存时会优先使用增量更新的方式。

前面介绍服务端原理的时候有介绍过 Eureka Server 会维护一个 recentlyChangedQueue ,里面保存最近一段时间有发生变化的实例,这些信息会在 recentlyChangedQueue 保留一段时间,过期后删除。Eureka Server 返回增量变化信息其实就是读取的 recentlyChangedQueue 的内容。因此使用增量更新的方式需要处理两个问题。

  • 如果 Eureka Client 因为某些原因(比如网络异常)长时间没能获取到增量变更,那么 recentlyChangedQueue 里的内容会被删除,被删除的信息后续 Eureka Client 就再也不能从增量接口获取到了, Eureka Client 本地的缓存因此会丢失更新。此时 Eureka Client 需要重新全量获取服务列表以保持和 Eureka Server 的数据一致。
  • Eureka Client 前后两次获取到的增量信息内容是有可能重复的,Eureka Client 要能处理这种重复的响应。

先看一下 Eureka Client 获取服务列表相关的流程。

img

如果本地缓存为空或者说增量拉取模式关闭,那么会直接获取全量的服务列表。通过配置可以控制是否使用增量拉取模式。

eureka.client.disableDelta=false

Eureka Server 在返回增量信息时还会同时返回 Eureka Server 服务列表的 hashcode 。Eureka Client 更新完本地缓存之后也会计算本地的 hashcode 并和 Eureka Server 返回的比较。如果两者不同,那么说明本地缓存的数据和 Eureka Server 出现差异了,此时 Eureka Client 会再发起全量获取服务列表的请求,以保证本地缓存和 Eureka Server 的一致。这样就解决了第一个问题。另外,每次更新完本地缓存后还会对服务实例列表做随机重排,这样做是为了避免不同的 Eureka Client 都优先使用相同的实例。

Eureka Server 的 recentlyChangedQueue 记录的 Lease 里除了记录实例信息,还标记了增量类型。增量类型有三种: ADDEDMODIFIEDDELETED。分别表示实例的新增、状态变更和删除。Eureka Client 在更新本地缓存时需要根据不同的增量类型做不同的操作。

  • ADDED 有实例新增时,Eureka Client 需要先根据实例 ID 判断本地缓存是否有该实例。如果没有那么直接添加,如果已经有了那就用新返回的实例信息更新缓存。
  • MODIFIED 有实例更新时的操作和实例新增类似,即根据实例 ID 查找本地缓存,无则新增,有则更新。
  • DELETED 有实例被删除时,Eureka Client 只需要从本地缓存里把 ID 相同的实例删除即可。

因为每个服务实例都有唯一的实例 ID 标识,Eureka Client 的这些操作可以做到幂等的。因此就算增量接口返回相同的数据,Eureka Client 也能够正确处理。

在集群稳定的情况下,Eureka Client 使用增量的方式更新缓存可以节省带宽和加快更新效率,一般情况下都建议使用增量更新。

最后 Eureka 整体核心模块的交互过程如下图。

img

5 其他方案

除了 Eureka 之外,还有一些比较常见的可以用于服务发现的方案。

  • Zookeeper/etcd:这两者本身都是一个分布式 K/V 存储系统,但是可以用来作为服务注册中心。两者在写入数据之前都会由分布式一致性算法(Zab/Raft)来保证数据一致性,是 CP 系统。
  • Consul/Nacos:这两者都是专门用来做服务发现的,并且除了服务发现之外还提供其他功能,比如配置管理等。其中 Consul 也是一个 CP 系统,而 Nacos 可由用户选择 AP 或 CP 模式。

与这些方案相比,Eureka 首先是一个专门为了做服务注册中心而开发的系统,Eureka 没有其他如配置管理等功能。

其次,Eureka 是一个 AP 系统,它不保证数据的强一致,只通过简单的数据同步来保证最终一致性。从可用性角度来看,Eureka 的可用性比其他 CP 系统的可用性更强。我们认为在服务发现的场景下,Eureka 牺牲数据一致性来保证更高的可用性的决定是合理的。

为了对比两种系统在异常发生时的行为,考虑下面场景。假设我们有三个可用区,每个可用区都有一个服务发现中心的节点。

img

当发生网络分隔,可用区 C 和 A、B 都无法连接时,如果这个服务发现中心是 CP 的(如 Zookeeper),那么可用区 C 的节点将会拒绝写请求。此时 C 区的新实例将无法注册,最终会导致 C 区的其他实例无法调用新实例,尽管 C 区此时各个服务都是正常的。

如果使用的是 Eureka,那么这种情况下 C 区的实例相互之间依然能正常调用,因为 Eureka Server 集群就算没能连上大多数节点也能正常处理读写请求。

另一种极端情况是当超过半数的节点故障时,CP 系统也会无法处理写请求,新实例无法注册。但 Eureka Server 集群只要还有一个节点存活,就能正常提供服务,配合 Eureka Client 的重试机制,最终所有 Eureka Client 都会切换到存活的 Eureka Server 上,集群的服务发现功能依然正常。

img

当然,AP 系统也会有自己的缺点。Eureka Client 获取到的服务列表并不一定是准确的,有可能包含一些已经不再可用的实例,也可能会少了新注册的实例。包含不可用实例的问题可以通过调用方重试来尝试解决,而少新实例的问题也只会造成现有实例的负载暂时变高。这些问题一般情况下都不如上面的场景造成的影响大。

6 总结

本文介绍了服务注册中心 Eureka 的工作原理,分别从 Eureka Server 和 Eureka Client 两方面详细分析了两者的主要模块和功能。作为一个 AP 系统,Eureka 在 server 和 client 端均采用了缓存,server 端的数据同步也不保证一致性,因此和其他 CP 系统方案相比,Eureka 在发生异常的情况下牺牲了数据一致性,但提高了可用性。

本文链接: https://blog.fintopia.tech/607d1e7ece7094706059f124/

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

相关文章

  1. 程序员必看小说推荐---kalrry

    程序员必看小说推荐---kalrry第一本&#xff1a;《注释》第二本&#xff1a;《脱发》第一本&#xff1a;《注释》 蓝星2022年 亚洲大陆安全屋内 他觉得这代码太简单了&#xff0c;不用写注释&#xff0c;然后就死了&#xff01;工作人员在收拾遗体时发现&#xff0c;面前屏幕显…...

    2024/3/22 11:50:08
  2. 算法--简单动态规划(简单dp)

    简单dp概念状态表示状态计算优化练习题初级动态规划 算法基础系列 概念 动态规划的理解方式有很多&#xff0c;之前也写过一篇博客&#xff0c;点这里 用的是最优子结构的方法&#xff0c;本篇是另一种方法&#xff0c;状态表示和状态计算方法 如图所示 从集合的角度理解 Dp从…...

    2024/3/7 10:19:40
  3. Pulsar基础(七)—Topic常用操作

    topic基本操作 创建Topic 创建一个没有分区的Topic bin/pulsar-admin topics create persistent://tenant/namespace/topic创建一个有分区的Topic bin/pulsar-admin topics create-partitioned-topic persistent://tenant/namespace/topic --partitions 4无论是有分区还是…...

    2024/3/7 10:19:39
  4. 机器学习:推荐算法(基于内容的推荐算法与协同过滤)

    文章目录基于内容的推荐算法协同过滤相似推荐均值归一化基于内容的推荐算法 这个问题的假设是&#xff0c;我们知道我们推荐的内容有若干特征值x(i)x^{(i)}x(i)&#xff0c;且我们也同时知道用户对一些内容的喜欢程度y(i)y^{(i)}y(i)&#xff0c;我们要做的就是预测用户对他/她…...

    2024/3/7 10:19:38
  5. K8S中部署apisix(非ingress)

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 不使用pvc的方式在K8S中部署apisix-gateway 简介 因为公司项目准备重构&#xff0c;现在做技术储备&#xff0c;之前公司项…...

    2024/3/7 10:19:37
  6. 小键盘代替鼠标操作

    一、打开鼠标键的方法 WinR → 输入: control&#xff0c;回车点击 “轻松使用” → “更改鼠标的工作方式”勾选 “启用鼠标键” 二、开启鼠标键的快捷键: Alt Shift NUM Lock 开启鼠标键后&#xff0c;通知区域的鼠标键图标为关闭状态。 三、点击NUM Lock键后&#xff0…...

    2024/3/7 10:19:36
  7. WordPress无名氏全站缓存插件+让你网站快到飞起

    正文: 这是一款所有程序通用的缓存插件&#xff0c;可以将你的网站提升至毫秒级加载速度&#xff0c;不管你是WordPress程序还是其它任何系统都是可以使用的。 ----------我是分割线---------- 下面我就演示一下如何给WordPress程序安装: 第一步&#xff1a;将所有PHP文件上…...

    2024/3/7 10:19:35
  8. AI 智能写情诗、藏头诗

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 一、AI 智能情诗、藏头诗展示 最近使用PyTorch的LSTM训练一个写情诗&#xff08;七言&#xff09;的模型&#xff0c;可以…...

    2024/3/7 10:19:34
  9. 【CV】吴恩达机器学习课程笔记 | 第4章

    本系列文章如果没有特殊说明&#xff0c;正文内容均解释的是文字上方的图片 机器学习 | Coursera 吴恩达机器学习系列课程_bilibili 目录4 多变量线性回归4-1 多特征4-2 多元梯度下降法4-3 多元梯度下降法I——特征缩放缩放归一化4-4 多元梯度下降法演练I——学习率α4-5 特征和…...

    2024/3/4 11:19:11
  10. 客快物流大数据项目(三十三):安装Server和Agent

    安装Server和Agent 一、安装Server服务 yum install -y oracle-j2sdk1.8-1.8.0update181-1.x86_64 yum install -y enterprise-debuginfo-6.2.1-1426065.el7.x86_64 yum install -y cloudera-manager-server-6.2.1-1426065.el7.x86_64 yum install -y cloudera-manager-server…...

    2024/3/4 11:19:09
  11. python操作mongodb数据库-创建数据库与插入数据

    数据库、集合的创建 注意&#xff1a;数据库只有集合创建&#xff0c;集合插入数据后才会被创建&#xff08;不然不会显示&#xff09; # 案例 import pymongomyclient pymongo.MongoClient(mongodb://localhost:27017/) # 连接数据库 dblist1 myclient.list_database_n…...

    2024/3/4 11:19:08
  12. 如何判断字符串为空

    在编写脚本的时候&#xff0c;经常会遇到带参数运行的时候&#xff0c;这个时候不仅要判断参数的内容&#xff0c;为了纠错&#xff0c;还要判断字符串是否为空&#xff0c;可以这么判断。 使用 -z “$STRING" 来判断&#xff0c; 脚本如下 #!/bin/shSTRING if [ -z &quo…...

    2024/3/4 11:19:07
  13. 《OpenSSL3.0学习之十六 提供程序-asym_cipher|CSDN创作打卡》

    &#x1f4d2;博客首页&#xff1a;男星的博客 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ❤️ 期待一起交流&#xff01; &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#xff0c;求告知&#xff0c;多谢&#xff01; &#x…...

    2024/3/7 10:19:33
  14. 何时不使用 Docker:容器无用的情况

    Docker 无疑是过去十年中最具影响力的开发人员技术之一。容器为隔离应用程序、跨物理机扩展它们以及抽象环境之间的差异提供了一种解决方案。 许多采用 Docker 或相邻容器化技术的组织发现它提高了效率并加速了开发过程。不过&#xff0c;Docker 并不能神奇地改进每个系统。在…...

    2024/3/7 10:19:32
  15. Vue ——06、vue-router

    webpack使用 一、说明二、安装vue-router三、vue-router使用————————如觉不错&#xff0c;随手点赞&#xff0c;关注&#xff0c;收藏(*&#xffe3;︶&#xffe3;)&#xff0c;谢谢~~一、说明 学习的时候&#xff0c;尽量的打开官方的文档 Vue Router是Vue.js官方的…...

    2024/3/7 10:19:31
  16. Vue ——07、Vue + ElementUI—— 小demo案例

    Vue ElementUI—— 小demo案例 一、创建工程二、idea开发————————如觉不错&#xff0c;随手点赞&#xff0c;关注&#xff0c;收藏(*&#xffe3;︶&#xffe3;)&#xff0c;谢谢~~一、创建工程 创建一个名为 ve 的工程 命令 vue init webpack ve 安装插件、依赖 …...

    2024/3/7 10:19:30
  17. 电脑显示无网络,刷新DNS解析缓存

    打开任务管理器 → 文件 → 运行新任务输入&#xff1a;cmd&#xff0c;回车输入&#xff1a;ipconfig/flushdns&#xff0c;回车 已成功刷新DNS解析缓存...

    2024/3/7 10:19:29
  18. 【shell脚本】Linux实用小代码,你值得拥有

    循环的方式建立/删除文件夹 建立文件夹 for k in $( seq 1 10 )do mkdir ${k}0 cd ${k}0 cd ..done 删除文件夹 for k in $( seq 44 90 )do rm -r ${k}0done 数值计算 乘法: #!/bin/bash####### 进行数值计算 #########for k in $( seq 1 10 )do echo -ne "…...

    2024/3/7 10:19:28
  19. JAVA的面向对象

    一、封装 1、概念&#xff1a; 将东西包在一起&#xff0c;然后以新的完整形式呈现出来&#xff0c;将方法和字段一起包装到一个单元中&#xff0c;单元以类的形式实现。&#xff08;类似于C语言的结构体&#xff09; 信息隐藏&#xff0c;隐藏对象的实现细节&#xff0c;不让外…...

    2024/3/7 10:19:27
  20. Redis学习;Redis主从复制

    主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点&#xff08;Master/Leader&#xff09;,后者称为从节点&#xff08;Slave/Follower&#xff09;&#xff0c; 数据的复制是单向的&#xff01;只能由主节点复制到从节点&…...

    2024/3/26 15:24:55

最新文章

  1. Codeforces Round 841 (Div. 2) C. Even Subarrays

    题目 思路&#xff1a; #include <bits/stdc.h> using namespace std; #define int long long #define pb push_back #define fi first #define se second #define lson p << 1 #define rson p << 1 | 1 const int maxn 1e6 5, inf 1e9, maxm 4e4 5; co…...

    2024/3/29 5:52:12
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. Zigbee技术在智能农业领域的应用研究

    Zigbee技术在智能农业领域的应用研究 **摘要&#xff1a;**随着现代信息技术的飞速发展&#xff0c;智能农业已成为当今农业发展的新趋势。Zigbee技术作为一种低功耗、低成本的无线通信技术&#xff0c;在智能农业领域具有广泛的应用前景。本文深入分析了Zigbee技术的原理和特…...

    2024/3/28 23:50:51
  4. Unity 布局元素Layout Element

    Layout Element是一种用于控制UI元素在布局组件&#xff08;如Horizontal Layout Group、Vertical Layout Group、Grid Layout Group、Content Size Fitter和Aspect Ratio Fitter&#xff09;中的大小和位置的组件。Layout Element组件可以附加到UI元素上&#xff0c;以便在布局…...

    2024/3/29 1:00:11
  5. 耳目一新的滑块版登录注册界面~

    又到了毕业季&#xff0c;大家做毕设的时候总会参考已有的案例&#xff0c;不过大多产品的样式非常单一雷同。本帖博主给大家分享一个比较别树一帜的登录界面&#xff0c;如下&#xff1a; 如果没有账号&#xff0c;点击“去注册”&#xff0c;则会产生如下的效果&#xff1a; …...

    2024/3/29 1:41:56
  6. 【外汇早评】美通胀数据走低,美元调整

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

    2024/3/27 10:21:24
  7. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/3/24 20:11:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/3/29 2:45:46
  9. 【原油贵金属早评】库存继续增加,油价收跌

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

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

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

    2024/3/29 5:19:52
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

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

    2024/3/28 17:01:12
  12. 【外汇早评】美欲与伊朗重谈协议

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

    2024/3/24 5:55:47
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/3/29 1:13:26
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/3/26 23:04:51
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/3/26 11:20:25
  16. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/3/24 20:11:18
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/3/28 9:10:53
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/3/29 0:49:46
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/3/24 20:11:15
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/3/27 7:12:50
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/3/24 20:11:13
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/3/26 11:21:23
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/3/28 18:26:34
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/3/28 12:42:28
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/3/28 20:09:10
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

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

    2022/11/19 21:17:18
  27. 错误使用 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
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,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
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  45. 如何在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