目录

一、动态代理(Jdk动态代理和CGLib代理)

Jdk动态代理

在com.itheima.jdk包下,创建UserDao接口及其实现类UserDaoImpl类

在包com.itheima.aspect下创建MyAspect切面类

创建代理类

 创建测试类

运行效果

总结

CGLib代理

在包com.itheima.cglib下,创建目标类

使用切面类

 创建测试类

运行效果

总结

二、基于代理类的AOP实现

导包

本案例引用CGLib的目标类UserDao作为本案例的目标类

创建切面类

创建配置文件

创建测试类

运行效果

总结

三、AspectJ开发(基于Xml声明式和基于注解的声明式)

基于Xml声明式

目标类有接口和实现类

切面类

配置文件

测试类

运行效果

总结

基于注解的声明式

目标类

切面类

配置文件

测试类

运行效果

总结


 

 

 

首先,导入Spring的四个核心包和第三方依赖包在lib目录下,并添加到工作路径中。

其他包是后面的代码案例中需要用到的

一、动态代理(Jdk动态代理和CGLib代理)

Jdk动态代理

在com.itheima.jdk包下,创建UserDao接口及其实现类UserDaoImpl类

package com.itheima.jdk;public interface UserDao {public void addUser();public void deleteUser();
}

 

package com.itheima.jdk;import org.springframework.stereotype.Repository;public class UserDaoImpl implements UserDao {@Overridepublic void addUser() {System.out.println("添加用户");}@Overridepublic void deleteUser() {System.out.println("删除用户");}}

在包com.itheima.aspect下创建MyAspect切面类

package com.itheima.aspect;public class MyAspect {public void check_Permissions() {System.out.println("模拟检查权限。。。");}public void log() {System.out.println("模拟记录日志。。。");}
}

 

创建代理类

