BerkeleyDB(简称为BDB)是一种以key-value为结构的嵌入式数据库引擎:

  • 嵌入式:bdb提供了一系列应用程序接口(API),调用这些接口很简单,应用程序和bdb所提供的库一起编译/链接成为可执行程序;
  • NOSQL:bdb不支持SQL语言,它对数据的管理很简单,bdb数据库包含若干条记录,每条记录由关键字和数据(key-value)两部分构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言的结构体,bdb对数据类型不做任何解释,完全由程序员自行处理,典型的C语言指针的自由风格;

 

DB的设计思想是简单、小巧、可靠、高性能。如果说一些主流数据库系统是大而全的话,那么DB就可称为小而精。DB提供了一系列应用程序接口(API),调用本身很简单,应用程序和DB所提供的库在一起编译成为可执行程序。这种方式从两方面极大提高了DB的效率。第一:DB库和应用程序运行在同一个地址空间,没有客户端程序和数据库服务器之间昂贵的网络通讯开销,也没有本地主机进程之间的通讯;第二:不需要对SQL代码解码,对数据的访问直截了当。

DB对需要管理的数据看法很简单,DB数据库包含若干条记录,每一个记录由关键字和数据(KEY/VALUE)构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言中结构。DB对数据类型不做任何解释, 完全由程序员自行处理,典型的C语言指针的"自由"风格。如果把记录看成一个有n个字段的表,那么第1个字段为表的主键,第2--n个字段对应了其它数据。DB应用程序通常使用多个DB数据库,从某种意义上看,也就是关系数据库中的多个表。DB库非常紧凑,不超过500K,但可以管理大至256T的数据量。

DB的设计充分体现了UNIX的基于工具的哲学,即若干简单工具的组合可以实现强大的功能。DB的每一个基础功能模块都被设计为独立的,也即意味着其使用领域并不局限于DB本身。例如加锁子系统可以用于非DB应用程序的通用操作,内存共享缓冲池子系统可以用于在内存中基于页面的文件缓冲。

 

BDB可以分为几个子系统:

  • 存储管理子系统 (Storage Subsystem)
  • 内存池管理子系统 (Memory Pool Subsystem)
  • 事务子系统 (Transaction Subsystem)
  • 锁子系统 (Locking Subsystem)
  • 日志子系统 (Logging Subsystem)

BDB的每一个基础功能模块都被设计为独立的,也即意味着其使用领域并不局限于BDB本身,例如加锁子系统可以用于非BDB应用程序的通用操作,内存共享缓冲池子系统可以用于在内存中基于页面的文件缓冲。

 

BDB库的安装方法:从官网下载、解压后执行下面的命令

cd build_unix
../dist/configure
make
make install

DB缺省把库和头文件安装在目录 /usr/local/BerkeleyDB.6.1/ 下,使用下面的命令就可正确编译程序:

gcc test.c  -I/usr/local/BerkeleyDB.6.1/include/ -L/usr/local/BerkeleyDB.6.1/lib/ -ldb -lpthread

 

 

下面是一个BDB API使用的例子:

复制代码

#include <db.h> 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pthread.h>typedef struct customer {int  c_id;char name[10];char address[20];int  age;
} CUSTOMER;/* 数据结构DBT在使用前,应首先初始化,否则编译可通过但运行时报参数错误  */
void init_DBT(DBT * key, DBT * data)
{memset(key, 0, sizeof(DBT));memset(data, 0, sizeof(DBT));
}int main(void)
{DB_ENV *dbenv;DB *dbp;    DBT key, data;int ret = 0;int key_cust_c_id = 1;CUSTOMER cust = {1, "chenqi", "beijing", 30}; /* initialize env handler */if (ret = db_env_create(&dbenv, 0)) { printf("db_env_create ERROR: %s\n", db_strerror(ret));goto failed;}   u_int32_t flags = DB_CREATE | DB_INIT_MPOOL | DB_INIT_CDB | DB_THREAD;;  if (ret = dbenv->open(dbenv, "/data0/bdb_test", flags, 0)) {printf("dbenv->open ERROR: %s\n", db_strerror(ret));goto failed;}   /* initialize db handler */if (ret = db_create(&dbp, dbenv, 0)) {printf("db_create ERROR: %s\n", db_strerror(ret));goto failed;}   flags = DB_CREATE | DB_THREAD;if (ret = dbp->open(dbp, NULL, "single.db", NULL, DB_BTREE, flags, 0664)) {printf("dbp->open ERROR: %s\n", db_strerror(ret));goto failed;}/* write record *//* initialize DBT */init_DBT(&key, &data);key.data = &key_cust_c_id;key.size = sizeof(key_cust_c_id);data.data = &cust;data.size = sizeof(CUSTOMER);if (ret = dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE)) {printf("dbp->put ERROR: %s\n", db_strerror(ret));goto failed;}/* flush to disk */dbp->sync(dbp, 0);/* get record */init_DBT(&key, &data);key.data = &key_cust_c_id;key.size = sizeof(key_cust_c_id);data.flags = DB_DBT_MALLOC;if (ret = dbp->get(dbp, NULL, &key, &data, 0)) {printf("dbp->get ERROR: %s\n", db_strerror(ret));goto failed;}CUSTOMER *info = data.data;printf("id = %d\nname=%s\naddress=%s\nage=%d\n",info->c_id,info->name,info->address,info->age);/* free */free(data.data);if(dbp) {dbp->close(dbp, 0);}if (dbenv) {dbenv->close(dbenv, 0);}return 0;failed:if(dbp) {dbp->close(dbp, 0);}if (dbenv) {dbenv->close(dbenv, 0);}return -1;
}

