如何在 WebSocket 通信中使用 JSON 数据(Java、JavaScript)
背景
在创建聊天应用的基础上,我写了一篇关于服务器和浏览器之间的WebSocket通信的文章。用 Java 实现服务器,用 javascript 实现客户端。
[过去关于套接字通信的文章] ・使用 Java 和 JavaScript与 Web 浏览器进行套接字通信① ・使用 Java 和 JavaScript 与 Web 浏览器进行套接字通信②
这一次,我们将在修改聊天应用程序的同时学习“如何处理 JSON 数据”。您还将了解“通过套接字通信发送和接收 JSON 数据”。
目的
- 了解如何在 Java 和 JavaScript 中处理 JSON。
- 了解如何在 WebSocket 通信中以 JSON 格式发送和接收数据。
- 使用 JSON 实现 WebSocket 通信的多路径。
前提
在本文中,我将主要描述如何处理 JSON。有关套接字通信的说明,请参阅过去的文章和 google 页面。⇒ 用 Java 实现服务器程序,用 JavaScript 实现客户端程序。
什么是 JSON
http://www.tohoho-web.com/ex/json.html 示例:{" name ":" Tanaka "," age ": 26}
以关联数组的形式保存值的事物。简而言之,如果你把它想象成一个**只是一个字符串**,就很容易理解了。(虽然不是真的)细节被省略。
实用内容
- 使用 JavaScript 处理 JSON 数据(编码、解码)
- 在 Java 中处理 JSON 数据(编码、解码)
- 如何在socket通信中发送和接收JSON数据
- 使用 JSON 传输/接收创建多通道聊天应用程序
1. 用 JavaScript 处理 JSON 数据
JSON 数据可以在 JavaScript 中轻松处理。
编码
对象⇒ JSON 使用JSON.stringify ()
方法。
Example of use
var obj = {name: 'Taro',age: 30,area: 'Tokyo'
}
var json = JSON.stringify(obj);
console.log(json);
Execution result
{"name":"Taro Tanaka","age":30}
- 以关联数组的形式为变量“obj”赋值。(创建对象)
- 使用编码
JSON.stringify (obj)
并将其分配给变量json
。(转换为 JSON) - 使用 .在控制台上显示 JSON 数据
console.log (json)
。
查看执行结果,可以看到关联数组格式的对象已经转换为 JSON 格式。⇒键和字符串用“”“括起来。数字保持裸露。
解码
JSON ⇒ 对象 使用JSON.parse ()
方法。
Example of use
var obj1 = {name: 'Taro',age: 30,area: 'Tokyo'}
var json = JSON.stringify(obj1);
//-----JSON data preparation so far-----
var obj2 = JSON.parse(json);
console.log(obj2);
console.log(obj2.name);
Execution result
{name: "Taro", age: 30, area: "Tokyo"}
Taro
- 以关联数组的形式为变量“obj1”赋值。(创建对象)
- 使用编码
JSON.stringify (obj1)
并将其分配给变量json
。(转换为 JSON) ** ---------- 到目前为止 JSON 数据准备(与上一节中的编码相同) ---------- ** - 使用解码
JSON.parse (json)
并将其分配给变量ʻobj2`。(转换为对象) - 使用 显示控制台上的对象
console.log (obj2)
。 - 您还可以使用 `obj2 访问每个属性。~`。
查看执行结果,可以看到 JSON 数据已经转换为对象。`obj1 (object) ⇒
json (JSON) ⇒ ʻobj2
(对象)
2.用Java处理JSON数据
Java 对象指的是类,不像 JavaScript 那样容易创建。在转换 JSON 和对象时,需要提前创建一个类**,该类具有与 JSON 变量对应的属性。
如果您在 Java 中处理 JSON,建议使用外部库。⇒ 处理 JSON 的 Java 标准 API 也是可用的,但需要大量时间和精力。
以下是处理 JSON 的著名外部库。
- 杰克逊
- GSON
- JSONIC --Java 中的 JSON 等。
基本用法类似,但这次我将使用“杰克逊”。有关如何使用其他库以及如何应用外部库的信息,请酌情查看参考页面或 google。
编码
Object ⇒ JSON 使用writeValueAsString ()
ʻObjectMapper` 类的方法进行编码。
how to use
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(Object instance);
Example of use
import java.io.IOException;
import com.fasterxml.jackson.databind.ObjectMapper;//A class with properties to convert to JSON
class Info {public String name = "Taro Tanaka";public int age = 30;
}//Class to perform encoding
public class Main {public static void main(String[] args) {Info info = new Info();//Instantiate a class to convert to JSONObjectMapper mapper = new ObjectMapper();//Create an instance of the ObjectMapper classtry {//writeValueAsString()Encoding by methodString script = mapper.writeValueAsString(info);System.out.println(script);} catch (IOException e) {e.printStackTrace();}}
}
Execution result
{"name":"Taro Tanaka","age":30}
- 在 ʻInfo` 类中创建要转换为 JSON 的属性。
- 创建一个
Main
类来执行编码。 - 使用ʻInfo info = new Info ()` 实例化要转换为 JSON 的对象。
- 实例化`
class with
ObjectMapper ObjectMapper mapper = new ObjectMapper()`。 - 使用 .将对象转换为 JSON
mapper.writeValueAsString (info)
。这时候就需要用try和catch来处理错误了。 - 使用 .将 JSON 数据输出到控制台
System.out.println (script)
。
查看执行结果,可以看到对象类已经转换为 JSON 格式。每个属性的变量名称和值存储为一对。
解码
JSON ⇒ 对象 使用readValue ()
ʻObjectMapper` 类的方法进行解码。
how to use
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(JSON data,Object class.class);
Example of use
import java.io.IOException;
import com.fasterxml.jackson.databind.ObjectMapper;//A class with properties that are converted from JSON
class Info {public String name;public int age;
}//Class to perform decoding
public class Main {public static void main(String[] args) {String script = "{ \"name\":\"Taro Tanaka\", \"age\":30}";//Create JSON data as a stringObjectMapper mapper = new ObjectMapper();//Create an instance of the ObjectMapper classtry {//readValue()Decoding by methodInfo info = mapper.readValue(script, Info.class);System.out.println(info.name);System.out.println(info.age);} catch (IOException e) {e.printStackTrace();}}
}
Execution result
Taro Tanaka
30
- 在 ʻInfo` 类中创建一个具有从 JSON 转换而来的属性的类。
- 创建一个
Main
类来执行解码。 - 这里,JSON数据被准备为String字符串。
- 实例化`
class with
ObjectMapper ObjectMapper mapper = new ObjectMapper()`。 - 使用 .从 JSON 转换为对象
mapper.readValue (script, Info.class)
。这时候就需要用try和catch来处理错误了。 - 使用 .将对象属性输出到控制台
System.out.println (info. ~)
。
查看执行结果,可以看到 JSON 数据已经转换为对象类。解码后,可以通过访问指定对象的每个属性来获取值。
3.socket通信中如何收发JSON数据
服务器程序:Java 客户端程序:JavaScript
描述进行socket通信时用JSON发送和接收的方法。由于 Java 和 JavaScript 的处理方式不同,我们将分别进行解释。
使用 JavaScript 发送和接收 JSON
JavaScript 没有什么特别之处。如上所述,您可以通过JSON.stringify ()
方法和JSON.parse ()
方法轻松地在对象和 JSON 之间进行转换。如果客户端在发送前编码,接收后解码,则没有问题。
传输时的编码
对象⇒ JSON
When sending
var obj = { type:'A' , msg:'a' };
var json = JSON.stringify(obj);
socket.send(json);
- 准备对象。
JSON.stringify ()
使用该方法编码为 JSON 。send ()
使用WebSocket的方法发送JSON数据
接收时解码
JSON ⇒ 对象
When receiving
socket.onmessage = function(e) {var obj = JSON.parse(e.data);
};
- 接收带有 ʻon message` 的 JSON 数据。
- 解码以反对
JSON.parse (e.data)
在 Java 中发送和接收 JSON
当使用 JSON 进行 Java 套接字通信时,它并不像 JavaScript 那样简单。⇒ 需要准备编码器、解码器和对象类。
传输时的编码
对象⇒ JSON
通过套接字通信发送 JSON 数据时,请在发送前使用编码器将对象转换为 JSON。
通常sendText ()
发送文本数据时使用该sendObject ()
方法,但发送JSON时使用该方法。参数是一个对象,由编码器转换为 JSON,然后发送。
- 创建要发送的对象。
- 创建编码器。
- 在 @ServerEndpoint 注解中注册编码器。
1. 创建一个要发送的对象
创建一个具有像普通类一样的属性的类。像往常一样描述构造函数、setter 和 getter。(没有它也可以转换。)
Object class
public class JsonObj {private String type = "type1";private String msg = "msg1";//constructorpublic JsonObj() {}//Setterpublic void setType(String type) {this.type = type;}public void setMsg(String msg) {this.msg = msg;}//Getterpublic String getType() {return type;}public String getMsg() {return msg;}
}
2. 创建编码器
编码器实现了`Encoder.Text class in the
javax.websocket package. (There is also the ʻEncoder.Binary
类,但是因为是处理二进制数据的类所以省略)
ʻEncoder.Text <> `generics 描述了要编码的对象类。
encoder
import javax.websocket.EncodeException;
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonEncoder implements Encoder.Text<JsonObj>{@Override//Initialization does nothingpublic void init(EndpointConfig config) {}@Override//Encoding process(Object → JSON)public String encode(JsonObj obj) throws EncodeException {ObjectMapper mapper = new ObjectMapper();String json = "";try {json = mapper.writeValueAsString(obj);} catch (JsonProcessingException e) {e.printStackTrace();}return json;}@Override//Do nothing to destroypublic void destroy() {}
}
`如果你继承了Encoder.Text`类,你需要重写以下方法。
- `init(EndpointConfig config)`:编码器启动时的处理。
- ʻencode(Object obj)`:编码过程。
destroy ()
: 编码器被破坏时的处理。
基本上 ʻinit() and
destroy() do not have to do anything. In ʻencode (Object)
,将 ** 参数设置为 object ** 并指定 JSON ** 作为编码后的返回值。
3.注册编码器
@ServerEndpoint
//Specify encoder class
@ServerEndpoint(value = "/json" , encoders = JsonEncoder.class)
public class JsonTest {//Omission//sendObject()The argument of is an object//Encoded before sendingsession.getAsyncRemote().sendObject(obj)//Omission
}
使用编码器时,请在 中指定编码器类@ServerEndpoint ()
。通过此处指定,将由发送对象时指定的编码器转换为 JSON 数据。
-- sendObject (obj)
** ⇒ 编码过程 (obj → JSON) ⇒ 发送 **
接收时解码
JSON ⇒ 对象
通过socket通信接收JSON数据时,在接收前使用解码器将JSON转换为对象。
通常,作为`onMessage()`方法的参数作为String类型的字符串接收,但通过使用解码器,在接收之前进行解码处理,并作为对象接收。
- 创建要接收的 JSON 转换目标对象。
- 创建解码器。
- 在 @ServerEndpoint 注释中注册解码器。
1.创建目标对象
解码时,需要准备一个对象类,该对象类具有对应于 JSON 元素的属性。如果接收多个 JSON 时内容和格式不同,则必须为每个 JSON 准备多个对象类。
在编码的情况下,所有对象都可以转换成JSON随时发送,在解码的情况下,需要提前掌握接收到的JSON的内容,并在解码前准备对象类作为接收端口。
Object class
public class JsonObj {private String type;private String msg;//constructorpublic JsonObj() {}//Setterpublic void setType(String type) {this.type = type;}public void setMsg(String msg) {this.msg = msg;}//Getterpublic String getType() {return type;}public String getMsg() {return msg;}
}
2.创建解码器
解码器实现包Decoder.Text
中的类 javax.websocket
。(还有一个Decoder.Binary
类,但是因为是处理二进制数据的类所以省略了。)
在 的泛型中描述解码目的地的对象类Decoder.Text <>
。
Decoder
import javax.websocket.DecodeException;
import javax.websocket.Decoder;
import javax.websocket.EndpointConfig;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonDecoder implements Decoder.Text<JsonObj> {@Override//Initialization does nothingpublic void init(EndpointConfig config) {}@Override//Judgment of whether decoding is possiblepublic boolean willDecode(String text) {return (text != null);}@Override//Decoding process(JSON → object)public JsonObj decode(String text) throws DecodeException {ObjectMapper mapper = new ObjectMapper();JsonObj obj = null;try {obj = mapper.readValue(text, JsonObj.class);} catch (JsonProcessingException e) {e.printStackTrace();}return obj;}@Override//Do nothing to destroypublic void destroy() {}
}
如果继承Decoder.Text
该类,则需要重写以下方法。
- ʻinit(EndpointConfig config)`:解码器启动时的处理。
willDecode (String text)
:判断是否执行解码过程。decode (Object obj)
: 解码过程。destroy ()
: 解码器被破坏时的处理。
基本上ʻinit() and
destroy() do not have to do anything. Set the ** argument of
willDecode() to JSON **, and if the return value is
true , execute the following decoding. If it is
false , it will not be decoded and the subsequent
@OnMessage methods will not be executed. In
decode()`,将**参数设置为JSON **并指定object **作为编码后的返回值。
3.注册解码器
@ServerEndpoint
//Specify decoder class
@ServerEndpoint(value = "/json" , decoders = JsonDecoder.class)
public class JsonTest {//Omission//@Decoded before the OnMessage method@OnMessagepublic void onMessage(JsonObj obj , Session mySession) {}//Omission
}
使用解码器时,请在 中指定解码器类@ServerEndpoint ()
。通过此处指定,将由接收数据时指定的解码器转换为对象。⇒@OnMessage
方法的参数是**对象类型**。(通常是字符串类型)
-** 接收 ⇒ 解码过程(JSON → obj) ⇒ ** @OnMessage
** 方法 **
4.创建一个多通道聊天应用程序
修改Past中创建的聊天应用。
变化点
- 将要发送和接收的数据从文本更改为 JSON(使用 JSON)
- 将聊天字段从 1 增加到 2(实现多次通行证)
在 WebSocket 通信中,只有一个套接字用于接收数据。也就是说,因为是一次性的,所以即使有多个来源也无法区分。如果你能分辨,你必须分解字符串的内容来区分它们。无论如何要解码,处理JSON很方便。
其实接收方式有3种:1.Text 2.Binary 3.PingPong,但是由于我们这里只处理文本格式,所以我们认为只有一个socket。
创建文件
- JsonIndex.html:用于浏览器显示的 HTML 文件
- JsonSocket.js:Socket通信客户端程序
- JsonTest.java:Socket通信服务器程序
- JsonObj.java:与 JSON 相互转换的对象类
- JsonEncoder.java:Java 编码器
- JsonDecoder.java:Java 解码器
1. 用于显示的 HTML
JsonIndex.html
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Send / receive JSON</title><script type="text/javascript" src="JsonSocket.js"></script>
</head>
<body><divstyle="width: 500px; height: 200px; overflow-y: auto; border: 1px solid #333;"id="show1"></div><input type="text" size="80" id="msg1" name="msg1" /><input type="button" value="Send" onclick="sendMsg1();" /><p></p><divstyle="width: 500px; height: 200px; overflow-y: auto; border: 1px solid #333;"id="show2"></div><input type="text" size="80" id="msg2" name="msg2" /><input type="button" value="Send" onclick="sendMsg2();" />
</body>
</html>
观点
- 将聊天字段增加到两个。显示框分别为
show1
和show2
,文本框分别为msg1
和msg2
。使用稍后描述的 JavaScript 文件操作这些。
2.客户端程序
JsonSocket.js
//Object creation for JSON
var obj = { type:null , msg:null };//WebSocket object generation
var wSck= new WebSocket("ws://localhost:8080/jsonTest/json");//Action when connecting socket
wSck.onopen = function() {document.getElementById('show1').innerHTML += "Connected." + "<br/>";document.getElementById('show2').innerHTML += "I'm connected ~" + "<br/>";
};//Action when receiving a message
wSck.onmessage = function(e) {//Decode JSON data into an objectvar json = JSON.parse(e.data);//Change the execution content depending on the type value of JSON dataif(json.type === 'msg1'){document.getElementById('show1').innerHTML += json.msg + "<br/>";}else if(json.type === 'msg2'){document.getElementById('show2').innerHTML += json.msg + "<br/>";}
};//Send message 1
var sendMsg1 = function(val) {var element = document.getElementById('msg1')obj.type = element.name;//Substitute the contents of the objectobj.msg = element.value;var json = JSON.stringify(obj);//Encode object to JSONwSck.send(json);//Send JSONelement.value = "";//Clear the contents
};//Send message 2
var sendMsg2 = function(val) {var element = document.getElementById('msg2');obj.type = element.name;obj.msg = element.value;var json = JSON.stringify(obj);wSck.send(json);element.value = "";
};
观点
- 为 JSON 创建一个对象 ʻobj` ⇒ 这被转换为 JSON。
- 随着聊天字段的增加,在连接套接字时添加了操作。
- 收到消息后,将JSON解码为对象,根据type值改变处理内容。
- 消息传输1、2:给`obj`赋值后,转换成JSON再发送给服务器。
3.服务器程序
JsonTest.java
package jsonTest;import java.io.IOException;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;//Describe the decoder and encoder in the arguments
@ServerEndpoint(value = "/json" , decoders = JsonDecoder.class , encoders = JsonEncoder.class)
public class JsonTest {private static Set<Session> user = new CopyOnWriteArraySet<>();@OnOpenpublic void onOpen(Session mySession) {System.out.println("connect ID:"+mySession.getId());user.add(mySession);}//Decoded before this method@OnMessagepublic void onMessage(JsonObj obj , Session mySession) {for (Session user : user) {user.getAsyncRemote().sendObject(obj);//What you send is an object(Encoded before sending)System.out.println(user.getId()+"Second"+mySession.getId()+"I sent the second message!");}if(obj.getMsg().equals("bye")) {onClose(mySession);}}@OnClosepublic void onClose(Session mySession) {System.out.println("disconnect ID:"+mySession.getId());user.remove(mySession);try {mySession.close();} catch (IOException e) {System.err.println("An error has occurred: " + e);}}
}
观点
- 在 中指定解码器和编码器类
@ServerEndpoint
。 - 当从客户端接收到数据时,会在方法执行之前执行指定的解码器,
@OnMesaage
并将 JSON 转换为对象。⇒@OnMesaage
方法的参数是ʻObj` 类型。 - 使用该
sendObject (obj)
方法发送对象时,会在发送到客户端之前执行指定的编码器,并将对象转换为 JSON。
sendText ()
发送字符串时使用,sendObject ()
发送对象时使用。
4.对象类
JsonObj.java
package jsonTest;public class JsonObj {private String type;private String msg;//constructorpublic JsonObj() {}//Setterpublic void setType(String type) {this.type = type;}public void setMsg(String msg) {this.msg = msg;}//Getterpublic String getType() {return type;}public String getMsg() {return msg;}
}
观点
- 这个类有两个属性,
type
和msg
。⇒ 创建一个对应于客户端程序对象(接收到的 JSON)的类。 - 解码后,通过
type
属性值判断来源。
5.编码器
JsonEncoder.java
package jsonTest;import javax.websocket.EncodeException;
import javax.websocket.Encoder;
import javax.websocket.EndpointConfig;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonEncoder implements Encoder.Text<JsonObj>{@Override//Initialization does nothingpublic void init(EndpointConfig config) {}@Override//Encoding process(Object → JSON)public String encode(JsonObj obj) throws EncodeException {ObjectMapper mapper = new ObjectMapper();String json = "";try {json = mapper.writeValueAsString(obj);} catch (JsonProcessingException e) {e.printStackTrace();}return json;}@Override//Do nothing to destroypublic void destroy() {}
}
观点
- 创建一个实现`Encoder.Text的类`。
- ʻencode()`方法的参数是一个对象,返回值是JSON。
- 使用
writeValueAsString ()
ʻObjectMapper` 类的方法进行编码。
6.解码器
package jsonTest;import javax.websocket.DecodeException;
import javax.websocket.Decoder;
import javax.websocket.EndpointConfig;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JsonDecoder implements Decoder.Text<JsonObj> {@Override//Initialization does nothingpublic void init(EndpointConfig config) {}@Override//Judgment of whether decoding is possiblepublic boolean willDecode(String text) {return (text != null);}@Override//Decoding process(JSON → object)public JsonObj decode(String text) throws DecodeException {ObjectMapper mapper = new ObjectMapper();JsonObj obj = null;try {obj = mapper.readValue(text, JsonObj.class);} catch (JsonProcessingException e) {e.printStackTrace();}return obj;}@Override//Do nothing to destroypublic void destroy() {}
}
观点
- 创建一个实现
Decoder.Text <JsonObj>
. - 该
decode ()
方法的参数是一个字符串(JSON),返回值是一个对象。 - 使用
readValue ()
ʻObjectMapper` 类的方法进行编码。
执行结果
JsonIndex.html
在 Chrome 中 执行。
聊天字段已增加到两个。您可以在每个聊天字段中独立发送和接收。⇒ 多路径的实现完成。
执行顺序
现在它很长,描述客户端和服务器上发生的事情。
- 以 HTML 格式显示页面。
- 握手完成后,套接字通信开始。
- 在文本框中写一条消息,然后单击发送按钮。
- 使用 JavaScript 将对象编码为 JSON 并将其发送到服务器。
- 在服务器上接收 JSON 数据。
- 使用解码器从 JSON 解码为对象。
@OnMessage
以解码的对象作为参数执行该方法。- 使用方法发送对象
sendObject ()
。 - 在发送之前将对象编码为 JSON 并发送给客户端。
- 在客户端接收数据。
- 将 JSON 数据解码为对象。
- 通过
type
属性值确定来源并向每个来源显示一条消息。
其他
改进点
-如果接收到未知的JSON数据,会因为没有准备好对应的对象类而出错。⇒有人支持它,所以我可能会尽快检查它。它看起来相当复杂。
- 接收多种 JSON 数据时不支持。⇒ 好像没那么难。可以通过增加解码器和对象类来支持JSON的内容。
- 不知道应该创建什么样的对象类来支持嵌套的 JSON。⇒ 如果你google,它会出来,如果有必要,检查一下。
- 由于对二进制数据的处理不是很了解,所以不支持二进制数据的发送和接收。⇒必要时检查,例如发送和接收图像。
展示次数
它比我预期的要复杂。我后悔了,因为它变长了。我应该总结得更多。
在Java中处理JSON,使用外部库和准备一个对象类是很麻烦的。使用 JavaScript,它以一行结尾。
Java socket通信中处理JSON时,有编码类和解码类方便吗?必须准备一个编码器类和一个解码器类是很麻烦的。
这很麻烦,但如果你想使用 JSON,你就无能为力了。对如何在 Java 中处理 JSON 有更深入的了解是件好事。看来您可以在个人生产级别使用它。
参考页
-使用 JavaScript编码和解码 JSON 数据 -用Java 编码和解码 JSON 数据(Jackson) -用 Java编码和解码 JSON 数据(Jackson 专业化) -用 Java编码和解码 JSON 数据(Jackson 等人) -发送/接收 JSON in Socket Communication -在 Socket 通信中发送/接收 JSON(多对象)
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 缓存\DB数据一致性
数据库、缓存数据一致性的问题一直是生产中一直存在的,有一些程序直接忽略这个问题,有些自己编写程序去处理。但是还是存在一下问题: 先更新数据库,更新缓存先删除缓存,在更新数据库先更新数据库,在删除缓…...
2024/5/8 12:49:24 - 一场对抗监控的较量,未来网络的隐私基础设施NYM
如果对二级市场不抱希望,可以跟随社区共同了解一级市场 通过降低内容、元数据和加密交易的端到端隐私障碍,Nym 可以启用新的隐私保护服务和应用程序,并扩大隐私保护服务的市场。 关于社区参投NYM,本文针对NYM的应用原理做一个…...
2024/4/16 21:31:32 - 【java学习之路】(javaWeb篇)001.HTML
HTML HTML简介 概述:HTML(HeyperText MarkUp Language)全称称之为超文本标记语言,它是世界上最简单的语言, 在开发的时候我们只需要进行页面布局(利用标签:element) 注意:超文本标记语言&…...
2024/5/8 18:06:53 - 2022年的东南亚跨境市场风口,越南电商市场一定不要错过
东南亚电商目前处在发展的黄金阶段,市场规模正在持续增长,且增长速度十分惊人。而越南作为东南亚国家之一,在这几年来的电商格局经历了巨大的转型,成为了世界上电商发展增速最快的国家之一。 2021年,越南的电商市场增…...
2024/5/8 11:42:04 - Gin:Cookie及二级域名共享Cookie
目录1. 设置 Cookie2. 获取 Cookie3. main.go4. 启动服务5. 二级域名共享 Cookie1. 设置 Cookie c.SetCookie("username", "fisher3652", 3600, "/", "localhost", false, true)第一个参数 key第二个参数 value第三个参数 过期时间&a…...
2024/4/13 9:39:03 - Redis--秒杀的解决方案
原文网址: 简介 本文介绍如何使用Redis完成秒杀功能。 秒杀功能是高并发的典型场景。 整体方案 秒杀之前,将产品的库存从数据库同步到Redis秒杀时,通过lua脚本保证原子性 扣减库存将订单数据写到Redis列表中返回1(表示成功&…...
2024/4/13 9:39:23 - 计算机三级网络技术最全知识点总结【11】
网络管理技术章前导读考点1 : ICMP报文协议类型考点2 : Windows 2003网络管理命令考点3 : SNMP管理模型与配置命令考点4 :网络攻击与漏洞查询考点5 :网络故障查找与排除章前导读 本章重点内容是ICMP报文协议类型、 Windows 2003网络管理命令、SNMP管理模型与配置命令、网络攻击…...
2024/4/13 9:39:28 - Redis--无底洞--含义/原因/解决方案
原文网址: 简介 本文介绍Redis的无底洞,包括:含义、原因、解决方案。 含义 2010年,Facebook的Memcache节点已经达到了3000个,承载着TB级别的缓存数据。但开发和运维人员发现了一个问题,为了满足业务要求添…...
2024/4/20 2:42:19 - SpringBoot连接池druidredis实现缓存处理
一、概要分析 在日常敲代码的过程中,代码繁多以及运行速度慢,为了提高代码运行速度,优化代码性能,将提供一下两种方法来解决 二、集成连接池durid 一、连接池分类 C3P0:是一个开放源代码的JDBC连接池,它在…...
2024/4/5 2:25:52 - 209.长度最小的子数组
文章目录题目难度思路代码题目 Description: 209.长度最小的子数组 Autor: 365JHWZGo Date: 2022-02-09 17:35:19 LastEditors: 365JHWZGo LastEditTime: 2022-02-09 20:10:18 难度 medium 思路 当没有超过target时,r1 当超过或等于target时,l1 代码…...
2024/4/18 19:32:18 - 使用反向代理解决跨域问题
在项目根目录下新建一个webpack的配置文件:vue.config.js。 跨域问题的解决必须在vue.config.js文件中进行配置书写。 代码内容如下 module.exports{devServer:{ // 配置项目的启动服务器open:true, // 设置是否自动打开浏览器host:0.0.0.0, // 设置启动服务器的主…...
2024/4/13 9:39:28 - 软件测试学习心得-3
静态技术一.静态技术与测试过程静态测试和动态测试的区别二.评审正式评审过程角色与职责评审类型三.静态分析和工具支持编译器分析工具规范标准一致性数据流分析控制流分析圈复杂度一.静态技术与测试过程 静态测试不以测试数据的执行而是对测试对象的分析过程静态测试存在于软…...
2024/4/15 22:42:26 - vue兄弟传参
父 子 子...
2024/4/8 17:57:49 - 1019 数字黑洞 (20 分)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174&…...
2024/4/17 18:43:45 - AMR文件怎么存储的
amr是3gpp开发的语音编码规范,初衷是用在3g语音通信,但没想到3g是如此的昙花一现。但是amr被2g、4g都采用了,而且应运而生了amr语音文件,一直很好奇这个语音文件的格式是啥样滴。于是收集网络信息,发现原来amr文件的组…...
2024/4/19 14:08:57 - docker安装DoClever
1、安装 mongodb 服务器# 如果已经存在了,就不需要安装了。 Copy # 拉取 mongo 镜像docker pull mongo# 创建 mongodb 数据保存目录mkdir /var/mongodata# 创建并运行 mongo 容器docker run -p 27017:27017 -v /var/mongodata/configdb:/data/configdb -v ~/mongo…...
2024/4/13 9:40:14 - java使用反射机制实例化对象类
我们正常初始化如User usernew User(),这样的方式为正射,那么有时候无法使用正常的方式进行初始化,就可以用反射的方式。 反射由于对系统的资源占用较大,所以在能不使用就不使用。 例子: 首先创建一个对象类User Da…...
2024/4/19 21:33:06 - 新vue项目应该有的操作部署axios和element-ui
1、使用vue-cli创建项目(vue-router、vuex)。 2、部署axios。 在终端输入 npm install axios --save-dev 在项目的main.js文件中导入Axios并将其部署在Vue实例的 原型下: // 全局加载Axios import axios from axios Vue.prototype.$axiosa…...
2024/4/13 9:40:14 - File的使用
File:是文件和路径名的抽象表示 文件和目录可以通过File封装成对象 File(String pathname) File(String parent,String child) File(File parent,String child)File f1 new File("D:\\Fi…...
2024/4/13 9:39:54 - 填充表数据 —— 2022/2/9
INSERT INTO goods VALUES(0,r510vc 15.6英寸笔记本,笔记本,华硕,3399,DEFAULT,DEFAULT); INSERT INTO goods VALUES(0,y400n 14.0英寸笔记本电脑,笔记本,联想,4999,DEFAULT,DEFAULT); INSERT INTO goods VALUES(0,g150th 15.6英寸游戏本,游戏本,雷神,8499,DEFAULT,DEFAULT); …...
2024/4/13 9:40:04
最新文章
- 应用FMEA打造零风险供应链的关键因素有哪些?
当下,构建零风险的供应链已成为企业竞争的核心要素。其中,FMEA(故障模式与影响分析)作为一种预防性的质量工具,对于识别和消除潜在风险,优化供应链流程至关重要。本文,天行健六西格玛管理培训公…...
2024/5/8 19:34:00 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - 数据库相关知识总结
一、数据库三级模式 三个抽象层次: 1. 视图层:最高层次的抽象,描述整个数据库的某个部分的数据 2. 逻辑层:描述数据库中存储的数据以及这些数据存在的关联 3. 物理层:最低层次的抽象,描述数据在存储器中时如…...
2024/5/1 22:32:35 - Vue ts 如何给 props 中的变量指定特定类型,比如 Interface 类的
Vue ts 如何给 props 中的变量指定特定类型,比如 Interface 类的 我有一个这样的变量值类型 一、在没用 ts 之前的 props 类型指定方式 我们都知道之前在没用 ts 之前的 props 变量值类型指定方式: 如下图,billFood 定义方式是这样的&…...
2024/5/8 4:51:57 - 【JavaScript】如何在npm中切换源以及使用指定源安装依赖
忘不掉的是什么我也不知道 想不起当年模样 看也看不到 去也去不了的地方 也许那老街的腔调是属于我的忧伤 嘴角那点微笑越来越勉强 忘不掉的是什么我也不知道 放不下熟悉片段 回头望一眼 已经很多年的时间 透过手指间看着天 我又回到那老街 靠在你们身边渐行渐远 …...
2024/5/8 13:58:17 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/8 6:01:22 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/7 14:25:14 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/8 19:33:07 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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