Oracle开发者性能课第7课(Join如何工作)实验
概述
本实验参考DevGym中的实验指南。
创建环境
创建表card_deck ,就一张表:
create table card_deck (pk integer,val varchar2(10),suit varchar2(10),damaged varchar2(1),notes varchar2(200)
) pctfree 75;insert into card_deck ( pk, val, suit, damaged, notes )select level,case mod(rownum, 13)+1when 1 then 'Ace'when 11 then 'Jack'when 12 then 'Queen'when 13 then 'King'else to_char(mod(rownum, 13)+1)end case, case ceil(rownum/13)when 1 then 'spades'when 2 then 'clubs'when 3 then 'hearts'when 4 then 'diamonds'end case, casewhen mod ( rownum, 10 ) = 1 then 'Y'else 'N'end damaged, casewhen rownum = 1 then 'SQL is awesome!'else dbms_random.string ( 'a', 200 )end notesfrom dualconnect by level <= 52order by dbms_random.value;commit;-- 结果为6,表示损坏牌的数量
select count(*) from card_deck
where damaged = 'Y';exec dbms_stats.gather_table_stats ( null, 'card_deck', options => 'gather auto' ) ;
查看数据,总共52行,就是1副牌4中花色,但没有大小王:
SELECTpk,val,suit,damaged
FROMcard_deck
ORDER BYsuit,pk;PK VAL SUIT DAMAGED
_____ ________ ___________ __________14 2 clubs N15 3 clubs N16 4 clubs N17 5 clubs N18 6 clubs N19 7 clubs N20 8 clubs N21 9 clubs Y22 10 clubs N23 Jack clubs N24 Queen clubs N25 King clubs N26 Ace clubs N40 2 diamonds N41 3 diamonds Y42 4 diamonds N43 5 diamonds N44 6 diamonds N45 7 diamonds N46 8 diamonds N47 9 diamonds N48 10 diamonds N49 Jack diamonds N50 Queen diamonds N51 King diamonds Y52 Ace diamonds N27 2 hearts N28 3 hearts N29 4 hearts N30 5 hearts N31 6 hearts Y32 7 hearts N33 8 hearts N34 9 hearts N35 10 hearts N36 Jack hearts N37 Queen hearts N38 King hearts N39 Ace hearts N1 2 spades Y2 3 spades N3 4 spades N4 5 spades N5 6 spades N6 7 spades N7 8 spades N8 9 spades N9 10 spades N10 Jack spades N11 Queen spades Y12 King spades N13 Ace spades N52 rows selected.
注意几个术语,deck指一副,suit指花色,有hearts, clubs, diamonds and spades,即红桃,梅花,方片和黑桃。
简介
我们已经知道有3种Join方法:
- Hash Joins
- (Sort) Merge Joins
- Nested Loops
Hash Join(哈希联结)
进行哈希连接的步骤是:
- 返回较小数据集中的所有行
- 使用这些行的联结列构建哈希表
- 读取第二个表(通常是大表)中的行
- 通过对第二个表的联结列应用相同的哈希函数来探测在步骤 2 中构建的哈希表
- 如果在哈希表中找到匹配的条目,则数据库将联结的行传递给执行计划的下一步
通常,小的数据集也称为outer table,dimension table,build端;第二个表则称为inner table,fact table和probe端。
看一个示例,注意执行计划中的HASH JOIN关键字:
select /*+ gather_plan_statistics */count(*)
from card_deck d1
join card_deck d2
on d1.suit = d2.suit
and d1.val = d2.val;COUNT(*)
___________52select * from table(dbms_xplan.display_cursor(format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
______________________________________________________________________________________________
SQL_ID cbf4m3nuqx3yb, child number 0
-------------------------------------
select /*+ gather_plan_statistics */count(*) from card_deck d1 join
card_deck d2 on d1.suit = d2.suit and d1.val = d2.valPlan hash value: 656221691-------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 30 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.01 | 30 |
|* 2 | HASH JOIN | | 1 | 52 | 52 |00:00:00.01 | 30 |
| 3 | TABLE ACCESS FULL| CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
| 4 | TABLE ACCESS FULL| CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
-------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------2 - access("D1"."SUIT"="D2"."SUIT" AND "D1"."VAL"="D2"."VAL")22 rows selected.
只有当联结列为等值查询(例如d1.suit = d2.suit
)时才会考虑哈希联结,在此前提下,优化器在以下情形倾向于选择哈希联结:
- 大数据集 或
- 小表中的大多数行 或
- 两个表的联结列上都没有索引
合并联结
也称为排序合并联结,其算法是:
- 对第一个数据集中的行进行排序
- 对第二个数据集中的行进行排序
- 对于第一个数据集中的每一行,在第二个数据集中找到一个起始行
- 读取第二个数据集,直到在第一个数据集中找到值大于当前行的行(即截止行)
- 读取第一个数据集中的下一行并重复整个过程
例如,注意执行计划中的 MERGE JOIN 关键字:
select /*+ gather_plan_statistics */count(*)
from card_deck d1
join card_deck d2
on d1.suit < d2.suit
and d1.val < d2.val;COUNT(*)
___________468select * from table(dbms_xplan.display_cursor(format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
________________________________________________________________________________________________
SQL_ID 5b61gmfg4zb28, child number 0
-------------------------------------
select /*+ gather_plan_statistics */count(*) from card_deck d1 join
card_deck d2 on d1.suit < d2.suit and d1.val < d2.valPlan hash value: 4075068009---------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 30 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.01 | 30 |
| 2 | MERGE JOIN | | 1 | 468 | 468 |00:00:00.01 | 30 |
| 3 | SORT JOIN | | 1 | 52 | 52 |00:00:00.01 | 15 |
| 4 | TABLE ACCESS FULL | CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
|* 5 | FILTER | | 52 | | 468 |00:00:00.01 | 15 |
|* 6 | SORT JOIN | | 52 | 52 | 1014 |00:00:00.01 | 15 |
| 7 | TABLE ACCESS FULL| CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
---------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------5 - filter("D1"."VAL"<"D2"."VAL")6 - access("D1"."SUIT"<"D2"."SUIT")filter("D1"."SUIT"<"D2"."SUIT")27 rows selected.
请注意,数据库读取第二个表一次(第 7 行 Starts = 1)。但是对第一个表中的每一行运行一次 BUFFER SORT(第 6 行的Starts = 52)。
优化器可以在以下情况下选择合并连接:
- 联结使用范围比较(<、>=、between等)
- 等值联接 (=) 并且其中一个数据集已经排序,从而使数据库能够避免排序
排序很慢,因此优化器很少使用合并连接。
索引是有序的数据结构。因此,如果一个表的联结列上一有索引,优化器可以使用它来避免排序。Oracle 数据库将始终对第二个数据集进行排序,即使在它的联结列上已有索引。
嵌套循环联结
其过程为:
- 从第一个(outer)数据集中读取行
- 对于此中的每一行,查询第二个(inner)数据集以获取匹配行
- 重复直到从外部表读取所有行
例如,注意执行计划中的NESTED LOOPS关键字:
select /*+ gather_plan_statistics */count(*)
from card_deck d1
join card_deck d2
on d1.suit <> d2.suit
and d1.val <> d2.val;COUNT(*)
___________1872select * from table(dbms_xplan.display_cursor(format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
______________________________________________________________________________________________
SQL_ID 021zt1s6h3gvw, child number 0
-------------------------------------
select /*+ gather_plan_statistics */count(*) from card_deck d1 join
card_deck d2 on d1.suit <> d2.suit and d1.val <> d2.valPlan hash value: 1266070232-------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 795 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.01 | 795 |
| 2 | NESTED LOOPS | | 1 | 1872 | 1872 |00:00:00.01 | 795 |
| 3 | TABLE ACCESS FULL| CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
|* 4 | TABLE ACCESS FULL| CARD_DECK | 52 | 36 | 1872 |00:00:00.01 | 780 |
-------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------4 - filter(("D1"."SUIT"<>"D2"."SUIT" AND "D1"."VAL"<>"D2"."VAL"))22 rows selected.
注意每次读取第1张表的一行时,第2张表都需要做52次全表扫描。
优化器可能在以下情况下选择嵌套循环联结:
- 与小数据集联结
- 获取大数据集的一小部分行
- 内表的查询是高效的(例如它的联结列上有索引)
- 所有的联结条件都是不等式(!=)
笛卡尔(Cartesian)合并联结
通常发生在Cross Join(笛卡尔联结)时,例如,注意执行计划中的MERGE JOIN CARTESIAN关键字:
select /*+ gather_plan_statistics */count(*)
from card_deck d1
cross join card_deck d2;COUNT(*)
___________2704
-- 2704是52的平方select * from table(dbms_xplan.display_cursor (format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
________________________________________________________________________________________________
SQL_ID 8jg5afrgunsx9, child number 0
-------------------------------------
select /*+ gather_plan_statistics */count(*) from card_deck d1 cross
join card_deck d2Plan hash value: 1809085648---------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 1 |00:00:00.01 | 30 |
| 1 | SORT AGGREGATE | | 1 | 1 | 1 |00:00:00.01 | 30 |
| 2 | MERGE JOIN CARTESIAN| | 1 | 2704 | 2704 |00:00:00.01 | 30 |
| 3 | TABLE ACCESS FULL | CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
| 4 | BUFFER SORT | | 52 | 52 | 2704 |00:00:00.01 | 15 |
| 5 | TABLE ACCESS FULL | CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
---------------------------------------------------------------------------------------------18 rows selected.
这种联结比较少见,而且通常表示有问题。
Top-N 查询
例如。优化器选择了哈希联结,因为在联结列上没有索引:
select /*+ gather_plan_statistics */ d1.pk, d1.val, d1.suit, d1.damaged
from card_deck d1
join card_deck d2
on d1.suit = d2.suit
and d1.val = d2.val
order by d1.val
fetch first 5 rows only;PK VAL SUIT DAMAGED
_____ ______ ___________ __________9 10 spades N35 10 hearts N22 10 clubs N48 10 diamonds N27 2 hearts Nselect * from table(dbms_xplan.display_cursor (format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
___________________________________________________________________________________________________
SQL_ID bd52xdx1fbpr5, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ d1.pk, d1.val, d1.suit, d1.damaged
from card_deck d1 join card_deck d2 on d1.suit = d2.suit and
d1.val = d2.val order by d1.val fetch first 5 rows onlyPlan hash value: 905561733------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 5 |00:00:00.01 | 30 |
|* 1 | VIEW | | 1 | 5 | 5 |00:00:00.01 | 30 |
|* 2 | WINDOW SORT PUSHED RANK| | 1 | 52 | 5 |00:00:00.01 | 30 |
|* 3 | HASH JOIN | | 1 | 52 | 52 |00:00:00.01 | 30 |
| 4 | TABLE ACCESS FULL | CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
| 5 | TABLE ACCESS FULL | CARD_DECK | 1 | 52 | 52 |00:00:00.01 | 15 |
------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------1 - filter("from$_subquery$_004"."rowlimit_$$_rownumber"<=5)2 - filter(ROW_NUMBER() OVER ( ORDER BY "D1"."VAL")<=5)3 - access("D1"."SUIT"="D2"."SUIT" AND "D1"."VAL"="D2"."VAL")26 rows selected.
由于在联结列上没有索引,这也意味着在从第二个表中读取任何行之前,必须先读取一个表中的所有行(构建哈希表)。
如果在联结列上建立索引:
create index card_val_suit_i on card_deck ( val, suit );
重新查询,这一次选择了嵌套循环联结:
select /*+ gather_plan_statistics */ d1.pk, d1.val, d1.suit, d1.damaged
from card_deck d1
join card_deck d2
on d1.suit = d2.suit
and d1.val = d2.val
order by d1.val
fetch first 5 rows only;PK VAL SUIT DAMAGED
_____ ______ ___________ __________22 10 clubs N48 10 diamonds N35 10 hearts N9 10 spades N14 2 clubs Nselect * from table(dbms_xplan.display_cursor (format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
_______________________________________________________________________________________________________________
SQL_ID bd52xdx1fbpr5, child number 1
-------------------------------------
select /*+ gather_plan_statistics */ d1.pk, d1.val, d1.suit, d1.damaged
from card_deck d1 join card_deck d2 on d1.suit = d2.suit and
d1.val = d2.val order by d1.val fetch first 5 rows onlyPlan hash value: 564418228------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 5 |00:00:00.01 | 10 |
|* 1 | VIEW | | 1 | 5 | 5 |00:00:00.01 | 10 |
|* 2 | WINDOW NOSORT STOPKEY | | 1 | 5 | 5 |00:00:00.01 | 10 |
| 3 | NESTED LOOPS | | 1 | 5 | 5 |00:00:00.01 | 10 |
| 4 | TABLE ACCESS BY INDEX ROWID| CARD_DECK | 1 | 52 | 5 |00:00:00.01 | 7 |
| 5 | INDEX FULL SCAN | CARD_VAL_SUIT_I | 1 | 5 | 5 |00:00:00.01 | 2 |
|* 6 | INDEX RANGE SCAN | CARD_VAL_SUIT_I | 5 | 1 | 5 |00:00:00.01 | 3 |
------------------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------1 - filter("from$_subquery$_004"."rowlimit_$$_rownumber"<=5)2 - filter(ROW_NUMBER() OVER ( ORDER BY "D1"."VAL")<=5)6 - access("D1"."VAL"="D2"."VAL" AND "D1"."SUIT"="D2"."SUIT")27 rows selected.
优化器选择嵌套循环而不是散列连接,因为它知道查询最多返回五行。嵌套循环可以在从外表读取行后立即搜索内表中的行。另外,注意注意执行计划种的A-Rows是5,而非哈希联结中的52。
嵌套循环可以在只读取外部表中的一行后即开始读取内部表中的行。如果内表的查找速度很快,这意味着它可以比哈希联结更快地开始返回行。
这使得嵌套循环成为获取大数据集的一小部分数据的最佳方式。例如,执行 top-N 查询或 master-detail join (订单表到订单项表)。
适应性计划(Adaptive Plans)
适应性计划是指可以在运行时改变执行计划。详见这里。
例如:
select /*+ gather_plan_statistics */*
from card_deck d1
join card_deck d2
on d1.val = d2.val
where d1.notes = 'SQL is awesome!';PK VAL SUIT DAMAGED NOTES PK VAL SUIT DAMAGED NOTES
_____ ______ _________ __________ __________________ _____ ______ ___________ __________ ___________________________________________________________________________________________________________________________________________________________________________________________________________1 2 spades Y SQL is awesome! 14 2 clubs N ReaRscjpOVHYJOmxRlzyvTGZwbAPElRMCcCwPbtYRREmqGsxGjHzUTrNFbhwOBBQxKUZqgWiDEkmazXCKHOZFIZIDjsdcvoPbYLgnOgJnslvTOQQiwVTJbYAtMCSbKyfcwTNODMxzAUYWqYlfOxmWNQVlOzOZepPoEJhRdNiwqsfRxmZbAFxYOANKScniCNoFdGoTmUc 1 2 spades Y SQL is awesome! 40 2 diamonds N MTdBmiDupIuVlvZczeslyoSpCOaPMJbcejoTCHlSNUuCCQBkStcVdTpPhERzrfXTsjpoCKuMynoBFTaVIDkpdRsMoGTumImFEjrFbvwRhRWimPkpHCpUxPggqIipSgRDXfGgOWmpUHYPhcCwJIOjXSmurZuucOUEwcPBmXfcJOkericzRxZqzEyPFBbqlHtRjoQUzhYT 1 2 spades Y SQL is awesome! 27 2 hearts N OXYIRJlcLNOeHoRtboBoAKYxdmOGbYEskzjtNgNyrMSKmMWXNQJKKRjrKnPshpVwMxXUVfsTATymWuUrDYRmqnkvnylvWjvEJpfHrOqOkIxhMEiNLgeYdGrAwJQrOnYKJeuOILFngOTDrTIzfQUApmFGzvzGCOZtmrwVPoBsuybVZAzbZkrDadQIZtUKaehTFQYHIKra 1 2 spades Y SQL is awesome! 1 2 spades Y SQL is awesome! select * from table(dbms_xplan.display_cursor (format => 'IOSTATS LAST'));PLAN_TABLE_OUTPUT
_____________________________________________________________________________________________________________
SQL_ID cp2staqfc9u2r, child number 0
-------------------------------------
select /*+ gather_plan_statistics */* from card_deck d1 join
card_deck d2 on d1.val = d2.val where d1.notes = 'SQL is awesome!'Plan hash value: 747631426----------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
----------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 4 |00:00:00.01 | 21 |
| 1 | NESTED LOOPS | | 1 | 4 | 4 |00:00:00.01 | 21 |
| 2 | NESTED LOOPS | | 1 | 4 | 4 |00:00:00.01 | 17 |
|* 3 | TABLE ACCESS FULL | CARD_DECK | 1 | 1 | 1 |00:00:00.01 | 15 |
|* 4 | INDEX RANGE SCAN | CARD_VAL_SUIT_I | 1 | 4 | 4 |00:00:00.01 | 2 |
| 5 | TABLE ACCESS BY INDEX ROWID| CARD_DECK | 4 | 4 | 4 |00:00:00.01 | 4 |
----------------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------3 - filter("D1"."NOTES"='SQL is awesome!')4 - access("D1"."VAL"="D2"."VAL")Note
------ this is an adaptive plan28 rows selected.
由于表中只有一行存储了“SQL is awesome!”,因此查询使用嵌套循环。
执行计划Note部分表明这是一个适应性计划。
想知道优化器实际的必选过程,可以添加+ADAPTIVE
关键字查看:
select /*+ gather_plan_statistics */*
from card_deck d1
join card_deck d2
on d1.val = d2.val
where d1.notes = 'SQL is awesome!';select * from table(dbms_xplan.display_cursor(format => 'IOSTATS LAST +ADAPTIVE'));PLAN_TABLE_OUTPUT
________________________________________________________________________________________________________________
SQL_ID cp2staqfc9u2r, child number 0
-------------------------------------
select /*+ gather_plan_statistics */* from card_deck d1 join
card_deck d2 on d1.val = d2.val where d1.notes = 'SQL is awesome!'Plan hash value: 747631426-------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 4 |00:00:00.01 | 22 |
|- * 1 | HASH JOIN | | 1 | 4 | 4 |00:00:00.01 | 22 |
| 2 | NESTED LOOPS | | 1 | 4 | 4 |00:00:00.01 | 22 |
| 3 | NESTED LOOPS | | 1 | 4 | 4 |00:00:00.01 | 18 |
|- 4 | STATISTICS COLLECTOR | | 1 | | 1 |00:00:00.01 | 16 |
| * 5 | TABLE ACCESS FULL | CARD_DECK | 1 | 1 | 1 |00:00:00.01 | 16 |
| * 6 | INDEX RANGE SCAN | CARD_VAL_SUIT_I | 1 | 4 | 4 |00:00:00.01 | 2 |
| 7 | TABLE ACCESS BY INDEX ROWID| CARD_DECK | 4 | 4 | 4 |00:00:00.01 | 4 |
|- 8 | TABLE ACCESS FULL | CARD_DECK | 0 | 4 | 0 |00:00:00.01 | 0 |
-------------------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):
---------------------------------------------------1 - access("D1"."VAL"="D2"."VAL")5 - filter("D1"."NOTES"='SQL is awesome!')6 - access("D1"."VAL"="D2"."VAL")Note
------ this is an adaptive plan (rows marked '-' are inactive)32 rows selected.
这与标准执行计划有一些主要区别:
- 该计划同时包括 NESTED LOOPS 和 HASH JOIN 操作
- 计划中第一张表上方有一个STATISTICS COLLECTOR操作
- 减号 (’-’) 出现在计划中的某些步骤之前,表示这些步骤没有被执行。对应的Starts列通常为空或0
选择的依据在于统计收集器(Statistics Collector),此操作监视从其下方的表中输出的行数。如果此数字保持在阈值以下,优化器将使用嵌套循环。否则将切换到哈希联结。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Servlet 获取表单内容 **出现HTTP Status 405 - HTTP method GET is not supported by this URL**
出现HTTP Status 405 - HTTP method GET is not supported by this URL 重新部署一下项目即可完美解决 前提(已经重写好doGet或者doPost方法)...
2024/5/1 22:07:09 - Java学习之路(六十)| (接上文五十九)TCP网络编程
各自努力,最高处见!加油! TCP网络编程socket TCP 网络上传图片服务器端代码客户端代码工具类文件代码netstat指令socket TCP 网络上传图片 服务器端代码 import java.io.FileOutputStream; import java.io.IOException; import java.io.Inpu…...
2024/4/15 19:53:58 - 大数据组件安装准备工作1--在Virtualbox中安装Linux虚拟机
此设置是在Macbook上进行的设置1. Virtualbox虚拟机的网络设置: 点击屏幕左上角的Virtualbox->点击“偏好设置”->"网络",选择“仅主机(Host-Only)网络(H)”,点击右侧添加图标,然后双击添加的内容(我的是vboxnet0)进行查看 我的配置是 主机虚拟网络界面:…...
2024/4/15 19:04:51 - 数据结构作业一:顺序表和链表
1、合并两个顺序表并对其中元素排序 //合并 List mergeList(List A, List B) {List C MakeEmpty();//先把A和B先后一起插入C中for (int i 0; i <A->LastB->Last1; i){int j A->Last 1;if (i > A->Last) //判断A是否…...
2024/4/6 10:39:09 - 解决Pycharm中Django项目 import出错问题
刚开始在同一个目录下import其他文件是爆红的 项目目录 views.py 中的import,发现自己写的retriever.py爆红 查找资料说将根目录设置为源目录,确实不爆红了 但是启动项目时python manage.py runserver,果然没那么简单,报错 …...
2024/5/1 22:53:02 - Javascript进阶知识之BOM
BOM概述 BOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。 那我DOM和BOM的区别是什…...
2024/5/2 1:10:09 - 什么是DDoS攻击,
分布式拒绝服务(DDoS)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。 DDoS 攻击利用多台受损计算机系统作为攻击流量来源以达到攻击效果。利用的机器可以包括计算机ÿ…...
2024/5/2 1:21:54 - 任意位数 整数逆序分解
int x,digit,ret0; scanf("%d",&x);while(x>0) {digitx%10;retret*10digit;x/10; }printf("%d",ret);若是7000,后面是零的数,则只输出digit 得到0007...
2024/4/18 0:23:09 - git 修改历史commit,均已push
目录 一、需求 二、思路 二、修改过程 一、需求 现状:在当前项目下输入 git log 显示如下,共三次commit(三次 commit 都已 push 到远程仓库) 目标:去掉 第一次提交的 "v1:" 和 第二次提交的 "v2:&qu…...
2024/5/2 1:10:43 - 十、不可变类
一、日期类改进 1. SimpleDateFormat 线程不安全 package com.dreamer.multithread.day07;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;public class Demo05 {public static void main(String[] args) {SimpleDateFormat s…...
2024/5/2 2:27:10 - C++学习篇:使用迭代器实现二分法查找
#include <iostream> #include <string> #include <vector> using namespace std;//使用迭代器完成二分搜索 int main() {vector<string> text;auto beg text.begin(), end text.end(); //beg和end是要搜索的范围auto mid text.begin() (e…...
2024/5/1 21:40:36 - 浙江嘉兴造价信息期刊下载方法说明
《嘉兴建设工程造价信息》与《嘉兴建材商情》每月印发。栏目设置有“领导讲话”、“文件转载”、“协会专栏”、“技术经济指标”“专业论坛”、“建设仲裁”、“建材知识”、“合同管理”、“综合报道”、“企业风采”、“价格信息”等栏目,所发布的工程建设人工、材料、机械、…...
2024/5/2 0:22:41 - 抖音直播间弹幕protocbuf分析
免责任声明: 任何可操作性的内容与本文无关,文章内容仅供参考学习,如有侵权, 损害贵公司利益, 请联系作者,会立刻马上进行删除 分析下: 1.protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独…...
2024/5/2 0:25:08 - 基于内存数据库的分布式数据库架构
【摘要】 本文提出了一种通过引入内存数据库层,建立两层多分区分布式数据库架构。此方案用于解决海量高并发系统的数据存储和访问问题,尤其适用于电子商务等数据模型复杂且业务复杂的互联网站。 这些年互联网站发展迅猛,为应对海量数据下的高并发访问,产生了各种分布式架构…...
2024/4/15 20:17:25 - vue模板语法(二)
本期内容需要注意命名的事项: ①、变量定义不能使用中划线 ②、自定义组件命名不能使用驼峰 一、样式绑定 1、 class绑定 使用方式:v-bind:class"expression" expression的类型:字符串、数组、对象 2 、styl…...
2024/5/2 0:22:01 - Java的数据结构与类的介绍
数据结构分为基本数据类型与引用数据类型 基本数据类型有数值型(整数类型:byte,short,int,long 浮点类型 :float,double),字符型(char),布尔型(boolean) (b…...
2024/5/2 0:06:25 - C++运算符重载
文章目录C运算符重载1. 加号运算符()重载代码实现2.左移运算符(cout)重载代码实现3.递增运算符()重载代码实现4.赋值运算符()重载代码实现5.关系运算符()重载代码实现6.函数调用运算符()重载代码实现C运算符重载 运算符重载概念:对已有的运算符重新进行定义&…...
2024/5/1 23:52:05 - 考研数据结构排序算法清单
1.直接插入排序 2.折半插入排序 3.希尔排序 4.冒泡排序 5.快速排序 6.简单选择排序 7.堆排序 8.归并排序 9.基数排序...
2024/4/15 20:59:16 - Source Insight中的多行注释
Source Insight中的多行注释 我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的功能:用快捷键“Ctrl /”来实现“//”的多行注释。 但是在用source insight的时候,发现竟然没有这样的功能。于是在网上搜了一下,sou…...
2024/4/16 18:09:58 - 布局管理--grid
目录grid()主要参数案例:grid布局实现一个简单的计算器界面推荐阅读:sif_666的博客–grid布局参数详解 grid() 将父窗口划分为横竖均匀排列的格子,组件通过行号(row)、列号(column)确定自己的位置 行号相同列号不同的几个组件会被依次上下排…...
2024/4/22 23:26:19
最新文章
- 【Unity动画系统】详解Root Motion动画在Unity中的应用(二)
Root Motion遇到Blend Tree 如果Root Motion动画片段的速度是1.8,那么阈值就要设置为1.8,那么在代码中的参数就可以直接反映出Root Motion的最终移动速度。 Compute Thresholds:根据Root Motion中某些数值自动计算这里的阈值。 Velocity X/…...
2024/5/2 3:04:48 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 【opencv】示例-epipolar_lines.cpp 对极线
这段代码总的功能是使用OpenCV库进行立体视觉的估计。它从命令行读取两个图像文件名,使用SIFT算法检测关键点并计算这些点的描述子,接着通过FLANN库进行快速近似最近邻搜索来找到匹配的关键点。然后使用RANSAC方法计算基础矩阵,找到内点&…...
2024/4/29 23:15:32 - MQ的作用及分类
概念: MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一…...
2024/5/2 2:32:59 - 增加网站搜索引擎排名的6个准则
怎样提高网站排名首页 在竞争激烈的网络世界中,网站的排名对于吸引流量和提升曝光至关重要。登上搜索引擎结果页面的首页,意味着更多的曝光和点击率。以下是一些方法,可以帮助您提高网站在搜索引擎中的排名,让其跻身首页…...
2024/5/1 13:47:30 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/30 18:14:14 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/30 18:21:48 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/30 9:43:22 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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