复制代码

 上面的例子中使用了很多BDB库中的API,在下面会再具体介绍它们。 

 


 

 

访问方法

访问方法对应了数据在硬盘上的存储格式和操作方法。在编写应用程序时,选择合适的算法可能会在运算速度上提高1个甚至多个数量级。大多数数据库都选用B+树算法,DB也不例外,同时还支持HASH算法、Recno算法和Queue算法。接下来,我们将讨论这些算法的特点以及如何根据需要存储数据的特点进行选择。

  1. BTree:有序平衡树结构;
  2. Hash:扩展线性哈希表结构(extended linear hashing);
  3. Queue:由有固定长度的记录组成的队列结构,每个记录使用一个逻辑序列号作为键值,逻辑纪录号由算法本身生成,这和关系型数据库中逻辑主键通常定义为int AUTO型是同一个概念;支持在队尾快速插入,和从队首取出(或删除)记录;并提供记录级别的加锁操作,从而支持对队列的并发访问。
  4. Recno:同时支持固定长度的记录和变长记录,并且提供支持flat text file的永久存储和数据在读时提供一个快速的临时存储空间;

 

说明:

BTree和Hash的key和value都支持任意复杂类型,并且也允许存在key重复的记录;

Queue和Recno的key只能是逻辑序列号,两者基本上都是建立在Btree算法之上,提供存储有序数据的接口。前者的序列号是不可变的,后者的序列号可以是可变,也可以是不变;

可变,指的是当记录被删除或者插入时,编号改变;不变,指的是不管数据库如何操作,编号都不改变。在Queue算法中编号总被不变的。在Recno算法中编号是可变的,即当记录被删除或者插入时,数据库里的其他记录的编号也可能会改变。

另外,Queue的value为定长结构,而Recno的value可以为定长,也可以为变长结构;

 

对算法的选择首先要看关键字的类型,如果为复杂类型,则只能选择BTree或HASH算法,如果关键字为逻辑记录号,则应该选择Recno或Queue算法。

当工作集key有序时,BTree算法比较合适;如果工作集比较大且基本上关键字为随机分布时,选择HASH算法。

Queue算法只能存储定长的记录,在高的并发处理情况下,Queue算法效率较高;如果是其它情况,则选择Recno算法,Recno算法把数据存储为flat text file。

 

Access Method

Description

Choosing Occasion

BTree

关键字有序存储,并且其结构能随数据的插入和删除进行动态调整。为了代码的简单,Berkeley DB没有实现对关键字的前缀码压缩。B+树支持对数据查询、插入、删除的常数级速度。关键字可以为任意的数据结构。

1、 当Key为复杂类型时。

2、 当Key有序时。

Hash

DB中实际使用的是扩展线性HASH算法(extended linear hashing),可以根据HASH表的增长进行适当的调整。关键字可以为任意的数据结构。

1、 当Key为复杂类型。

2、 当数据较大且key随机分布时。

 

Recno

要求每一个记录都有一个逻辑纪录号,逻辑纪录号由算法本身生成。相当于关系数据库中的自动增长字段。Recho建立在B+树算法之上,提供了一个存储有序数据的接口。记录的长度可以为定长或不定长。

1、 当key为逻辑记录号时。

