一、 程序总体设计

    程序的主要程序结构由四个类组成,分别是下载线程、统计线程、参数输入对话框和程序主类。下载线程的作用是建立HTTP连接和进行将数据下载到本地文件;统计线程的作用是随时将所有下载线程当前的下载进度输出到程序窗口;参数输入对话框是特意为新建一个下载时输入各项参数时编写的对话框,在其内部进行URL的输入、下载线程数的输入和下载文件的保存位置的输入或者选择;程序主类的作用主要是搭建主要窗口,以及将参数输入的结果、下载进度进行输出,最重要的是控制所有的线程,还有实现对所有控件操作进行响应。这些类的定义如下:

class ThrDownload extends Thread
class ThrCount extends Thread
class MyDialog extends JDialog implements ActionListener
public class Download

       对于所有下载线程的控制方法较为特殊,采用在下载线程中添加下载线程本身的实例数组作为静态数据成员的方式进行统一控制,而下载时的必要参数也都被声明为下载线程的静态数据成员,这样可以在其他类的内部随意通过下载线程类名来访问这些数据成员,以便于统一控制下载线程。

       在程序主窗口中设置了四个按钮,分别是“新建下载”、“继续下载”、“开始”、“暂停”。同时添加一个进度条组件和两个文本编辑框组件进行下载参数或者下载进度的显示,其中进度条专门用来显示下载一个文件总体时的下载进度,用百分比以及进度图形的形式进行显示,第一个文本编辑框会分不同时段显示下载文件的URL或者已经下载的字节数,第个文本编辑框会分不同时段显示下载文件的本地保存位置或者下载速度。程序窗口设计如下:

  •        点击“新建下载”时会打开参数输入对话框,进行所有的参数的输入,输入完成的参数在点击对话框中的确定按钮后会被复制到下载线程的对应参数中。其中保存路径的输入为了方便添加了FileDialog作为输入选择的一种方式,输入完成并且URL合法性检查通过后,将会调用所有下载线程的初始化函数进行初始化,将所有下载线程需要的参数进行赋值,并且尝试进行建立HTTP连接,如果连接失败则在文本框内进行提示,如果成功就初始化输入参数对应的下载线程数量,并且调用其各自的构造函数进行下载线程的初始化,同时为这一次下载初始化一个统计线程。当初始化工作完成后将在两个文本编辑框中进行输出URL和保存路径的提示信息。
  •        点击“继续下载”时,将会弹出一个文件对话框,要求选择需要进行继续下载的配置文件。当选择好配置文件后,将会从选择的文件中读取出所有保存的配置信息,比如URL、下载线程数量、保存路径和各下载线程的已经下载的字节数。之后将用读取出的信息来进行和新建下载中类似的初始化工作,但是此时所有下载线程类的下载开始位置来源是配置文件中读取出的上次结束线程时保存的开始位置,也就是之前已经下载的字节数。
  •        点击“开始”时,将会记录当前开始的时间点,并且启动所有的下载线程进行下载,与此同时启动统计线程,随时将下载进度输出到窗口。在统计线程的线程体中,除了随时输出当前下载的进度外,还需要判断当前是否所有线程都已经自动结束,如果是,那么就需要首先判断当前是否是继续下载,是的话就将配置文件删除。
  •        “暂停”按钮被按下时,检查所有的下载线程,如果还有线程处于活动状态,那么就新建配置文件,将当前各下载线程的下载进度保存到配置文件中,方便下次继续下载,同时将所有的下载线程结束。此时,可以点击窗口关闭按钮结束程序,在下次重新打开程序后,或者直接新建下载,所有参数都和上次一样时,点击开始下载就可以进行继续下载。

 