package com.itheima.jdk;import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;import com.itheima.aspect.MyAspect;public class JdkProxy implements InvocationHandler {//声明目标类private UserDao userDao; public Object createProxy(UserDao userDao1) {userDao = userDao1;//类加载器ClassLoader classLoader = JdkProxy.class.getClassLoader();//实现的目标类的所有接口Class[] clazz = userDao.getClass().getInterfaces();//使用代理类,进行增强,返回的是代理类对象return Proxy.newProxyInstance(classLoader, clazz, this);}@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {MyAspect myAspect = new MyAspect();myAspect.check_Permissions();//前增强Object obj = method.invoke(userDao, args);myAspect.log();//后增强return obj;}}

 创建测试类

package com.itheima.jdk;public class JdkTest {public static void main(String[] args) {JdkProxy jdkProxy = new JdkProxy();UserDao userDao = new UserDaoImpl();UserDao userDao1 = (UserDao) jdkProxy.createProxy(userDao);userDao1.addUser();userDao1.deleteUser();}
}

运行效果

 

总结

创建一个目标类的接口和目标类(被增强的类),创建一个切面类(其方法被织入到目标类中的类),创建一个动态代理类(生成被增强后的类的对象)

jdk动态代理类继承java.lang.reflect.InvocationHandler,声明目标类的接口,创建返回被增强后的类的对象的方法,重写其方法invoke()。

创建返回被增强后的类的对象的方法时,将传入的目标类赋值给声明的目标类的接口,获得代理类自身的类加载器和实现的目标类的所有接口数组,返回Proxy.newProxyInstance(classLoader, clazz, this);

重写其方法invoke时,要实例化一个该切面类的对象,用于调用相应的方法来设置前增强和后增强,中间的调用目标类方法使用method.invoke(userDao, args);

目标类必须有接口

CGLib代理

在包com.itheima.cglib下,创建目标类

package com.itheima.cglib;public class UserDao {public void addUser() {System.out.println("添加用户。。。");}public void deleteUser() {System.out.println("删除用户。。。");}
}

使用切面类

package com.itheima.aspect;public class MyAspect {public void check_Permissions() {System.out.println("模拟检查权限。。。");}public void log() {System.out.println("模拟记录日志。。。");}
}

创建CGLib代理类

package com.itheima.cglib;import java.lang.reflect.Method;import org.springframework.cglib.proxy.Enhancer;
import org.springframework.cglib.proxy.MethodInterceptor;
import org.springframework.cglib.proxy.MethodProxy;import com.itheima.aspect.MyAspect;
//代理类
public class CglibProxy implements MethodInterceptor {public Object createProxy(Object target) {
//		创建一个动态类对象Enhancer enhancer = new Enhancer();
//		设置需要增强的类的父类enhancer.setSuperclass(target.getClass());
//		添加回调函数enhancer.setCallback(this);
//		返回创建的代理类return enhancer.create();}/** proxy CGLIB根据指定父类生成的代理对象* method 拦截的方法* args 拦截方法的参数数组* methodProxy 方法的代理对象,用于执行父类的方法*/@Overridepublic Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {
//		创建切面类对象MyAspect myAspect = new MyAspect();
//		前增强myAspect.check_Permissions();
//		目标方法执行Object obj = methodProxy.invokeSuper(proxy, args);
//		后增强myAspect.log();return obj;}}

 创建测试类

package com.itheima.cglib;public class CglibTest {public static void main(String[] args) {CglibProxy cglibProxy = new CglibProxy();UserDao userDao = new UserDao();
//		获取被增强后的目标对象UserDao userDao1 = (UserDao) cglibProxy.createProxy(userDao);
//		执行方法userDao1.addUser();userDao1.deleteUser();}}

运行效果

总结

创建目标类、切面类、代理类和测试类

目标类不需要接口

切面类和上例中相同,定义了通知(加入目标类的方法)

代理类继承MethodInterceptor, 创建一个返回被增强目标类的对象的方法,重写方法invoke()

创建一个返回被增强目标类的对象的方法时,创建一个动态类Enhancer的对象,设置需要增强的类为该对象的父类,设置回调函数为当前类,返回enhancer.create()。

重写方法invoke()方法时,实例化一个切面类的对象,调用相应的方法为前增强和后增强。调用目标方法用 methodProxy.invokeSuper(proxy, args)

 

二、基于代理类的AOP实现

导包

使用AOP框架实现切面编程,需要再导入两个jar包

本案例引用CGLib的目标类UserDao作为本案例的目标类

无需再创建

package com.itheima.cglib;public class UserDao {public void addUser() {System.out.println("添加用户。。。");}public void deleteUser() {System.out.println("删除用户。。。");}
}

 

创建切面类

package com.itheima.factorybean;import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;public class MyAspect implements MethodInterceptor {@Overridepublic Object invoke(MethodInvocation mi) throws Throwable {check_Permissions();//执行目标方法Object obj = mi.proceed();log();return obj;}public void check_Permissions() {System.out.println("权限检查、、、、");}public void log() {System.out.println("记录日志、、、、");}}

创建配置文件

<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.3.xsd"><bean id="userDao" class="com.itheima.jdk.UserDaoImpl"></bean><bean id="myAspect" class="com.itheima.factorybean.MyAspect"></bean><bean id="userDaoProxy"class="org.springframework.aop.framework.ProxyFactoryBean"><property name="proxyInterfaces" value="com.itheima.jdk.UserDao" /><property name="target" ref="userDao" /><property name="interceptorNames" value="myAspect" /><property name="proxyTargetClass" value="true"/></bean></beans>

创建测试类

package com.itheima.factorybean;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.itheima.jdk.UserDao;//测试类
public class ProxyFactoryBeanTest {public static void main(String[] args) {String xmlPath = "com/itheima/factorybean/applicationContext.xml";ApplicationContext applicationContext = newClassPathXmlApplicationContext(xmlPath);UserDao userDao = (UserDao) applicationContext.getBean("userDaoProxy");//执行方法userDao.addUser();userDao.deleteUser();}}

运行效果

总结

创建目标类、切面类、配置文件和测试类。不需要创建代理类的代码

切面类实现MethodInterceptor接口,定义前增强和后增强的方法,并在invoke方法中调用,中间的调用目标方法用mi.proceed(),返回

Object obj = mi.proceed();的obj。

配置文件:配置目标类和切面类的bean属性id和class,此外,还需要配置代理类的bean。

配置代理类的bean属性id和class(org.springframework.aop.framework.ProxyFactoryBean),其子元素还需配置proxyInterface(代理实现的接口)、target(代理的目标对象)、interceptorNames(需要织入目标类的通知即切面类)和ProxyTargetClass(代理方式)

 

三、AspectJ开发(基于Xml声明式和基于注解的声明式)

要使用AspectJ开发,除开Spring的主要jar包和第三方依赖包外,还需要两个类AspectJ的相关jar包。一共使用到的jar包如下:

两个剪头指着的是AspectJ的jar包

基于Xml声明式

目标类有接口和实现类

这里的目标类和jdk动态代理类里的目标类相同,可以直接引用,在配置文件里设置为之前的路径,也可以自己创建在切面类的包里,但是配置文件时,需要注意配置目标类包路径,代码:

package com.itheima.jdk;public interface UserDao {public void addUser();public void deleteUser();
}
package com.itheima.jdk;import org.springframework.stereotype.Repository;@Repository("userDao")
public class UserDaoImpl implements UserDao {@Overridepublic void addUser() {System.out.println("添加用户");}@Overridepublic void deleteUser() {System.out.println("删除用户");}}

切面类

package com.itheima.aspectj.xml;import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;/** 切面类,在此类中编写通知*/
public class MyAspect {
//	前置通知public void myBefore(JoinPoint joinPoint) {System.out.println("前置通知:模拟执行权限检查,,,");System.out.println("目标类是:"+joinPoint.getTarget());System.out.println(",被植入增强处理的目标方法是:"+joinPoint.getSignature().getName());}//	后置通知public void myAfterReturning(JoinPoint joinPoint) {System.out.println("后置通知:模拟记录日志。。。。");System.out.println("被植入增强处理的目标方法是:"+joinPoint.getSignature().getName());}/** 环绕通知* ProceedingJoinPoint 是JoinPoint子接口,表示可以执行目标方法* 必须事Object的返回类型* 必须接收一个参数,类型为ProceedingJoinPoint* 必须throw Throwable*/public Object myAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable{
//		开始System.out.println("环绕开始:执行目标方法开始之前,模拟开启事务");
//		执行当前目标方法Object obj = proceedingJoinPoint.proceed();//结束System.out.println("环绕结束:执行目标方法之后,模拟关闭事务");return obj;}//异常通知public void myAfterThrowing(JoinPoint joinPoint,Throwable e) {System.out.println("异常通知:"+"出错了"+e.getMessage());}//最终通知public void myAfter() {System.out.println("最终通知:模拟方法结束后的释放资源。。。");}}

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.3.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.3.xsd"> <!-- 目标类 --><bean id="userDao" class="com.itheima.jdk.UserDaoImpl"></bean><!-- 切面 --><bean id="myAspect" class="com.itheima.aspectj.xml.MyAspect"></bean><!-- aop编程 --><aop:config><!-- 配置切面 --><aop:aspect ref="myAspect"><!-- 切入点 --><aop:pointcut id="myPointCut" expression="execution(* com.itheima.jdk.*.*(..))" /><!-- 关联通知advice和pointcut切入点 --><!-- 前置通知 --><aop:before method="myBefore" pointcut-ref="myPointCut"/>  	<!-- 后置通知 在方法返回之后执行,就可以获得返回值 returning属性:用于设置后置通知的第二个参数的名字,类型是Object --><aop:after-returning method="myAfterReturning" pointcut-ref="myPointCut"returning="returnVal"/> 	<!-- 环绕通知 --><aop:around method="myAround" pointcut-ref="myPointCut"/><!-- 抛出通知  :用于处理程序发生异常注意:如果程序没有发生异常,就不会发生增强throwing属性:用于设置通知的第二个属性的名字,类型Throwable--><aop:after-throwing method="myAfterThrowing" pointcut-ref="myPointCut" throwing="e"/><!-- 最终通知 :无论程序发生任何事情,都要执行--><aop:after method="myAfter" pointcut-ref="myPointCut" /></aop:aspect>  </aop:config>   
</beans>

 

测试类

package com.itheima.aspectj.xml;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.itheima.jdk.UserDao;public class TestXmlAspectj {public static void main(String[] args) {String xmlPath = "com/itheima/aspectj/xml/applicationContext.xml";ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);UserDao userDao = (UserDao) applicationContext.getBean("userDao");userDao.addUser();}}

运行效果

总结

基于Xml声明式的AspectJ开发,参与的文件:目标类、切面类、配置文件和测试类

切面类不需要实现任何接口,像普通的类一样,但需要创建前置通知、后置通知、环绕通知、异常抛出通知和最后通知的相应方法。

配置文件:除开要配置目标类和切面类的bean属性id与class外,还需要通过标签<aop:config>的子元素配置切面、切入点、前置通知、后置通知、环绕通知、异常通知和最后通知。

配置切面<aop:aspect >属性只有ref="切面类id"

切入点<aop:pointcut>属性id,expression,值"execution(* com.itheima.jdk.*.*(..))"

所有的通知都有属性method值为切面类中相应的方法、pointcut-ref值为切入点的id

 

基于注解的声明式

目标类

引用在com.itheima.jdk包下的类UserDaoImpl类,在该类上添加注解@Repository("userDao")

package com.itheima.jdk;import org.springframework.stereotype.Repository;@Repository("userDao")
public class UserDaoImpl implements UserDao {@Overridepublic void addUser() {System.out.println("添加用户");}@Overridepublic void deleteUser() {System.out.println("删除用户");}}

切面类

package com.itheima.aspectj.annotion;import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;/** 切面类,在此类中编写通知*/
@Aspect
@Component
public class MyAspect {//定义切入点表达式@Pointcut("execution(* com.itheima.jdk.*.*(..))")//使用一个返回值为void,方法体为空的方法来命名切入点private void myPointCut() {}
//	前置通知@Before("myPointCut()")public void myBefore(JoinPoint joinPoint) {System.out.println("前置通知:模拟执行权限检查,,,");System.out.println("目标类是:"+joinPoint.getTarget());System.out.println(",被植入增强处理的目标方法是:"+joinPoint.getSignature().getName());}//	后置通知@AfterReturning(value="myPointCut()")public void myAfterReturning(JoinPoint joinPoint) {System.out.println("后置通知:模拟记录日志。。。。");System.out.println("被植入增强处理的目标方法是:"+joinPoint.getSignature().getName());}/** 环绕通知* ProceedingJoinPoint 是JoinPoint子接口,表示可以执行目标方法* 必须事Object的返回类型* 必须接收一个参数,类型为ProceedingJoinPoint* 必须throw Throwable*/@Around("myPointCut()")public Object myAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable{
//		开始System.out.println("环绕开始:执行目标方法开始之前,模拟开启事务");
//		执行当前目标方法Object obj = proceedingJoinPoint.proceed();//结束System.out.println("环绕结束:执行目标方法之后,模拟关闭事务");return obj;}//异常通知@AfterThrowing(value="myPointCut()",throwing="e")public void myAfterThrowing(JoinPoint joinPoint,Throwable e) {System.out.println("异常通知:"+"出错了"+e.getMessage());}//最终通知@After("myPointCut()")public void myAfter() {System.out.println("最终通知:模拟方法结束后的释放资源。。。");}	}

 

配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.3.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.3.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 指定扫描的包,使注解生效 --><context:component-scan base-package="com.itheima"></context:component-scan><!-- 启动基于注解的声明式AspectJ的支持 --><aop:aspectj-autoproxy></aop:aspectj-autoproxy></beans>

测试类

package com.itheima.aspectj.annotion;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import com.itheima.jdk.UserDao;public class TestAnnotion {public static void main(String[] args) {String xmlPath = "com/itheima/aspectj/annotion/applicationContext.xml";ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);UserDao userDao = (UserDao) applicationContext.getBean("userDao");userDao.addUser();}}

 

运行效果

总结

目标类、切面类、配置文件和测试类

目标类:在目标类上添加注解@Repository,并设置id即可

切面类:在该类上方添加注释@Aspect和@Component。需要创建一个方法作为切入点,并在该方法上添加注释@Pointcut,属性值为expression的值。

此外的代码和基于xml案例中的代码相同,只是在相应的通知上添加了注解和切入点属性值,前置通知(@Before),后置通知(@AfterReturning),环绕通知(@Around),异常抛出通知(@AfterThrowing),最后通知(@After)

配置文件:无需配置相应类的bean,只需要配置基于注解的声明式AspectJ的支持和扫描的包

<context:component-scan base-package="com.itheima">

<aop:aspectj-autoproxy>

 

 

 

 

 

 

 

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

相关文章

  1. 阿里Java学习路线:阶段 1:Java语言基础-Java面向对象编程:第6章:面向对象案例分析:课时22:案例分析四(Accout)

    案例分析四 构造一个银行账户类,类的构成包括如下内容: (1)数据成员用户的账户名称、用户的账户余额(private数据类型)。 (2)方法包括开户(设置账户名称及余额),利用构造方法完成。 (3)查询余额。 class Account {private String name ;private double balance ;p…...

    2024/4/23 16:04:55
  2. 网站备案到底是指的是『域名』备案还是『服务器空间』备案?

    简单来说:域名购买以后,只需要实名认证,一般1-3天,实际可能1~3分钟就审核完了(没有备案一说) 再买个服务器,将域名绑定到服务器,短时间能访问 很快,再输入域名访问网站,服务器的运营商就会弹出阻止页面:你需要备案了! 所以总结是:域名解析到某个服务器的这整个过程…...

    2024/4/28 5:52:16
  3. 发布订阅模式以及 EventEmitter 类的实现

    在前端开发中,经常会使用到发布订阅模式,发布订阅模式也被称为观察者模式。最常见的发布订阅模式莫过于给 DOM 绑定事件,当点击一个按钮或者鼠标移动到某个元素上就会触发事件监听函数,然后弹出一个文本框或者改变元素样式。 div.addEventListener("click", () =…...

    2024/4/23 16:04:49
  4. 数据库字段未更新

    文章目录场景发现问题原因问题分析问题解决 场景内推过来的用户,账号状态为未激活,只有当用户通过手机走注册流程,才激活账号(正常状态)发现问题原因新需求:需要对刚注册用用户实时打标(涉及业务知识可忽略),之前发MQ逻辑是在完成注册时发,这里的注册包括账号是未激活状态…...

    2024/4/23 16:04:45
  5. 使用ADAMS对子弹出膛进行仿真

    新建枪管对其抽壳 选择抽壳厚度选择抽壳物体选择抽壳面右键确定,完成抽壳新建子弹 子弹用球体替代,且直径小于枪管的内径新建枪栓 枪栓是用来推动子弹打出子弹膛的,我们也用圆柱替代参数设置位置设定调整枪栓和子弹的相对位置 因为子是从枪管内部打出去的,所以我们将子弹移…...

    2024/4/28 1:32:04
  6. 心力哲学——艰难多变环境下快乐、自由与生存力的源泉(三)

    受疫情影响,全国范围内各种黑天鹅事件层出不穷,难以预测,正常的经贸活动已经受到阻碍,发展为健康弯腰,给经济带来了极大的负面冲击,世界格局与秩序加速转变,我们正在经历千年未有之大变局,生存环境日复多变且弥艰。而越是艰苦的环境,越考验我们的生存力,越是复杂的环…...

    2024/4/23 16:04:43
  7. java(二)-抽象类,接口、代码块、final、单例、枚举

    day02【抽象类,接口、代码块、final、单例、枚举】 今日内容(记住语法)抽象类拥有抽象方法的类就是抽象类。 抽象方法:是只有方法签名没有方法体,必须用abstract修饰。 抽象类本身也要用abstract修饰的,作用是让子类继承,子类一定要重写抽象方法。 模板思想,设计模板模式…...

    2024/4/23 16:04:42
  8. 事件模式与spring中的使用

    面试开始: 面试官:看你是85年的 我:嗯,35了 面试官:那应该经验很丰富了,那我们来聊聊spring吧 我:好,这块我用了10几年了,你随便问吧 面试官:Spring中的事件用过么? 我:用过 面试官:可以介绍一下为什么需要使用事件么? 我:使用事件的模式可以对系统进行解耦,事…...

    2024/4/23 16:04:44
  9. java(三)【多态、代码块、包、权限修饰符、内部类,Object类】

    day03【多态、包、权限修饰符、内部类,Object类,Date类】 今日内容多态(重点):面向对象的三大特征之一:封装,继承,多态。代码块已经讲完了。包包我们介绍一下就好了权限修饰符介绍一下: private -> 缺省 -> protected -> public内部类(很抽象)知识完整性(5大…...

    2024/4/16 23:55:03
  10. 从0到1用云开发+vant组件实现酒店小程序全栈开发(前台+后台),毕设经验分享,避坑指南!【点赞+收藏】

    第一篇:系统介绍及前台功能展示前言系统介绍功能展示前台(1)订房(2)进入服务页及连wifi(3)点餐(4)报名活动(5)旅游攻略推荐(6)我的订单(7)彩蛋 前言 花了1个半月做了我的毕设——酒店小程序,每天心情都随着bug的调试起伏不定。期间,踩了不少坑,多亏各种经验贴…...

    2024/4/28 12:50:50
  11. (2)你真的会用Chrome devtool吗?

    本文首发于我的个人博客: https://teobler.comPerformance Performance API 有的时候我们可能会想测试一下用户的某一个操作要消耗多少时间,而通常一般人会这么做: const start = new Date().getTime();// do your workconst end = new Date().getTime();console.log(end - …...

    2024/4/20 3:06:00
  12. 浅谈winXP中硬件配置文件的妙用

    转载自品略图书馆 http://www.pinlue.com/article/2020/05/2309/5610594646410.html说起硬件配置文件,有很多朋友都忽略了它在Windows XP中所起的作用,其实如果利用得当的话,可以大大提高系统的工作效率。什么是硬件配置文件所谓硬件配置文件,是指在启动计算机时告诉Window…...

    2024/4/16 23:55:57
  13. Leetcode-14 最长公共前缀

    一、题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 说明: 所有输入…...

    2024/4/16 23:56:09
  14. 实验电路的放大器伴侣:LMV358

    在很多的一些基于电路板的电子实验中,常常需要将某一信号进行放大若干倍,然后再输出。下面这个机遇LMV358的放大器就是用来节省面包板空间,而独立提供一定增益的放大器模块的。01设计实验电路1 使用LMV358可以工作在单电源5V下。它具有两路OPAMP。设计原则:板内集成中点电压…...

    2024/4/16 23:55:51
  15. mysql uuid查询利用不重复

    mysql批量插入不重复uuid数据(insert select 语法)问题描述:1. 通过select replace(uuid(), -, ) , 生成的uuid全部重复。(可能是navicat执行顺序的问题)2. select uuid() ,生成的uuid不重复。但是有“-”且长度太长,不符合要求。完美解决:修改为:select md5(uuid())...

    2024/4/18 1:47:01
  16. VirtualBox安装和配置虚拟主机

    1、 安装VirtualBox 详细看https://blog.csdn.net/qinjava/article/details/106025928 2新建3、 4、分配内存大小5、选择硬盘大小6、创建虚拟硬盘7、设置网络8、启动,选择linux镜像选择install centOS 79、设置密码完成后启动解决ifconfig command not found 问题(如果没看见…...

    2024/4/18 18:46:37
  17. git 使用笔记 branch和tag

    branch指的是分支tag指的是快照如果创建了一个软件仓库,可以一边修改一遍打tag;如果基于某个代码有两种不同的修改这就是两个branch了.显示当前仓库的所有分支git branch显示某个分支的所有taggit tag切换到某个分支git checkout -b branch_name tag_name切换到某个taggit chec…...

    2024/4/23 16:04:43
  18. 单片机74HC154译码器应用

    单片机74HC154译码器应用 硬件连接:代码: #include <reg52.h> #define uint unsigned int #define uchar unsigned charvoid Delay(uint x) {uchar i;while(x--){for(i=0;i<120;i++);} }void main() {while(1){P2 = (P2+1)%16;Delay(50);} }...

    2024/4/25 18:21:18
  19. python flask 跨域问题 解决方法

    问题网页上(client)有一个ajax请求,Flask sever是直接返回 jsonify。然后ajax就报错:No Access-Control-Allow-Origin header is present on the requested 原因ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法…...

    2024/4/23 16:04:46
  20. WPF学习笔记——7)Canvas面板

    Canvas面板是一种根据具体坐标信息来确定元素布局位置的一种容器,是一种轻量化的布局容器。1、Canvas面板首先我们新建一个WPF程序,在默认的XAML中将原始的Grid布局容器删除。从工具箱中拖入Canvas控件进入窗口,去掉Canvas的长宽限制。如果我们这时把按钮组件拖入Canvas面板…...

    2024/4/23 5:24:24

最新文章

  1. 网页模版如何用

    现在的网页模版已经得到了许多人的喜爱和使用。随着人们对互联网的需求不断增加&#xff0c;更多的公司和组织需要拥有自己的网站&#xff0c;以推广他们的品牌和服务。而网页模版为他们提供了一个简单而高效的方法来创建自己的网站。 网页模版是预先设计好的网站模板&#xff…...

    2024/4/29 2:50:26
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. 基于Swin Transformers的乳腺癌组织病理学图像多分类

    乳腺癌的非侵入性诊断程序涉及体检和成像技术&#xff0c;如乳房X光检查、超声检查和磁共振成像。成像程序对于更全面地评估癌症区域和识别癌症亚型的敏感性较低。 CNN表现出固有的归纳偏差&#xff0c;并且对于图像中感兴趣对象的平移、旋转和位置有所不同。因此&#xff0c;…...

    2024/4/28 13:37:21
  4. redis之主从复制、哨兵模式

    一 redis群集有三种模式 主从复制&#xff1a; 主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。 主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简单的故障恢复。 缺陷&#xff1a; 故障恢复无法自动化&…...

    2024/4/28 3:24:26
  5. 【VTKExamples::Meshes】第七期 TableBasedClipDataSetWithPolyData

    很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例TableBasedClipDataSetWithPolyData,并解析接口vtkTableBasedClipDataSet,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你…...

    2024/4/26 6:46:58
  6. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/28 13:52:11
  7. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/28 3:28:32
  8. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

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

    2024/4/28 13:51:37
  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/28 15:57:13
  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/28 5:48:52
  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