2、 当非高并发的情况下。

Queue

和Recno方式接近, 只不过记录的长度为定长。数据以定长记录方式存储在队列中,插入操作把记录插入到队列的尾部,相比之下插入速度是最快的。

1、当key为逻辑记录号时。

2、定长记录。

3、 高并发的情况下。

 

 

 

 


 

数据结构

数据库环境句柄结构DB_ENV:环境在DB中属于高级特性,本质上看,环境是多个数据库的包装器。当一个或多个数据库在环境中打开后,环境可以为这些数据库提供多种子系统服务,例如多线/进程处理支持、事务处理支持、高性能支持、日志恢复支持等。

数据库句柄结构DB:包含了若干描述数据库属性的参数,如数据库访问方法类型、逻辑页面大小、数据库名称等;同时,DB结构中包含了大量的数据库处理函数指针,大多数形式为 (*dosomething)(DB *, arg1, arg2, …),其中最重要的有open、close、put、get等函数。

数据库记录结构DBT:DB中的记录由关键字和数据构成,关键字和数据都用结构DBT表示。实际上完全可以把关键字看成特殊的数据。结构中最重要的两个字段是 void * data和u_int32_t size,分别对应数据本身和数据的长度。

数据库游标结构DBC:游标(cursor)是数据库应用中常见概念,其本质上就是一个关于特定记录的遍历器。注意到DB支持多重记录(duplicate records),即多条记录有相同关键字,在对多重记录的处理中,使用游标是最容易的方式。

DB中核心数据结构在使用前都要初始化,随后可以调用结构中的函数(指针)完成各种操作,最后必须关闭数据结构。从设计思想的层面上看,这种设计方法是利用面向过程语言实现面对对象编程的一个典范。

 

DB_ENV    *dbenv;           // 环境句柄
DB      *dbp;             // 数据库句柄
DBT     key, value;       // 纪录结构
DBC     *cur;            // 游标结构

 

 

数据库每条记录包含两个DBT结构,一个是key,一个是value。

复制代码

typedef struct {void *data;          // 数据bufu_int32_t size;     // 数据大小u_int32_t ulen;     //u_int32_t dlen;     // 数据长度u_int32_t doff;     // 数据开始处u_int32_t flags;     
} DBT;

复制代码

 

 

 

数据库环境

BDB环境是对一个或多个数据库的封装,环境对应一个目录,数据库对应该目录下面的一个文件。

 

环境支持:

  • 在一个磁盘文件中包含多个数据库;
  • 多进程和多线程支持;
  • 事务处理;
  • 高可用支持(主从库复制);
  • 日志系统(可用于数据库异常恢复);

 

与环境相关的API:

DB_ENV *dbenv;
db_env_create(&dbenv, 0);                     // 创建数据库环境句柄
dbenv->open(dbenv, path, flags, 0);          // 打开数据库环境, path是环境的目录路径, flag参数参考下面介绍
dbenv->close(dbenv, 0);                      // 关闭数据库环境
dbenv->err(dbenv, ret, formart, ...);        // 错误调试

 

打开环境时的flags标志位:

DB_CREATE               // 打开的环境不存在的话就创建它
DB_THREAD               // 支持线程
DB_INIT_MPOOL         // 初始化内存中的cache
DB_INIT_CDB

 

 

BDB 环境的使用例子:

复制代码

/* 定义一个环境变量,并创建 */
DB_ENV *dbenv;
db_env_create(&dbenv, 0);/* 在环境打开之前,可调用形式为dbenv->set_XXX()的若干函数设置环境 *//* 通知DB使用Rijndael加密算法(参考资料>)对数据进行处理 */
dbenv->set_encrypt(dbenv, "encrypt_string", DB_ENCRYPT_AES);/* 设置DB的缓存为5M */
dbenv->set_cachesize(dbenv, 0, 5 * 1024 * 1024, 0);/* 设置DB查找数据库文件的目录 */
dbenv->set_data_dir(dbenv, "/usr/javer/work_db");/* 设置出错时的回调函数 */
dbenv->set_errcall(dbenv, callback);/* 将错误信息写到指定文件 */
dbenv->set_errfile(dbenv, file);/* 打开数据库环境,注意后四个标志分别指示DB启动日志、加锁、缓存、事务处理子系统 */
dbenv->open(dbenv,home,DB_CREATE|DB_INIT_LOG|DB_INIT_LOCK| DB_INIT_MPOOL |DB_INIT_TXN, 0);/* 在环境打开后,则可以打开若干个数据库,所有数据库的处理都在环境的控制和保护中。注意db_create函数的第二个参数是环境变量 */
db_create(&dbp1, dbenv, 0);
dbp1->open(dbp1, ……);
db_create(&dbp2, dbenv, 0);
dbp1->open(dbp2, ……);/* do something with the database */
/* 最后首先关闭打开的数据库,再关闭环境 */
dbp2->close(dbp2, 0);
dbp1->close(dbp1, 0);
dbenv->close(dbenv, 0);