二、主要数据结构描述

  • 下载线程ThrDownload:

    下载线程本身是一个进行HTTP文件下载的线程,对应的私有数据成员是URL名、输入输出流、下载文件的开始位置start和结束位置end、读写缓冲区和已经下载的字节数等用于统计的参数(已下载字节数分为此次开始下载后的总长度len和对于整个文件来说的已下载长度finish),其线程体的操作是将URL对应文件的start到end位置的数据下载到本地文件对应位置,并且实时更新统计参数。此外,为了方便统一控制所有的下载线程,将下载线程的实例定义在线程类内部,声明为静态参数,所以可以直接通过类名来访问。和下载线程实例一样被定义为静态数据成员的还有需要下载文件的总长度、下载线程数、下载文件的URL、保存文件的路径名、统计线程、当前需要下载的文件是否是继续下载isPart、各下载线程下载的开始位置,这些静态数据成员的作用也是为了方便统一控制所有下载线程。下载线程的构造函数中会从静态参数中读取自己需要的参数,如下载文件的开始位置和结束位置,并且建立其文件读写的接口和HTTPURL连接。所有下载线程的初始化如总体设计中所述,会进行所有下载参数的赋值,并且自动确定所以下载线程的下载开始和结束位置。此外,为了方便在其他类中获取已下载的数据长度,定义了两个分别返回len和finish的参数。

       下载线程中所有的数据成员如下:

    private int no; // 线程号private RandomAccessFile out;private InputStream in; // 输入字节流private URL url; // URLprivate final int start; // 该下载线程下载的文件起始和结束位置private int end;private byte[] b; // 读写缓冲区private int len; // 该下载线程开始下载到现在下载的字节数private int finish; // 该下载线程总下载字节数// 下载线程共享资源public static int file_len = 0; // 需要下载的文件总长度public static int buf_len = 8192; // 缓冲区大小:1MBpublic static int num_thread = 1; // 下载线程数public static String url_name; // 下载文件的url名public static String save_name; // 保存文件名public static ThrDownload[] thr_download; // 下载线程public static ThrCount thr_count; // 统计线程public static boolean isPart = false; // 当前需下载的文件是否已经下载过一部分,默认为否public static int[] start_pos; // 从临时文件读取的各下载线程开始位置
  • 程序主要类Download

       程序主要类中的数据成员主要是主窗口的各个组件,而主要进行的操作就是所有组件的初始化以及添加到主窗口并显示窗口,最重要的是为了所有按钮添加事件监听程序,不同的按钮对应不同的操作,“新建下载”是输入所有参数和初始化下载线程(可能读取配置文件),“继续下载”是打开一个存在的配置文件并且用其中的信息进行下载线程的初始化,“开始”是启动所有下载线程和统计线程,“暂停”是保存当前下载进度到配置文件并且结束所有下载线程。

   

三、主要算法描述

  • 下载线程的线程体:

       用一个整型数据int  L记录从URL文件读取一次数据所读出的字节数,循环读取数据到缓冲区,并将缓冲区中数据保存到本地文件中,同时用L更新该线程已下载数据的进度。如果判断到读取出的字节数为-1,说明该下载线程已经下载完成了需要下载的数据,那么关闭输入输出流。

  • 下载速度和下载进度的计算:

       因为在下载线程中有此次开始下载后已下载的数据长度len和该下载文件总的已下载数据长度finish,并且可以用查询函数获得其值,所以在每次开始下载时记录当前的时间点,然后在之后每隔一段时间获取新的时间点计算出时间间隔,再用所有线程的len之和除以该时间间隔就可以得出下载速度。而下载进度就是将所有线程的finish之和除以下载文件的总大小即可得到。

  • 下载线程的下载开始位置确定

       在下载线程中添加一个标识本次下载是否是继续下载的布尔变量,以及一个用以保存所有下载线程的下载开始位置的数组,该数组只有在当前是继续下载时才会使用。如果当前是第一次下载,那么所有下载线程的开始位置默认都是从头开始,但如果是继续下载那么其开始位置就是从配置中读取出的开始位置,从配置文件中读取出的开始位置首先爆出到先前提到的数组中,然后在下载线程进行初始化时再赋值给每个线程。

  • 配置文件的输入输出:

       当点击了暂停按钮。并且当前仍有下载线程处于运行状态,那么就将当前下载的信息进行保存到配置文件。如果点击了继续下载就打开一个配置文件进行读取下载信息。此外,在统计线程检查到当前已经完成了文件下载时就将对应的存在的配置文件进行删除。

       在保存时,将当前下载的URL、下载线程数量、保存路径和每个下载线程当前已经下载的总数据长度finish保存到配置文件中。URL保存的表项是“URL”,保存路径的表项是“Dir”,下载线程的数量保存表项是“Thr”,而各下载线程的开始位置统一保存在一个名为“Prog”的表项下,每个长度之间用“@”来进行分隔。同样的,在读取时,也是将所有信息按保存时的顺序读取出来,注意读取开始位置是每隔一个“@”读取一个数据,再分别赋值给每个下载线程的已下载总长度finish,并且将其作为开始位置。

 

