【TypeScript 4.5】005-第 5 章 函数
【TypeScript 4.5】005-第 5 章 函数
文章目录
- 【TypeScript 4.5】005-第 5 章 函数
- 一、函数类型表达式
- 1、概述
- 函数
- 函数类型表达式
- 2、代码演示
- 代码示例及解释
- 执行结果
- 使用类型别名
- 二、调用签名
- 1、概述
- 说明
- 代码示例
- 2、代码演示
- 代码示例及解释
- 执行结果
- 三、构造签名
- 1、概述
- 说明
- 代码示例
- 2、代码演示
- 代码示例及解释
- 执行结果
- 3、同时使用调用签名和构造签名
- 四、泛型函数
- 1、概述
- 说明
- 代码分析
- 泛型写法
- 调用分析
- 2、代码示例
- 正确写法
- 错误写法
- 另一种错误写法
- 还有一种错误写法
- 3、多个泛型
- 代码示例及解释
- 执行结果
- 五、泛型函数-限制条件
- 1、概述
- 说明
- 代码示例
- 2、代码示例与解释
- 六、泛型函数-使用受限值
- 1、代码分析
- 2、执行分析
- 七、泛型函数-指定类型参数
- 1、概述
- 说明
- 代码示例
- 2、代码演示
- 八、泛型函数-编写有些通用函数的准则
- 1、三个准则
- 2、代码演示
- 代码示例及解释(1)
- 代码示例及解释(2)
- 代码示例及解释(3)
- 九、函数的可选参数
- 1、概述
- 2、代码分析
- 十、回调中的可选参数
- 1、概述
- 2、代码演示
- 代码示例及解释
- 执行结果
- 十一、函数重载-基本语法
- 1、概述
- 说明
- 代码示例
- 2、代码示例及解释
- 十二、函数重载-重载签名和实现签名
- 1、三个问题
- 2、代码演示
- 参数不正确
- 参数类型不正确*
- 返回类型不正确*
- 十三、函数重载-编写好的重载
- 1、准则
- 2、代码演示
- 出现问题
- 解决问题
- 十四、函数内的 this 声明
- 1、概述
- 说明
- 代码示例
- 2、代码演示
- 老师的写法
- 我的写法*
- 十五、需要了解的其他类型
- 1、void
- 概述
- 代码示例
- 2、object
- 概述
- 3、unknown
- 概述
- 代码示例
- 4、never
- 概述
- 代码示例
- 联合类型无参数的时候
- 5、Function
- 概述
- 代码示例
- 十六、参数展开运算符-形参展开
- 1、概述
- 2、代码示例
- 十七、参数展开运算符-实参展开
- 1、概述
- 说明
- 代码示例
- 2、代码演示
- 代码示例
- 执行结果
- 3、一个问题
- 代码分析
- 解决问题
- 十八、参数解构
- 1、概述
- 2、代码示例
- 十九、返回 void 类型
- 1、概述*
- 2、代码演示
一、函数类型表达式
1、概述
函数
函数是任何应用程序的基本构件
无论是本地函数
还是从模块中导入的函数
或者类上的函数等等
向其他很多值一样
这些函数也是一个值
TypeScript 有很多方法来描述如何调用函数
函数类型表达式
fn: (a: string) => void
2、代码演示
代码示例及解释
// 参数是一个函数
function greeter(fn: (a: string) => void) {fn("hello world!")
}
// 此函数符合 greeter 参数的标准
function printSth(s: string) {console.log(s)
}
// 调用 greeter 传入 printSth 函数
greeter(printSth)
执行结果
PS D:\MyFile\VSCodeProjects\study-ts\第 5 章 函数\dist> node .\01-function.js
hello world!
使用类型别名
两种写法等效,这种写法似乎更优雅一点点!
// 定义一个类型别名
type greeterFuntion = (a: string) => void
// 参数是一个函数
function greeter(fn: greeterFuntion) {fn("hello world!")
}
// 此函数符合 greeter 参数的标准
function printSth(s: string) {console.log(s)
}
// 调用 greeter 传入 printSth 函数
greeter(printSth)
二、调用签名
1、概述
说明
在 JavaScript 除了可调用之外
函数也可以有属性
然而函数类型表达式的语法不允许声明属性
如果我们想用属性来描述可调用的东西
可以在一个对象类型中写一个调用签名
2022.02.08 01:02:20 增补内容:
那么对象类型就像一个函数了!可以像调用函数一样调用对象!
比如:
let message: string = "hello world" message()
,其中的message()
是会报错的!因为 message 没有调用签名!参考下面的代码示例,DescribableFunction 里面有调用签名,调用签名就类似“函数部分”,有了它就可以像调用函数一样调用对象类型!可以使用诸如
message()
的形式进行调用,与调用函数一样!
代码示例
2022.02.08 09:19:02 增补内容:
调用签名实现了什么?实现了使得一个对象像一个函数一样调用!即带上括号,甚至有参数和返回值!
type DescribableFunction = {description: string, // 属性// 下面这行代码叫做【调用签名】(someArg: number): boolean // 函数类型表达式,注意这里使用的是冒号(:),而不是箭头(=>)!
}
2、代码演示
代码示例及解释
type DescribableFunction = {description: string, // 属性(someArg: number): boolean // 函数类型表达式
}
function doSth(fn: DescribableFunction){console.log(fn.description + "returned" + fn(6))
}
function fn1(num: number) {console.log(num)return true
}
// 必须给函数绑定属性,否则下一行会报错!
fn1.description = "hello world"
doSth(fn1)
执行结果
PS D:\MyFile\VSCodeProjects\study-ts\第 5 章 函数\dist> node .\02-sign.js
6
hello worldreturnedtrue
三、构造签名
1、概述
说明
JavaScript 的函数可以用 new 操作符来调用
TypeScript 将这些称之为构造函数
因为它们通常会创建一个新的对象
我们可以通过在调用签名之前加一个 new 关键字来写一个构造签名
代码示例
(s: string): Ctor
这些内容叫做【调用签名!】
// 多一个 new
type SomeConstructor = {new (s: string): Ctor
}
2、代码演示
代码示例及解释
2022.02.08 09:38:09 增补内容:
这里构造签名的参数与类的构造函数对应,具体参考第 8 章:类!
class Ctor {s: stringconstructor(s: string) {this.s = s}
}
type SomeConstructor = {new (s: string): Ctor
}
// SomeConstructor 可以将其理解为一个构造函数
function fn(ctor: SomeConstructor) {return new Ctor("难以理解的代码!")
}
const f = fn(Ctor)
console.log(f.s)
执行结果
PS D:\MyFile\VSCodeProjects\study-ts\第 5 章 函数\dist> node .\03-constructor.js
难以理解的代码!
3、同时使用调用签名和构造签名
type CallOrConstructor = {new (s: string): Date(n?: number): number
}
function fn(date: CallOrConstructor) {let a = new date("2022-2-7")let b = date(100)
}
四、泛型函数
1、概述
说明
在写函数的时候输入的类型与输出的类型常常存在一定关系
我们会使用发泛型来解决
代码分析
此处,函数输入与返回都是any,我们希望函数返回值类型就是数组元素的类型,这就用到了泛型!
function firstElement(arr any[]) {return arr[0]
}
泛型写法
字母 T 是随便写的!T 也就是 Type 的缩写!
function firstElement<T>(arr: T[]): T | undefined {return arr[0]
}
调用分析
const a = firstElement(["a", "b", "c"]) // a 是 string 类型
const b = firstElement([1, 2, 3]) // b 是 number 类型
const c = firstElement([]) // c 是 undefined 类型
2、代码示例
正确写法
function firstElement<T>(arr: T[]): T | undefined {return arr[0]
}
firstElement(["a", "b", "c"])
错误写法
表示我们实现了输入类型与返回类型的一致!
function firstElement<T>(arr: T[]): T | undefined {return 100 // 报错:不能将类型“100”分配给类型“T | undefined”。ts(2322)
}
firstElement(["a", "b", "c"])
另一种错误写法
报错原因:因为 T 类型并不是固定的是 number 类型!
function firstElement<T>(arr: T[]): T | undefined {return 100 // 报错:不能将类型“100”分配给类型“T | undefined”。
}
firstElement([1, 2, 3])
还有一种错误写法
这里的 可以不写,但是如果写了后面的数组元素类型就必须与其一致!
一般不写,TS 自动推断即可!
function firstElement<T>(arr: T[]): T | undefined {return arr[0]
}
firstElement<string>([1, 2, 3]) // 报错:不能将类型“number”分配给类型“string”。
3、多个泛型
代码示例及解释
说明:
- 两个泛型参数 T、Q
- 函数的第一个参数是 T 数组,第二个参数是返回 Q 的函数
- 函数的返回值是 Q 数组
function map<T, Q>(arr: T[], fn: (arg: T) => Q): Q[] {// 此处调用的是数组的 map 方法,里面需要传入一个函数return arr.map(fn)
}
const parsed = map(['1', '2', '3'], n => parseInt(n))
console.log(parsed)
执行结果
PS D:\MyFile\VSCodeProjects\study-ts\第 5 章 函数\dist> node .\04-type.js
[ 1, 2, 3 ]
五、泛型函数-限制条件
1、概述
说明
有时候我们希望一个泛型是某个类型的子集
此时我们就需要对泛型的取值范围进行限制了
这和 Java 不一样
代码示例
T extends { length: number }
这使得 T 一定具有属性 length,且是 number 类型!
function longest<T extends { length: number }>(a: T, b: T) {if (a.length >= b.length) {return a} else {return b}
}
2、代码示例与解释
// 定义函数,要求类型 T 必须具有 length 属性,且是 number 类型
function longest<T extends { length: number }>(a: T, b: T) {if (a.length >= b.length) {return a} else {return b}
}
// 调用测试
const a = longest([1, 2, 3], [4, 5])
const b = longest("hello", "hi")
// const c = longest(1000, 200) // 报错:类型“number”的参数不能赋给类型“{ length: number; }”的参数。
六、泛型函数-使用受限值
1、代码分析
使用通用约束条件时的常见错误!
function minimumLength<T extends { length: number }> (obj: T, minimum: number): T {if (obj.length > minimum) {return obj} else {// 报错:不能将类型“{ length: number; }”分配给类型“T”。// "{ length: number; }" 可赋给 "T" 类型的约束,但可以使用约束 "{ length: number; }" 的其他子类型实例化 "T"。return { length: minimum }}
}
2、执行分析
function minimumLength<T extends { length: number }> (obj: T, minimum: number): T {if (obj.length > minimum) {return obj} else {// 报错:不能将类型“{ length: number; }”分配给类型“T”。// "{ length: number; }" 可赋给 "T" 类型的约束,但可以使用约束 "{ length: number; }" 的其他子类型实例化 "T"。return { length: minimum }}
}
// 测试
const arr = minimumLength([1, 2, 3], 5)
// 执行时报错:arr.slice is not a function
console.log(arr.slice(0))
七、泛型函数-指定类型参数
1、概述
说明
TypeScript 通常可以推断出通用的函数调用中预期的类型参数
但并非总是如此
此时我们需要在调用类型参数的时候指定类型参数
代码示例
const arr = combine<string | number>([1, 2, 3], ["hello"])
2、代码演示
function combine<T>(arr1: T[], arr2: T[]): T[] {return arr1.concat(arr2)
}
const arr1 = combine([1, 2, 3], [4, 5, 6])
// 报错:不能将类型“string”分配给类型“number”。
// 因为此时 ts 将类型推断为数值类型
const arr2 = combine([1, 2, 3], ["hello"])
// 我们可以主动告诉数组的类型为联合类型 string | number
const arr3 = combine<string | number>([1, 2, 3], ["hello"])
八、泛型函数-编写有些通用函数的准则
1、三个准则
- 可能的情况下,使用参数本身,而不是对其进行约束;
- 总是尽可能少得使用类型参数;
- 如果一个类型的参数只出现在一个地方,请重新考虑你是否真的需要它。
2、代码演示
代码示例及解释(1)
可能的情况下,使用参数本身,而不是对其进行约束
// 此写法更规范,推断返回类型为 T
function firstElement1<T>(arr: T[]) {return arr[0]
}
// 推断返回类型为 any
function firstElement2<T extends any[]>(arr: T) {return arr[0]
}
// 调用
const x = firstElement1([1, 2, 3])
const y = firstElement2([1, 2, 3])
// 结论:可能的情况下,使用参数本身,而不是对其进行约束
代码示例及解释(2)
总是尽可能少得使用类型参数
// 写法1
function filter1<T>(arr: T[], func: (arg: T) => boolean) {return arr.filter(func)
}
// 写法2
function filter2<T, Func extends (arg: T) => boolean>(arr: T[], func: Func) {return arr.filter(func)
}
// 评论:第一种写法更好,第二种写法的 Func 除了使得函数更复杂之外,什么也没做!
代码示例及解释(3)
如果一个类型的参数只出现在一个地方,请重新考虑你是否真的需要它
// 完全没必要使用泛型
function greet<Str extends string>(s: Str) {console.log("hello " + s)
}
// 更简洁
function greet1(s: string) {console.log("hello " + s)
}
九、函数的可选参数
1、概述
JavaScript 中的一些函数经常需要一个可变数量的参数
2、代码分析
function f(n: number) {console.log(n.toFixed()) // 0个参数console.log(n.toFixed(3)) // 1个参数
}
// 我们可以在参数后面加一个问号(?)表示该参数是可选的
function fn(n?: number) {} // 此时可传入参数 n ,也可以不传!
// 扩展:默认参数,如果想不传参数也可以设置默认参数,如下:
function fn(n: number = 100) {} // 不传参数的时候 n 的值为 100
十、回调中的可选参数
1、概述
当为回调写一个函数类型时
永远不要写一个可选参数
除非你打算在不传递该参数的情况下调用函数
因为在编写调用回调的函数时容易出错!
2、代码演示
代码示例及解释
// 定义函数,这里的 index 是可选参数!
function myForEach(arr: any[], callback: (arg: any, index?: number) => void){for (let i = 0; i < arr.length; i++) {callback(arr[i], i)}
}
// 调用测试
myForEach([1, 2, 3], a => console.log(a))
myForEach([10, 20, 30], (a, i) => console.log(a, i))
// index 是可选参数,当不传入时
function myForEach1(arr: any[], callback: (arg: any, index?: number) => void){for (let i = 0; i < arr.length; i++) {callback(arr[i])}
}
myForEach1([1, 2, 3], a => console.log(a))
myForEach1([10, 20, 30], (a, i) => console.log(a, i))
执行结果
当回调函数的可选参数未传入时,为 undefined ,可能会导致很多错误!
PS D:\MyFile\VSCodeProjects\study-ts\第 5 章 函数\dist> node .\10-callbacks.js
1
2
3
10 0
20 1
30 2
1
2
3
10 undefined
20 undefined
30 undefined
十一、函数重载-基本语法
1、概述
说明
JavaScript 函数可以在不同参数数量和类型的情况下被调用
在 TypeScript 中我们可以通过编写重载签名
来指定一个可以以不同方式调用的函数
为此,我们通常要写一定数量的函数签名(两个或更多)
代码示例
// 前两个称之为 重载签名
function makeDate(timestamp: number): Date
function makeDate(m: number, d: number, y: number): Date
// 后面一个称之为 实现签名
function makeDate(mOrTimestamp: number, d?: number, y?: number): Date {// ...
}
2、代码示例及解释
function makeDate(timestamp: number): Date
function makeDate(m: number, d: number, y: number): Date
function makeDate(mOrTimestamp: number, d?: number, y?: number): Date {if (d !== undefined && y !== undefined) {return new Date(y, mOrTimestamp, d)} else {return new Date(mOrTimestamp)}
}const d1 = makeDate(12345678)
const d2 = makeDate(2, 9, 2022)
// 报错:没有需要 2 参数的重载,但存在需要 1 或 3 参数的重载。
// 参数是由重载签名决定的,实现签名只是为了适配重载签名,且对外部是隐藏的!
// 所以这里没有能够传两个参数的重载!
const d3 = makeDate(2, 9)
十二、函数重载-重载签名和实现签名
1、三个问题
- 参数不正确
- 参数类型不正确
- 返回类型不正确
2、代码演示
参数不正确
function fn(x: string): void // 重载签名带参数
function fn(){} // 实现签名无参数
// 此处传入参数并不报错,也就再次说明实现签名是隐藏的!
fn("hello")
参数类型不正确*
此处存疑!与老师讲的不同!
function fn(x: boolean): void
function fn(x: string): void
function fn(x: boolean | string) { // 此处只写一个 boolean 或者 string ,老师那里报错,学生们这里正常运行!console.log(typeof x)console.log(x)
}
// 测试
fn("hello")
fn(true)
返回类型不正确*
此处存疑!与老师讲的不同!
返回什么类型的值都可以,我觉得是不合理的,应该手动添加多个重载签名返回值类型的联合类型!
// 老师的这里会报错!学生们的不会!此处是按照学生的写的!
function fn(x: boolean): string
function fn(x: string): boolean
function fn(x: boolean) {if(Math.random() > 0.5){return 1} else {return "111"}
}
console.log(typeof fn("111")) // number (这不是固定的)
console.log(typeof fn(true)) // string (这不是固定的)
十三、函数重载-编写好的重载
1、准则
在可能的情况下
总是倾向于使用联合类型的参数
而不是重载函数
2、代码演示
出现问题
function len(x: string): number
function len(arr: any[]): number
function len(a: any) {return a.length
}len("hello")
len([1, 2, 3])
// 报错了,我们不能传入一个可能是"hello"也可能是数组的参数,这个类型是联合类型 "hello" | number[]
len(Math.random() > 0.5 ? "hello" : [100, 200 ,300])
解决问题
// 解决方法:将函数重载换成联合类型
function len(x: string | any[]) {return a.length
}
len("hello")
len([1, 2, 3])
len(Math.random() > 0.5 ? "hello" : [100, 200 ,300])
十四、函数内的 this 声明
1、概述
说明
TypeScript 会通过代码流分析来推断函数中的 this 应该是什么
代码示例
const user = {id: 123,admin: false,becomeAdmin: function () {// 此处的 this.admin 即指代的是上面的 adminthis.admin = true}
}
// this 作为函数的参数
interface DB {filterUsers(filter: (this: User) => boolean): User[]
}
2、代码演示
老师的写法
此处的 this 完全体现不出来作用!换成其他的也会得到同样的结果!
interface User {admin: boolean
}
// this 作为函数的参数
interface DB {filterUsers(filter: (this: User) => boolean): User[]
}
const db: DB = {filterUsers: (filter: (this: User) => boolean) => {let user1: User = { admin: true }let user2 : User = { admin: true }let user3: User = { admin: false }return [user1, user2, user3]}
}
const admins = db.filterUsers(function(this: User) {return this.admin
})
console.log(admins) // [ { admin: true }, { admin: true }, { admin: false } ]
我的写法*
我没有使用 this ,到底 this 怎么使用,还需要进一步探索!
interface User {admin: boolean,age: number
}
interface DB {filterUsers(filter: (user: User) => boolean): User[]
}
const db: DB = {filterUsers: (filter: (user: User) => boolean) => {let user1: User = { admin: true, age: 25 }let user2 : User = { admin: true, age: 18 }let user3: User = { admin: false, age: 22 }let users: User[] = [user1, user2, user3]let returnUsers: User[] = [];for (let i = 0; i < users.length; i++) {if(filter(users[i])) {returnUsers.push(users[i])}}return returnUsers}
}
const admins = db.filterUsers(function(user: User) {return user.admin && user.age > 20
})console.log(admins) // [ { admin: true, age: 25 } ]
十五、需要了解的其他类型
1、void
概述
表示没有任何返回值的函数的返回值;
代码示例
自动推断返回值为 void
function go () { return } // 有没有 return 无所谓
2、object
概述
object 指的是任何不是基元的值:string、number、bigint、boolean、symbol、null、undefined
不同与 {} 、也不同于 Object
在 JavaScript 中函数值是对象
它们有属性
比如在原型链里有 Object.prototype
是 Object 的一个实例
可以调用 Object.key 等等
TypeScript 也有对应,也就是小写的 object
注意!小写的 object 不是 大写的 Object
在 TS 中始终使用小写的 object
3、unknown
概述
unknown 类型代表任何值
这与 any 类型类似
但更安全
因为对未知 unknown 值做任何使其都是不合法的!
代码示例
function fn1(a: any) {a.x // 正常
}
function fn1(a: unknown) {a.x // 报错:对象的类型为 "unknown"。
}
4、never
概述
never 表示永远不会被观察到的值
代码示例
返回值为 never 的情况:抛出异常;终止执行;死循环。
function fail(msg: string): never {throw new Error(msg)
}
联合类型无参数的时候
function fail(x: string | number) {if (typeof x === "string") {// do sth} else if (typeof x === "number") {// do sth} else {// 此时为 never 类型}
}
5、Function
概述
全局性的 Function 类型描述了诸如 bind、call、apply 和其他存在于 JavaScript 中所有函数值的属性
他还有一个特殊的属性
即 Function 类型的值总是可以被调用
这些调用返回 any
代码示例
返回类型是 any ,一般情况下我们避免这么做,因为 any 作为返回类型是不安全的!
function doSth(f: Function) {return f(1, 2, 3)
}
如果我们需要接受一个任意的函数,而不打算调用它,可以使用箭头函数的方式定义类型
() => void
十六、参数展开运算符-形参展开
1、概述
可选参数和函数重载可以让函数接收各种固定数量的参数
现在我们使用展开运算符来定义函数
可以接收无限数量的参数
2、代码示例
此处的 m 相当于一个数组,所有参数自第二个起被放进这个数组里面!
function multiply(n: number, ...m: number[]) {return m.map((x) => n * x)
}
const arr = multiply(10, 1, 2, 3, 4, 5)
十七、参数展开运算符-实参展开
1、概述
说明
上一节,我们可以把真实的参数合并带形参里
通过展开运算符放到一个变量里
相反,我们也可以将一个数组展开到一个调用函数里
代码示例
const arr100 = [1, 2, 3]
const arr200 = [4, 5, 6]
arr100.push(...arr200)
2、代码演示
代码示例
const arr100 = [1, 2, 3]
const arr200 = [4, 5, 6]
arr100.push(...arr200) // 与下效果相同
arr100.push(7, 8, 9, 10) // 与上效果相同
console.log(arr100)
执行结果
PS D:\MyFile\VSCodeProjects\study-ts\第 5 章 函数\dist> node .\17-spread.js
[1, 2, 3, 4, 5,6, 7, 8, 9, 10
]
3、一个问题
代码分析
const arr100 = [8, 9]
const x = Math.atan2(8, 9) // 没问题
const y = Math.atan2(...arr100) // 报错:扩张参数必须具有元组类型或传递给 rest 参数。
// 此处是因为 Math.atan2() 的参数只能是两个,而 arr100 的元素个数是不确定的
解决问题
关于
as const
参考文章:https://blog.csdn.net/weixin_43263355/article/details/120943605
const arr100 = [8, 9] as const // 将 8 个 9 断言为常量(文字类型)
const x = Math.atan2(...arr100)
十八、参数解构
1、概述
我们可以使用参数重构的方法
将对象实参解压到函数主体的一个或多个局部变量中
2、代码示例
function sum({a, b, c}: {a: number, b: number, c: number}) {console.log(a + b + c)
}
sum({ a: 10, b: 20, c: 30 })
十九、返回 void 类型
1、概述*
函数的 void 返回类型可以产生一些不寻常的行为
这种行为我们看上去确实预期的
返回类型为 void 上下文类型
并不强迫函数不返回任何东西
一个具有 void 返回类型的上下文函数类型(type vf = () => void)
在实现时,可以返回任何其他值,但它会被忽略 问题:但是实际上可以打印出来返回值!
当一个字面的函数定义有一个 void 返回类型时
该函数必须不返回任何东西
2、代码演示
此时出现的必须注意的问题,我的 f1() f2() f3() 打印出来是有结果的!并非被忽略了!
// 情况一
type voidFunc = () => void
// 函数实现写法一
const f1: voidFunc = () => {return "hello"
}
// 函数实现写法二
const f2: voidFunc = () => true
// 函数实现写法三
const f3: voidFunc = function() {return 100
}
// 调用:老师讲的返回值会被忽略,但在我这里却可以正常打印!
console.log(f1()) // hello
console.log(f2()) // true
console.log(f3()) // 100
// 情况二
function go(): void {return "hello" // 报错:不能将类型“string”分配给类型“void”。
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- python 蓝桥杯--数的读法
Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置…...
2024/4/13 9:23:20 - 一条insert引发的undo故障
背景: 某项目现场反映业务有很多超时订单,且数据库主机CPU sys占用异常 处理过程: 阶段1: 查看awr,发现top都是undo相关的等待 查看undo表空间使用情况,发现undo的使用率达到了99.9% select t1.tablespa…...
2024/4/19 14:01:08 - 记录第三次web渗透测试篇『上』
文章目录0x01 信息收集0x02 爆破后台密码0x03 上传webshell0x04 连接webshell0x01 信息收集 利用whois查询目标信息 查询目标IP 进行目录扫描 扫描到后台直接干 对后台测试了错误路径,直接报错了,看看有没有什么有用的信息。 用的think框架 5.0.24。…...
2024/4/13 9:23:35 - SpringBoot定制SpringMV
文章目录介绍定制部分功能addCorsMappings() 跨域addResourceHandlers() 静态资源映射全面接管 Spring MVC介绍 Spring Boot通过WebMvcAutoConfiguration来提供一些默认配置;大多数时候使用默认的配置即可满足要求。但有时可能需要做一些个性化定制,此时…...
2024/4/19 22:25:02 - 基于不同CPU架构静态编译QT及相关问题
最近在编译linux客户端的时候,出现了瓶颈,不同的CPU 操作系统 内核版本等,造成了客户端维护越来越繁琐,为了提高维护效率,降低维护成本,因此决定采用静态编译。因为是年前的了,所以好多编译时…...
2024/4/19 12:08:59 - Mybatis删除用户
1.Dao package com.leo.dao;import com.leo.pojo.User;import java.util.List;public interface UserDao {// 查询全部用户List<User> getUserList();// 根据id查询用户User getUserById(int id);// 增加用户int addUser(User user);// 修改用户int updateUser(User use…...
2024/4/19 14:25:49 - 初学JavaScript,原来如此简单
JavaScript简介 JavaScript简称js,它是一种具有面向对象能力的、解释性的语言。更具体的说它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发往服务器的数据、增加web互动、加强用户体验度等。 JavaScript主要分为三部分…...
2024/4/20 2:42:19 - 2022年2月8号
主要自学了一部分hash和KMP,没有太搞清楚,最后看了看视频,有了一定的理解。 题目描述 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 AB Problem,改用 A-B 了哈哈&am…...
2024/4/13 9:24:00 - IDEA 插件传送门
IDEA值得推荐的20款优秀的插件_新猿一马-CSDN博客_idea插件推荐 超实用的IDEA插件推荐_明明如月的技术博客-CSDN博客_idea好用的插件推荐...
2024/4/25 17:25:53 - buu-CrackRTF
exe文件,输错就直接退出 32位无壳 32位ida看main函数 有两段scanf和两段字符串 逐个分析: (1)、 转为整数型后连接上DBApp sub_40100A()函数处理后于’6E32D0943418C2C33385BC35A1470250DD8923A9’比较 跟进函数 粉色的系统函…...
2024/4/19 10:35:28 - 独属程序员的告白方式?5分钟教会你用代码向女神示爱
文章目录1. 告白贺卡,写下我对你的每一句情话2. 3D旋转相册,我们在一起所有的美好瞬间3. 小熊拉手手,你永远是我的小女孩4. 科技感大片告白,逼格瞬间提升5. 无法拒绝的告白写在最后情人节将至,年度虐汪大戏他又双叒叕来…...
2024/4/8 18:02:32 - Day61
分布式计算框架Map/Reduce 分布式计算框架MapReduce 1、产生背景 Web2.0时代,数据爆炸式、指数级增长,大数据分布式计算需求频繁通过单机内存扩展来增强计算能力,已经无法承载大规模数据量的计算分布式计算开发和维护的复杂与多变…...
2024/4/13 9:24:15 - SQL-3(数据筛选)
数据筛选 演出信息管理 WHERE 子句 ①WHERE 子句:根据WHERE子句中的条件筛选数据 此句根据SLECET...FORM....中使用 ②数值筛选 1. 等于: 2. 不等于:<>(部分 DBMS 也支持 !) 3. 小于:< 4. 小于等于&#x…...
2024/4/13 9:24:15 - 报错error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio“
文章目录问题描述解决方案VisualCppBuildTools_Full.exe(5251)Visual Studio 2015遇到的坑参考文献问题描述 pip install implicit报错 error: Microsoft Visual C 14.0 is required. Get it with “Build Tools for Visual Studio”: https://visualst…...
2024/4/18 12:41:49 - 迅投QMT最低开户门槛
迅投QMT目前史上最低的开通门槛。 开通指定证券, 然后入金30W左右,存放1天时间。 然后就可以开通迅投QMT的交易权限, 开通权限后,资金可以取出不再限制。 使用迅投QMT不收取任何费用,属于券商提供的接口服…...
2024/4/19 0:18:36 - javaweb进阶-JSP基础
JSP基础 一、入门 可以在jsp中使用不同脚本实现不同功能,主要有以下三个脚本 <%%> 脚本区域 跟平时写java代码要求差不多,不可以定义方法 <% %>输出区域 可以输出变量、对象、方法返回值、表达式结果 <%!%> 声明区域 可以定义成…...
2024/4/19 19:52:08 - 深度解析京东个性化推荐系统
深度解析京东个性化推荐系统 一、题记 为了在于挖掘用户潜在购买需求,缩短用户到商品的距离,提升用户的购物体验。 京东个性化推荐发展史 京东推荐的演进史是绚丽多彩的。京东的推荐起步于2012年,当时的推荐产品甚至是基于规则匹配做的。…...
2024/4/13 9:23:50 - 20220209-CTF MISC - wireshark-1--Wireshark工具的使用--搜索关键词
攻防世界- MISC-进阶区-005-wireshark-1 这题在BUUCTF上也有类似的,补充我的做题记录:https://blog.csdn.net/qq_51550750/article/details/122848297 下面阐述这道攻防世界怎么做; 【1】下载附件并解压: 【2】 用Wireshark打开这…...
2024/4/13 9:23:55 - 数据库基本操作
数据库 数据库的基本概念 更加方便的对开发中的数据进行管理之前通过IO流来对数据进行管理 使用字符流每次读取一行数据将读取到的数据封装为对象将多个对象添加到集合中遍历集合,判断对象是否是所找对象找到对象,对其进行修改使用字符流将集合数据写回…...
2024/4/16 15:25:35 - 解决 -bash: nc: command not found
解决 -bash: nc: command not found问题:解决1.方案12.方案23.问题解决遇到问题:1)问题1问题: 解决 1.方案1 yum install -y nc2.方案2 如果方案1报错或其他可以用方案2步骤: (1)yum erase …...
2024/4/13 9:23:50
最新文章
- 【skill】移动云服务器80端口
上个月玩CentOS7,提到alist端口问题,https://www.bilibili.com/read/cv33662501/ 云服务器不能被外网访问的原因 1 云服务器没放行端口 2 防火墙没放行端口 3 配置了端口转发 4 浏览器不支持搭建的网页 5 端口被其他软件占用 移动10086云服务的80端口…...
2024/5/4 4:26:36 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - el-tree组件只有一级节点显示图片,并默认是一张图片,展开时是另外一张图片
<el-tree :data"treeData" :props"defaultProps" show-checkbox :render-content"renderContent" check-change"handleCheckChange" > </el-tree> data数据: treeData: [{ id: …...
2024/5/2 14:17:16 - DDIM,多样性与运行效率之间的trade off
DDPM的重大缺陷在于其在反向扩散的过程中需要逐步从 x t x_t xt倒推到 x 0 x_0 x0,因此其推理速度非常缓慢。相反,DDPM的训练过程是很快的,可以直接根据 x 0 x_0 x0到 x t x_t xt添加的高斯噪声 ϵ \epsilon ϵ完成一次训练。 为了解…...
2024/5/2 19:10:17 - Mybatis--TypeHandler使用手册
TypeHandler使用手册 场景:想保存user时 teacher自动转String ,不想每次保存都要手动去转String;从DB查询出来时,也要自动帮我们转换成Java对象 Teacher Data public class User {private Integer id;private String name;priva…...
2024/5/1 14:21:06 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到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/5/3 23:10:03 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
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/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继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/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含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