复制代码

 

 

 

数据库操作

DB数据库是一组K-V记录的集合,key和value都是DBT结构存储的,与数据库操作有关的API:

复制代码

DB* dbp; 
db_create(&dbp, dbenv, 0);                                            // 获取数据库句柄
dbp->open(dbp, NULL, filename, NULL, DB_BTREE, flags, 0);        
dbp->close(&dbp, 0);                                                  // 在关闭数据库前,先关闭所有打开的游标
dbp->sync(dbp, 0)                                                     // 刷新cache,同步到磁盘,close操作会隐含调用该过程
dbp->remove(dbp, filename, NULL, 0)                                 // 移除数据库,不要移除已打开的数据库
dbp->rename(dbp, oldname, NULL, newname, 0)                      // 数据库重命名,不要重命名已打开的数据库dbp->put(dbp, NULL, &key, &data, DB_NOOVERWRITE);              // DB_NOOVERWRITE不允许重写已存在的key
dbp->get(dbp, NULL, &key, &data, flags);                             // 如果存在key重复的记录,只返回第一个,或者使用游标
dbp->del(dbp, NULL, &key, 0);                                        // 删除指定key的记录
dbp->truncate(dbp, NULL, u_int32_t* count, 0);                      // 删除所有记录,count中返回被删除的记录个数
dbp->get_open_flags(dbp, &open_flags);                             // 获取打开的flags,仅对已打开的数据库才有意义
dbp->set_flags(dbp, flags);                                          // 设置打开的flags

复制代码

 

 打开数据库时的flags标志位

DB_CREATE  //如果打开的数据库不存在,就创建它;不指定这个标志,如果数据库不存在,打开失败!
DB_EXC    //与DB_CREATE一起使用,如果打开的数据库已经存在,则打开失败;不存在,则创建它;
DB_RDONLY  //只读的方式打开,随后的任何写操作都会失败;
DB_TRUNCATE  //清空对应的数据库磁盘文件;
DB_DUPSORT   //

  

get方法返回DB_NOTFOUND时表示没有匹配记录,其最后一个参数flags:

DB_GET_BOTH   // get方法默认只匹配key,该flag将返回key和data都匹配的第一条记录
DB_MULTIPLE   // get方法默认只返回匹配的第一条记录,该flag返回所有匹配记录

 

使用get方法时,data参数是DBT结构,该DBT的flags参数可以定义为:

DB_DBT_USERMEM       // 使用自己的内存存储检索的data
DB_DBT_MALLOC        // 使用DB分配的内存,用完后要手动free

DB提供的内存对齐方式可能不符合用户数据结构的需求,所以尽量使用我们自己的内存。

用DB_DBT_USERMEM方式改写前面的例子:

复制代码

/* get record */CUSTOMER info;init_DBT(&key, &data);key.data = &key_cust_c_id;key.size = sizeof(key_cust_c_id);data.data = &info;data.ulen = sizeof(CUSTOMER);data.flags = DB_DBT_USERMEM;if (ret = dbp->get(dbp, NULL, &key, &data, 0)) {printf("dbp->get ERROR: %s\n", db_strerror(ret));goto failed;}   printf("id = %d\nname=%s\naddress=%s\nage=%d\n", info.c_id,info.name,info.address,info.age);

复制代码

 

 

 

 

错误处理

DB接口调用成功通常返回0,失败返回非0值,此时可以检查错误码errno;

由系统调用失败引起的错误errno>0,否则errno<0。

db_strerror(errno)                     // 将错误编码映射成一个字符串
dbp->set_errfile(dbp, FILE*)           // 设置错误文件
dbp->set_errcall(dbp, void(*)(const DB_ENV *dbenv, const char* err_pfx, const char* msg))           // 定义错误处理的回调函数
dbp->set_errpfx(dbp, format...)       // 加上错误消息前缀
dbp->err(dbp, ret, format...)        // 生成错误消息,并按优先级发给set_errcall定义的错误处理回调函数、set_errfile定义的文件、stderr;
dbp->errx(dbp, format...)            // 与dbp->err类似,但没有返回值ret这个额外参数