四、程序测试

进入程序时主界面:

点击新建下载弹出参数输入对话框:

点击保存文件路径旁边的按钮进行文件位置选择:

点击确定后回到主界面:

点击开始后下载进度显示:

点击暂停后界面,以及出现的配置文件:

点击继续下载,选择出现的配置文件,点击开始继续下载:

直到完成下载,并查看下载完成的文件(配置文件已删除):

五、源程序附录

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.text.DecimalFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;//下载线程
class ThrDownload extends Thread {private int no; // 线程号private RandomAccessFile out;private InputStream in; // 输入字节流private URL url; // URLprivate final int start; // 该下载线程下载的文件起始和结束位置private int end;private byte[] b; // 读写缓冲区private int len; // 该下载线程开始下载到现在下载的字节数private int finish; // 该下载线程总下载字节数// 下载线程共享资源public static int file_len = 0; // 需要下载的文件总长度public static int buf_len = 8192; // 缓冲区大小:1MBpublic static int num_thread = 1; // 下载线程数public static String url_name; // 下载文件的url名public static String save_name; // 保存文件名public static ThrDownload[] thr_download; // 下载线程public static ThrCount thr_count; // 统计线程public static boolean isPart = false; // 当前需下载的文件是否已经下载过一部分,默认为否public static int[] start_pos; // 从临时文件读取的各下载线程开始位置// 构造函数public ThrDownload(final int no) {final int block_len = file_len / num_thread; // 计算每个下载线程需要下载的数据长度if (!isPart) // 第一次下载start = block_len * (no - 1); // 该线程下载的数据开始位置else { // 不是第一次下载start = block_len * (no - 1) + start_pos[no - 1];}end = (block_len * no) - 1; // 该线程下载的数据结束位置if (no == num_thread)end = file_len - 1;len = 0; // 当前已下载的字节数初始化finish = start - block_len * (no - 1); // 当前总共下载的字节数try {url = new URL(url_name);final HttpURLConnection con = (HttpURLConnection) url.openConnection();con.setRequestProperty("Range", "byte=" + start + "-" + end);in = con.getInputStream();if (con.getResponseCode() >= 300)new Exception("Http响应问题:" + con.getResponseCode());out = new RandomAccessFile(save_name, "rw");this.no = no;out.seek(start); // 在保存文件中确定保存的位置b = new byte[buf_len]; // 初始化缓冲区} catch (final Exception e) {System.out.println(e.toString());}}// 所有下载线程的初始化函数public static boolean init(final String url_name, final String save_name, final int num_thread) {ThrDownload.url_name = url_name;ThrDownload.save_name = save_name;ThrDownload.num_thread = num_thread;try {final URL url = new URL(url_name);final HttpURLConnection con = (HttpURLConnection) url.openConnection();ThrDownload.file_len = con.getContentLength();} catch (final Exception e) {return false;}if (file_len == -1)return false; // 为-1说明资源分块传输无Conten_lengththr_download = new ThrDownload[num_thread];for (int i = 0; i < num_thread; i++) {thr_download[i] = new ThrDownload(i + 1); // 下载线程的初始化}thr_count = new ThrCount(); // 统计线程的初始化return true;}// 下载线程体public void run() {int L; // 读取出的字节数,为-1的话已经读取到文件末尾try {while (true) {L = in.read(b); // 读取直接到缓冲区if (L == -1)break;out.write(b, 0, L); // 将缓冲区写到保存文件len += L;finish += L;}in.close();out.close();} catch (final Exception e) {}}// 查询开始下载到现在当前已经下载的数据长度public int getLen() {return len;}// 查询当前已经保存保存的数据长度public int getFinish() {return finish;}
}// 统计线程
class ThrCount extends Thread {public static double begin_time; // 下载开始时间public static double current_time; // 当前时间public void run() {while (true) {try {TimeUnit.SECONDS.sleep(1);// 每隔一秒输出一次进度} catch (final InterruptedException ex) {}current_time = (new Date()).getTime() / 1000.0;double percent = 0;double speed = 0; // 计算下载百分比和平均下载速度for (int i = 0; i < ThrDownload.num_thread; i++) {percent += ThrDownload.thr_download[i].getFinish();speed += ThrDownload.thr_download[i].getLen();}// 输出当前进度等DecimalFormat[] df = new DecimalFormat[4]; // 将double格式化for (int i = 0; i < 4; i++)df[i] = new DecimalFormat("###.0");Download.tf1.setText("已下载文件大小:" + df[0].format(percent / 1000) + "KB / "+ df[1].format(ThrDownload.file_len / 1000) + "KB");speed = speed / 1000.0 / (current_time - begin_time); // 单位KB/Spercent /= ThrDownload.file_len;Download.tf2.setText(df[2].format(percent * 100) + "%已下载, 平均下载速度=" + df[3].format(speed) + "KB/S");Download.pb.setValue((int) (percent * 100)); // 更新进度条的进度Download.pb.repaint(); // 手动重新绘制进度条// 判断是否所有下载线程都已经结束,若否则继续下载int i;for (i = 0; i < ThrDownload.num_thread; i++)if (ThrDownload.thr_download[i].isAlive())break;if (i >= ThrDownload.num_thread) // 全部线程下载完成{for (i = 0; i < ThrDownload.num_thread; i++)ThrDownload.thr_download[i].stop();try {File destroy = new File(ThrDownload.save_name + ".cfg");if (destroy.exists()) // 存在配置文件destroy.delete();} catch (Exception e) {System.out.println(e.toString());}break;}}}
}// 输入参数对话框
class MyDialog extends JDialog implements ActionListener {JTextField input_url, input_num, input_pathname;JButton button_down, button_choose; // 确定按钮FileDialog save; // 选择保存文件的位置String url = "", pathname = "";int num; // 下载线程数MyDialog(final JFrame f, final String s) { // 传入父容器和对话框标题super(f, s);setLayout(new FlowLayout(FlowLayout.LEFT, 50, 20));setBounds(600, 260, 500, 400); // 设置对话框位置和大小setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);// 添加输入url的组件final JLabel label1 = new JLabel("输入URL:");label1.setFont(new Font("宋体", Font.BOLD, 15));add(label1);input_url = new JTextField(35);input_url.setFont(new Font("宋体", Font.BOLD, 20));input_url.setText("https://qd.myapp.com/myapp/qqteam/pcqq/PCQQ2019.exe");add(input_url);// 添加输入下载线程数的组件final JLabel label2 = new JLabel("输入下载线程数:");label2.setFont(new Font("宋体", Font.BOLD, 15));add(label2);input_num = new JTextField(35);input_num.setFont(new Font("宋体", Font.BOLD, 20));input_num.setText("5");add(input_num);// 添加输入保存文件路径名的组件final JLabel label3 = new JLabel("输入保存文件路径名:");label3.setFont(new Font("宋体", Font.BOLD, 15));add(label3);input_pathname = new JTextField(30);input_pathname.setFont(new Font("宋体", Font.BOLD, 20));input_pathname.setText("");add(input_pathname);// 文件对话框初始化save = new FileDialog(this, "选择保存位置", FileDialog.SAVE);button_choose = new JButton("...");button_choose.addActionListener(this);button_choose.setPreferredSize(new Dimension(20, 30));add(button_choose);// 添加确定按钮button_down = new JButton("确定");button_down.addActionListener(this);button_down.setFont(new Font("宋体", Font.BOLD, 20));button_down.setPreferredSize(new Dimension(100, 50));add(button_down);}public void actionPerformed(final ActionEvent e) {switch (e.getActionCommand()) {case "...":save.setVisible(true);input_pathname.setText(save.getDirectory() + save.getFile());break;case "确定":try {url = input_url.getText();URL test = new URL(url);} catch (MalformedURLException ex) { // 检查URL合法性JOptionPane.showMessageDialog(this, "URL格式错误!", "错误", JOptionPane.ERROR_MESSAGE);url = "";return;}pathname = input_pathname.getText();num = Integer.parseInt(input_num.getText());setVisible(false);break;default:break;}}public String get_url() {return url;}public int get_num() {return num;}public String get_pathname() {return pathname;}
}public class Download {private static JFrame f;public static JProgressBar pb; // 进度条public static JTextField tf1, tf2; // 编辑框组件private JButton[] bt; // 按钮组件FileDialog con_download; // 继续下载时打开配置文件的对话框private MyDialog dialog;class event_window extends WindowAdapter { // 窗口关闭事件监听public void windowClosing(final WindowEvent e) {System.exit(0);}}class event_action implements ActionListener { // 按钮点击事件监听public void actionPerformed(final ActionEvent e) {final String s = e.getActionCommand();switch (s) {case "新建下载":dialog.setVisible(true);ThrDownload.isPart = false;if (!ThrDownload.init(dialog.get_url(), dialog.get_pathname(), dialog.get_num()))tf1.setText("下载线程初始化失败!");if (dialog.get_url() != "")tf1.setText("URL:" + dialog.get_url());if (dialog.get_pathname() != "")tf2.setText("下载文件保存到" + dialog.get_pathname());break;case "继续下载":con_download.setVisible(true);// 读取配置文件String url="",save_name="";int n=0;try {ThrDownload.isPart = true;FileReader propFile = new FileReader(con_download.getDirectory()+con_download.getFile());Properties prop = new Properties();prop.load(propFile);url = prop.getProperty("URL"); // 载入URLsave_name = prop.getProperty("Dir"); // 载入路径n = Integer.parseInt(prop.getProperty("Thr")); // 载入线程数ThrDownload.start_pos = new int[n];String progress = prop.getProperty("Prog"); // 解析每个线程的进度String[] strProg = progress.split("@");if (strProg.length != n)throw new Exception("Error.");for (int i = 0; i < n; i++) ThrDownload.start_pos[i] = Integer.parseInt(strProg[i]);} catch (Exception ex) {ex.printStackTrace();}if (!ThrDownload.init(url, save_name, n))tf1.setText("下载线程初始化失败!");if (url != "")tf1.setText("URL:" + url);tf2.setText("继续下载:" + save_name);break;case "开始":ThrCount.begin_time = (new Date()).getTime() / 1000.0;for (int i = 0; i < ThrDownload.num_thread; i++)ThrDownload.thr_download[i].start(); // 所有线程开始下载ThrDownload.thr_count.start(); // 开始统计break;case "暂停": {tf2.setText("已暂停下载...");int i;for (i = 0; i < ThrDownload.num_thread; i++)if (ThrDownload.thr_download[i].isAlive())break;if (i != ThrDownload.num_thread) { // 退出时还有线程没有下载完成,保存配置文件try {Properties prop = new Properties();prop.setProperty("URL", ThrDownload.url_name);prop.setProperty("Dir", ThrDownload.save_name);prop.setProperty("Thr", Integer.toString(ThrDownload.num_thread));String temp = Integer.toString(ThrDownload.thr_download[0].getLen());for (int j = 1; j < ThrDownload.num_thread; j++) {temp = temp + "@" + Integer.toString(ThrDownload.thr_download[j].getFinish());}prop.setProperty("Prog", temp);File propFile = new File(ThrDownload.save_name + ".cfg");prop.store(new FileWriter(propFile), "");} catch (Exception ex) {ex.printStackTrace();}}for (i = 0; i < ThrDownload.num_thread; i++)ThrDownload.thr_download[i].stop();}ThrDownload.thr_count.stop();break;default:break;}}}public void init() { // 图形界面初始化// 容器和布局定义f = new JFrame("多线程下载器");f.setLayout(null);// 进度条初始化pb = new JProgressBar(0, 100);// 设置进度最小最大值pb.setValue(0); // 当前值pb.setStringPainted(true);// 绘制百分比文本(进度条中间显示的百分数)pb.setIndeterminate(false);pb.setPreferredSize(new Dimension(510, 20));f.add(pb);pb.setBounds(50, 10, 500, 30);// 对话框初始化dialog = new MyDialog(f, "输入下载参数");dialog.setModal(true);//文件对话框的初始化con_download = new FileDialog(f,"选择继续下载的配置文件",FileDialog.LOAD);// 显示框初始化tf1 = new JTextField(56);tf1.setFont(new Font("宋体", Font.BOLD, 15));tf1.setText("URL");f.add(tf1);tf1.setBounds(50, 50, 500, 30);tf2 = new JTextField(56);tf2.setFont(new Font("宋体", Font.BOLD, 15));tf2.setText("保存路径");f.add(tf2);tf2.setBounds(50, 90, 500, 30);// 按钮初始化bt = new JButton[4];bt[0] = new JButton("新建下载");bt[1] = new JButton("继续下载");bt[2] = new JButton("开始");bt[3] = new JButton("暂停");for (int i = 0; i < 4; i++) // 设置按钮字体样式bt[i].setFont(new Font("宋体", Font.BOLD, 17));for (int i = 0; i < 4; i++)f.add(bt[i]);bt[0].setBounds(50, 130, 110, 30);bt[1].setBounds(180, 130, 110, 30);bt[2].setBounds(310, 130, 110, 30);bt[3].setBounds(430, 130, 110, 30);// 添加事件监听final event_window e_w = new event_window();final event_action e_c = new event_action();f.addWindowListener(e_w);for (int i = 0; i < 4; i++) {bt[i].addActionListener(e_c);}}public void display() { // 显示窗口f.setSize(600, 230);f.setLocation(700, 350);f.setVisible(true);f.setResizable(false);}public static void main(final String args[]) {final Download a = new Download();a.init();a.display();}
}

 

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