错误消息由一个前缀(由set_errpfx定义)、消息本身(由err或errx定义)和一个换行符组成。

 

 

 


 

游标

如果DB数据库中存在键值相同的多条记录,使用dbp->get()方法默认只能获取一条记录(除非打开DB_MULTIPLE标志),这个时候有必要使用游标(cursor),游标可以迭代DB数据库中的记录。

DBC  *cur;
dbp->cursor(dbp, NULL, &cur, 0);              // 初始化游标对象
cur->close(cur);                              // 关闭游标
cur->get(cur, &key, &data, flags);            // 迭代记录,当没有可迭代的记录时,返回DB_NOTFOUND
cur->put(cur, &key, &data, flags);
cur->del(cur, 0);                             // 删除游标指向的记录

 

cur->get()方法中flags参数的取值:

1、迭代整个数据库中的纪录集合:

DB_NEXT    // 从第一条纪录遍历到最后一条纪录;
DB_PREV    // 逆序遍历,从最后一条纪录开始;

 

 

2、查找符合条件的记录集:

复制代码

DB_SET          // 移动游标到键值等于给定值的第一条纪录;
DB_SET_RANGE      // 如果数据库使用BTREE的算法,移动游标到键值大于或等于给定值的纪录集合;
DB_GET_BOTH      // 移动游标到键值和数据项均等于给定值的第一条记录;
DB_GET_BOTH_RAGNE   // 移动游标到键值等于给定值,数据项大于或等于给定值的纪录集合;DB_NEXT_DUP      // 获取下一个key重复的记录;
DB_PREV_DUP      // 获取上一个key重复的记录;
DB_NEXT_NODUP     // 获取下一个key不重复的记录;
DB_PREV_NODUP    // 获取上一个key不重复的记录;

复制代码

 

 

cur->put()方法中flags参数的取值:

DB_NODUPDATA   // 如果插入的key已存在,返回DB_KEYEXIST,如果不存在,则记录的插入顺序由其在数据库的插入顺序决定;
DB_KEYFIRST    // 在key重复的集合里面放在第一个位置;
DB_KEYLAST    // 在key重复的集合里面放在最后一个位置;
DB_CURRENT    // replace

 

 

 


 

secondary数据库

通常,对DB数据库的检索都是基于key的,如果想通过value(或value的部分信息)来检索数据可以通过secondary database来实现。

如果我们把存放K-V记录的数据库称为 primary database,那么secondary database索引的是其它字段,而对应的value就是primary database的key。从secondary database中读取记录时,DB自动返回primary database中对应的value;

在创建secondary database时需要提供一个callback函数,用来创建key,这个key是根据primary database的key或value生成的。这个callback函数返回0时才允许索引到secondary中,我们可以在callback中返回DB_DONOTINDEX或其它错误码告诉secondary不要索引该记录。

建立secondary database之后,如果在primary database中新增或删除记录,会触发对secondary database的更新。
注意:我们不能直接更新secondary database,任何写secondary database的操作都会失败,secondary database的变更需要通过修改primary database实现。但这里有一个例外,允许在secondary database中删除记录。

 

将secondary绑定到primary database的接口:

primary_dbp->associate(primary_dbp, NULL, second_dbp, key_creator, 0);
int key_creator(DB* dbp, const DBT* pkey, const DBT* pdata, DBT* skey);

 

 

 一个例子:

复制代码

DB *dbp, *sdbp;     /* Primary and secondary DB handles */
u_int32_t flags;    /* Primary database open flags */
int ret;            /* Function return value */typedef struct vendor {char name[MAXFIELD];         /* Vendor name */char street[MAXFIELD];        /* Street name and number */char city[MAXFIELD];         /* City */char state[3];            /* Two-digit US state code */char zipcode[6];           /* US zipcode */char phone_number[13];       /* Vendor phone number */char sales_rep[MAXFIELD];      /* Name of sales representative */char sales_rep_phone[MAXFIELD];  /* Sales rep's phone number */
} VENDOR;/* Primary */
ret = db_create(&dbp, NULL, 0); 
if (ret != 0) {/* Error handling goes here */
}/* Secondary */
ret = db_create(&sdbp, NULL, 0); 
if (ret != 0) {/* Error handling goes here */
}/* Usually we want to support duplicates for secondary databases */
ret = sdbp->set_flags(sdbp, DB_DUPSORT);
if (ret != 0) {/* Error handling goes here */
}/* Database open flags */
flags = DB_CREATE; /* If the database does not exist, create it.*//* open the primary database */
ret = dbp->open(dbp, NULL, "my_db.db", NULL, DB_BTREE, flags, 0); 
if (ret != 0) {/* Error handling goes here */
}/* open the secondary database */
ret = sdbp->open(sdbp, NULL, "my_secdb.db", NULL, DB_BTREE, flags, 0); 
if (ret != 0) {/* Error handling goes here */
}/* Callback used for key creation. Not defined in this example. See the next section. */
int get_sales_rep(DB *sdbp,   /* secondary db handle */const DBT *pkey,    /* primary db record's key */const DBT *pdata,   /* primary db record's data */DBT *skey)       /* secondary db record's key */
{VENDOR *vendor;/* First, extract the structure contained in the primary's data */vendor = pdata->data;/* Now set the secondary key's data to be the representative's name */memset(skey, 0, sizeof(DBT));skey->data = vendor->sales_rep;skey->size = strlen(vendor->sales_rep) + 1;/* Return 0 to indicate that the record can be created/updated. */return (0);
}/* Now associate the secondary to the primary */
dbp->associate(dbp, NULL, sdbp, get_sales_rep, 0);

复制代码

 

 

 

 


页面大小

BDB记录的key和value都是存放在内存页(page)里面,所以页面大小(page size)对数据库性能有很大影响。

对BTree库,page size的理想大小至少是记录大小的4倍。

 

DB* dbp; 
dbp->set_pagesize()          // 设置page size
dbp->stat()                  // 查看page size

 

 

page size的影响:

1、overflow pages

溢出页(overflow pages)是用来存放那些单个page无法存放的kye或value的page。

如果page size设置过低,会产生溢出页,从而影响数据库性能。

 

2、locking

page size对多线程(或多进程)的BDB应用也会产生影响,这是因为BDB使用了page级的加锁(Queue除外)。

通常一个page包含多条记录,如果某个线程正在访问一条记录,则该记录所在的page会被锁住,导致同一个page下面的其他记录也无法被其他线程访问。

如果page size设置过高,会加大锁发生的概率,但page size过小,会导致BTree的深大变大,同样损失性能。

 

3、I/O

DB数据库的页面大小要和文件系统的block size一致;


 

缓存

DB可以将那些经常访问到记录cache 到内存里面,从而加快读写速度。

dbp->set_cachesize(dbp, gbytes, bytes, ncache);         // 通过数据库句柄设置cache大小
dbenv->set_cachesize(dbp, gbytes, bytes, ncache);      // 通过环境句柄设置cache大小(全局)

 

======专注高性能web服务器架构和开发=====

转自https://www.cnblogs.com/chenny7/p/4864547.html

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