相关文章

  1. HCIE综合实验的交换

    559805@TOC HCIE综合实验的交换部分 实验如图所示:1.划分接口并设置干道(SW1 SW2 SW3 SW4设置相同) 2.聚合3.生成树(SW1 SW2配置相同) 4.调根 SW1SW25.静态6.实例PC1端测试7.利用DHCP进行地址分配 SW18.端口安全配置9.实例PC3端测试...

    2024/4/4 20:34:47
  2. SFR 原理分析 代码

    mtf https://blog.csdn.net/qq_35608277/article/details/107134070 在表示相机图像解析力时,通常采用MTF50或者MTF50P。 MTF50是当MTF数值下降至最大值的50%时,对应的频率(Cycle Per Pixel),它是一个广泛应用的锐利度衡量标准。但是它有一个重大的缺陷,就是当影像模组内部…...

    2024/4/16 6:45:25
  3. CF 1371C. A Cookie for You

    题目 题目链接:https://codeforc.es/contest/1371/problem/C 代码 #include<cstdio> #include<cstring> #include<cmath> #include<cstdlib> #include<cctype> #include<ctime> #include<iostream> #include<string> #includ…...

    2024/5/5 18:37:08
  4. Reptile

    Paper : On First-Order Meta-Learning Algorithms Code :摘要 作者仿照FOMAML(一阶近似MAML)的方法提出了Reptile算法进行元学习,Reptile与FOMAML同样只利用了一阶梯度信息,但是理论分析了Reptitle可以使用SGD对二阶梯度信息进行近似,因此相比MAML取得了更优的结果。本文的…...

    2024/4/16 6:45:30
  5. linux常用命令(七)——网络命令

    1. write 所在路径:、usr/bin/write 执行权限:所有用户 语法:write <用户名> 功能描述:给用户发消息,以Ctrl+D保存结束 2. wall 英文原意:write all 所在路径:/usr/bin/wall 执行权限:所有用户 语法:wall [message] 功能描述:发广播信息 3. ping 所在路径:/bi…...

    2024/4/16 6:45:35
  6. mybatis的动态sql

    首先做项目准备,导入上一篇mybatis入门的pom文件,java文件和配置文件,这是文件列表动态sql的if和where标签 首先在持久层中写入一个根据条件查询的方法 /*** 根据条件查询* @param user* @return*/List<User> findByCondition(User user);然后在同级的xml文件中写入ma…...

    2024/4/17 22:11:48
  7. 【MySql】06 笔记 Mysql 并发场景下的锁

    一、介绍 1、出现并发访问的时候,锁就是用来实现这些访问规则的重要数据结构。 2、根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类 二、全局锁 1、全局锁就是对整个数据库实例加锁。 2、MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with re…...

    2024/4/16 6:46:21
  8. 最新ios课程推荐,关东升ios好课,从小白到大牛班的课程

    最新ios课程推荐,关东升ios好课,从小白到大牛班的课程点击这查看课程it猿课(www.ityuanke.com)大量优质it课程,爱学习的程序员 都在这【精选课程目录】 1、第一章节【OC基础课程讲解】 第1讲-从入门到精通objectc-Objective-C课程概述.wmv 第2讲-从入门到精通objectc-基本的数…...

    2024/4/28 4:20:26
  9. 判断程序中循环的进度方法整理

    可用于神经网络的训练进度显示和数据预处理进度显示 1.直接打印法 代码如下:n=5for i in range(0, n):print("progress:{}%".format(round((i + 1) * 100 / n)))https://blog.csdn.net/scut_salmon/article/details/79660099 结果如下:但是很明显这样会一行一行刷新…...

    2024/4/26 12:22:36
  10. 设计模式 2 - UML类图介绍

    一、UML基本介绍1) UML——Unified modeling language UML (统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果2) UML本身是一套符号的规定,就像数学符号和化学符号一样,这些符号用于描述软件模型中的各个元素和他…...

    2024/4/20 11:50:14
  11. 基于matplotlib.pyplot画任意函数的图像

    2020高考数学 理科一卷 导数题 #!/usr/bin/env python #-*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt# 画任意函数的图像 # 指定函数表达式 def function(x):return (x + 0.5 * np.power(x, 3) + 1 - np.power(np.e, x))/(x**2) # 生成 data y d…...

    2024/4/16 6:46:31
  12. Qt与Visual Assitst X的集成问题

    Qt与Visual Assitst X的集成问题Visual Assist X具有强大的编辑特色,提高了生产效率,可以完全集成到Microsoft开发环境中。它能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有助于提高 开发过程的自动化和开发效率。 QT…...

    2024/4/1 2:08:08
  13. LeetCode 255. 验证前序遍历序列二叉搜索树(单调栈)*

    文章目录1. 题目2. 解题2.1 递归超时解2.2 单调栈 1. 题目 给定一个整数数组,你需要验证它是否是一个二叉搜索树正确的先序遍历序列。 你可以假定该序列中的数都是不相同的。 参考以下这颗二叉搜索树:5/ \2 6/ \1 3 示例 1: 输入: [5,2,6,1,3] 输出: false示例 2: 输入…...

    2024/4/20 8:41:57
  14. 每日一解 路径总和

    题目 路径总和 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22,5/ \4 8/ / \11 13 4/ \ \7 2 1返回 t…...

    2024/4/18 12:06:24
  15. BUUCTF__[BJDCTF2020]Easy MD5_题解

    转载自https://blog.csdn.net/TM_1024/article/details/107174988 读题打开一个查询窗口。看url有一个get传入的password变量,f12也没有什么提示。盲猜sql注入,尝试一般方法,没有一点反应。抓包发现在响应头里有提示。hint还能放这。。。看到sql查询语句。select * from adm…...

    2024/4/18 14:35:00
  16. 【论文笔记】CVPR2020 Multi-scale Domain-adversarial Multiple-instance CNN for Cancer Subtype Classificatio

    又一篇CVPR2020的histo image的文章,cancer subtype classificationContributioncancer subtype classification 面临三个问题:tumour and non-tumour regions are mixed, patch label is unavailable staining conditions vary greatly when the magnification of image cha…...

    2024/4/16 6:46:21
  17. px、em、rem区别 pt ppi dpi vw vh

    px像素实际上是一个颜色点,所以又称像素点。大量不同颜色点组成一张图像,因此图像的基本单位是像素px(没有比像素更精细的单位了)。 像素主要用来表示图像大小和显示器分辨率(如1920*1080px)。像素本身的物理尺寸不固定,所以它的物理尺寸没有意义,有意义的是它的数量。…...

    2024/5/5 19:04:49
  18. Java中Synchronized和ReentrantLock锁的学习记录

    这个月忙着期末考试还有项目对接的事情,忙着忙着就没怎么更新博客了😭 今天请假考试顺便整理下几篇大佬的博客,便于后面复习。 1.Synchronized锁实现原理: 在字节码层面上看,这种加锁方式会在同步块的前后分别加上monitorenter和monitorexit这个两个字节码指令。 (这一段…...

    2024/3/28 18:40:18
  19. Markdown使用emoji

    前几天写博客,误打误撞发现md也是支持emoji的,真是神奇! 例子: :smile:😄 :cry:😢 :angry:😠 :wink:😉 :grimacing:😬 上网搜了下,还有个收录的网站,里面有大量的emoji:emoji-cheat-sheet 感受一下:...

    2024/4/16 6:46:36
  20. codeblosk中文注释乱码和一些头文件的不能使用的问题解决方法(error: failure to convert GBK to UTF-8|)

    主页面点击右上角settings->compiler 然后点击下图箭头最后按照下图更改编码格式即可。-finput-charset=UTF-8 -fexec-charset=GBK...

    2024/5/2 12:13:30

最新文章

  1. rknn adb shell error: closed

    博主的答案&#xff1a; 【Android测试】adb shell回车后出现 error closed的解决办法-CSDN博客 第1种&#xff1a;重启电脑&#xff0c;之后把手机查到电脑上&#xff0c;启动idea 第2种&#xff1a;手机-设置-应用程序-开发-usb调试打开再关闭一次 第3种&#xff1a;重启手…...

    2024/5/5 19:21:43
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. Unity核心学习

    目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…...

    2024/5/5 8:40:53
  4. ssm框架中各层级介绍

    1、Spring&#xff08;业务逻辑层&#xff09;&#xff1a; Spring框架提供了依赖注入&#xff08;DI&#xff09;和面向切面编程&#xff08;AOP&#xff09;等功能&#xff0c;可以帮助管理Java应用程序中的对象依赖关系和提供横切关注点的支持。 在SSM框架中&#xff0c;S…...

    2024/5/3 3:42:05
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

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

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

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

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

    2024/5/4 18:20:48
  15. 【外汇早评】美伊僵持,风险情绪继续升温

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

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

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

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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