相关文章

  1. 15篇文章贯通4级词汇

    星火贯通CET-4四级词汇系列之一A question of rights一项权力问题Unfortunately, a crime was about to committed but at that moment Lesley was unaware of the impending event, which would affect her life so drastically for the next two years.一项犯罪就要得逞了。而…...

    2024/4/14 21:29:04
  2. Java开源软件总汇

    Spring Framework 【Java开源 J2EE框架】Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。然而,这仅仅…...

    2024/4/14 21:29:03
  3. 熊猫烧香 诗词赏析

    <__________________________> 同为程序员,看着这些打油诗,有些杂感 <__________________________>熊猫烧香 诗词赏析 “熊猫烧香”版《菊花台》你的泪光,柔弱中带伤,满屏的熊猫香,删除过往, 熊猫猖狂,点上三根香,是谁在电脑前冰冷的绝望 猫慢慢拜,暗黄色的…...

    2024/4/14 21:29:04
  4. contos 安装php Swoole扩展

    下载地址https://github.com/swoole/swoole-src 如果不知道php安装目录就使用这个命令 find / -name php这个是确认phpize位子下载成功进入源码目录执行下面命令 cd swoole-src-master/先要执行 /usr/local/php/bin/phpize 尽量使用绝对路劲 路劲根据自己的来修改 在执行 ./co…...

    2024/4/24 22:54:12
  5. 五、BDB JE中对序列化对象的存储

    1.首先你需要创建一个可序列化对象 2.打开或创建你的database,你需要两个,一个用来存储你的数据,另外一个用来存储类信息。 3.实例化catalog类,这个时候你可以用com.sleepycat.bind.serial.StoredClassCatalog,来存储 你的类信息。 4.通过com.sleepycat.bind.serial.Serial…...

    2024/4/24 22:54:14
  6. 战火洗礼的友情『博友团真人CS实录』(上)

    周日的上午,北京城阳光明媚大风呼啸,正所谓是“日白风大杀人天”,51CTO博友团的首次集体活动“真人CS”就在今天展开厮杀!9:50 迟到大仙小废物很难得的准时赶到道正天元的门口,居然没有看到一个人影!大风呼呼吹过,小废物四顾心茫然:人咧人咧几十号人咧?忽闻一声大吼:…...

    2024/4/24 22:54:13
  7. tfs2010 还原配置数据错误tf254006解决方法

    前端时间由于换了机器,想把之前的TFS搭建起来,需要把原服务器数据库中的Tfs_Configuration和Tfs_DefaultCollection还原到当前机器上。 配置过程中发生错误:TF254006 解决办法: 用管理员身份运行cmd(Win7操作系统 否则提示无权限之类的) 找到TFS安装目录下的Tools,我的路径…...

    2024/4/24 22:54:09
  8. 清华大学开源软件镜像站

    清华大学开源软件镜像站https://mirrors.tuna.tsinghua.edu.cn/help/pypi/临时使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package注意,simple 不能少, 是 https 而不是 http设为默认修改 ~/.config/pip/pip.conf (Linux), %APPDATA%\pip\pip.ini (Wi…...

    2024/4/24 22:54:11
  9. PHP安装swoole扩展

    个人服务器进行swoole安装 服务器 centos 6.8版本 swoole手册建议PECL安装pecl install swoole执行这个命令之后发现没有pecl这个命令所以只能进行pecl安装yum install php71w-pear php71w-develphp71w这个是因为PHP版本原因 根据个人环境修改然后就可以执行上限的swoole命令了…...

    2024/4/28 1:03:35
  10. [转]vs2008连接tfs2010安装说明

    如果用vs2008链接TFS2010需要安装一些东西,并且不按照顺序安装会出现各种问题,下面是我的安装经验,可以给大家介绍一下。1、安装vs20082、安装VS2008TeamExplorer,记住一定要和上面vs2008的语言版本一样,我走了弯路,vs2008是中文版的,安装的VS2008TeamExplorer是英文版,…...

    2024/4/18 20:58:52
  11. 开源软件常见的七种盈利模式

    法律条款都公开 但律师照样赚钱!医学知识都公开 但医生照样赚钱!软件行业由于其技术的特殊性,软件存在源代码与二进制代码之分,存在编译过程。导致源代码一直成为盈利的一个新卖点。但任何行业都一样,都存在一个发展和变迁的过程。软件行业也是如此。如今开源软件已经在全球…...

    2024/4/14 21:29:15
  12. 闾丘露薇:我的婚姻错在哪

    闾丘露薇:我的婚姻错在哪 中国妇女报 (2005-03-16)  生活在不断地变化,我们两个人也在不断地变化。我们面对的生活的选择越来越多,我们对于人生的看法开始越来越不一样,我们选择的生活的方式也开始不一样。   这个时候,我们两个人没有能够及时地看到这一点,没有能…...

    2024/4/27 22:04:49
  13. php异步多线程swoole用法实例

    摘要:本文实例讲述了php异步多线程swoole用法。分享给大家供大家参考。具体分析如下:swoole重新定义PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务,下面的实例就可以证实这一功能。一般来说,Swoole提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,…...

    2024/4/14 21:29:13
  14. 预防“熊猫烧香”病毒

    最近,一个叫“熊猫烧香”的病毒把电脑用户折腾得苦不堪言,在人们心目中,“熊猫”这个国宝似乎不再可爱,而成了人人喊打的过街老鼠。     “武汉男生”,俗称“熊猫烧香”,这是一个感染型的蠕虫病毒,它能感染系统中exe,com,pif,src,html,asp等文件,它还能中止大…...

    2024/4/14 21:29:12
  15. Berkeley DB in kernel for linux-3.13

    BDB最初开发目的是以新的HASH访问算法来代替旧的hsearch函数和大量的dbm实现。BDB的第一个发行版在1991年出现,当时还包含了B+树数据访问算法。在1992年,BSD UNIX第4.4发行版中包含了DB1.85版。基本上认为这是DB的第一个正式版。在1996年中期,Sleepycat软件公司成立,提供对…...

    2024/4/19 21:01:24
  16. 分享几个免费的开源邮件服务器软件

    由于企业的需要,我们很可能需要架设一个邮件服务器,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件服务器软件。希望你能用得着,有什么问题,欢迎留言啊。hMailServerhmailserver是一个免费的win下的邮件服务器,…...

    2024/4/19 23:12:21
  17. 添加skip-innodb后MySQL启动失败

    在小内存的VPS上,童鞋们(包括我)一般都爱做下所谓的“优化”,其中针对MySQL的优化中,有这样三个参数:skip-innodb / skip-bdb / skip-locking特别是第一个参数,据说打开后很省内存,所以我在安装完MySQL之后就在my.cnf中填上了这三个参数,但很不幸,在随后的service my…...

    2024/4/17 2:40:47
  18. 删除团队项目集合(TFS2010)

    @echo off"D:\Program Files\Microsoft Team Foundation Server 2010\Tools\tfsconfig.exe" collection /delete /collectionName:"2019Projects"pause建个bat文件写入上面内容(记得写上项目集合名),把bat复制到TFS服务器上执行,它会询问你是否要执行,…...

    2024/4/20 6:49:59
  19. window 10 使用 VirtualBox和vagrant 搭建swoole环境

    本文针对在window10下使用 VirtualBox和vagrant 搭建swoole环境的步骤和搭建过程中遇到的问题做一定的讲解:1.系统环境配置修改 2.安装 VirtualBox 3.安装 Vagrant 4.搭建盒子Homestead Box 5.下载 Homestead 管理脚本 6.启动登陆 7.安装swoole1.系统环境修改在进行安装前,系…...

    2024/4/14 21:29:08
  20. 揭露强奸犯的黑客被判有罪?审视CFAA计算机欺诈法

    本来是想客观评论一发的。。 然而 一不小心看到最后的照片。。哼,我不管,Lostutter就是无罪不合理:曝光强奸犯的黑客可能比强奸犯本人面临更多监禁 一条里根时代的网络安全法可以判定Deric Lostutter入狱16年。 一名黑客发现两个男人强暴一个无意识的16岁少女的证据,他揭晓…...

    2024/4/19 14:50:35

最新文章

  1. SOL跟单机器人是什么?

    SOL跟单机器人是什么&#xff1f; 顾名思义&#xff0c;就是对方买什么我们买什么。。 solana跟单机器人&#xff0c;炒土狗新思路 跟聪明地址买入及卖出 1.跟随目标地址买入代币&#xff0c;比目标地址慢1-2秒内上链 2.上链稳定&#xff0c;采用jito路径&#xff0c;防止被夹 …...

    2024/4/28 2:14:20
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 如何用electron(vue)搜索电脑本地wifi

    对于搜索本地 WiFi 网络&#xff0c;可以使用 Electron 结合 Node.js 来编写一个简单的应用程序。 以下是一个基本的示例&#xff0c;它使用 Node.js 的 wifi 模块来搜索并列出附近的 WiFi 网络&#xff1a; 首先&#xff0c;确保你已经安装了 Node.js 和 Electron。 然后&am…...

    2024/4/18 22:04:14
  4. 【Redis】安装Redis后报ERR Client sent AUTH, but no password is set

    一、问题描述 安装Redis后使用auth验证是否安装成功&#xff08;或者其它应用访问redis时报错&#xff09;&#xff0c;报ERR Client sent AUTH, but no password is set 127.0.0.1:6379> auth 123456 (error) ERR Client sent AUTH, but no password is set二、问题解决 …...

    2024/4/25 10:11:11
  5. 微信小程序的页面交互2

    一、自定义属性 &#xff08;1&#xff09;定义&#xff1a; 微信小程序中的自定义属性实际上是由data-前缀加上一个自定义属性名组成。 &#xff08;2&#xff09;如何获取自定义属性的值&#xff1f; 用到target或currentTarget对象的dataset属性可以获取数据 &#xff…...

    2024/4/25 11:41:25
  6. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/26 18:09:39
  7. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/26 20:12:18
  8. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/26 23:05:52
  9. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/4/27 4:00:35
  10. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

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

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

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

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

    2024/4/27 9:01:45
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

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

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

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

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

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

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

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

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

    2024/4/28 1:22:35
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

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

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

    2024/4/25 18:39:00
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/26 19:46:12
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/4/27 11:43:08
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/27 8:32:30
  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